Note
Go to the end to download the full example code.
Project Connections#
In this example, we show how to use AequilibraE’s database connections within a project.
References
See also
Several functions, methods, classes and modules are used in this example:
# Imports
from uuid import uuid4
from tempfile import gettempdir
from pathlib import Path
import geopandas as gpd
import pandas as pd
from aequilibrae.utils.create_example import create_example
# We create the example project inside our temp folder.
fldr = Path(gettempdir()) / uuid4().hex
project = create_example(fldr, "sioux_falls")
All AequilibraE projects present three types of connections in the form of properties:
Spatial connection to the project database
General connection to the results database
Spatial connection to the transit database
Each connection can be easily accessed as follows:
with project.db_connection as conn:
matrices = pd.read_sql("SELECT * FROM matrices", conn)
matrices
As the project database connection is spatial, it can also be used to query spatial data directly.
with project.db_connection as conn:
nodes = gpd.read_postgis("SELECT zone_id, ST_AsBinary(geometry) geom FROM zones;", con=conn, geom_col="geom", crs=4326)
nodes.head()
For accessing both results and transit databases, the procedure is the same.
When you’re done, don’t forget to close the project.
project.close()
Total running time of the script: (0 minutes 3.037 seconds)