Importing from Open Street Maps#

Please review the information Open Streeet Maps

Note

ALL links that cannot be imported due to errors in the SQL insert statements are written to the log file with error message AND the SQL statement itself, and therefore errors in import can be analyzed for re-downloading or fixed by re-running the failed SQL statements after manual fixing

Python limitations#

As it happens in other cases, Python’s usual implementation of SQLite is incomplete, and does not include R-Tree, a key extension used by Spatialite for GIS operations.

For this reason, AequilibraE’s default option when importing a network from OSM is to NOT create spatial indices, which renders the network consistency triggers useless.

If you are using a vanilla Python installation (your case if you are not sure), you can import the network without creating indices, as shown below.

from aequilibrae.project import Project

p = Project()
p.new('path/to/project/new/folder')
p.network.create_from_osm(place_name='my favorite place')
p.conn.close()

And then manually add the spatial index on QGIS by adding both links and nodes layers to the canvas, and selecting properties and clicking on create spatial index for each layer at a time. This action automatically saves the spatial indices to the sqlite database.

Adding Spatial indices with QGIS

If you are an expert user and made sure your Python installation was compiled against a complete SQLite set of extensions, then go ahead an import the network with the option for creating such indices.

from aequilibrae.project import Project

p = Project()
p.new('path/to/project/new/folder/')
p.network.create_from_osm(place_name='my favorite place', spatial_index=True)
p.conn.close()

If you want to learn a little more about this topic, you can access this blog post or check out the SQLite page on R-Tree.

If you want to take a stab at solving your SQLite/SpatiaLite problem permanently, take a look at this other blog post.

Please also note that the network consistency triggers will NOT work before spatial indices have been created and/or if the editing is being done on a platform that does not support both RTree and Spatialite.