Exports¶
Every export reads a built database and keeps the edge_id as the id in the target format
(SUMO edge id, MATSim link id, GMNS link_id, OpenDRIVE road id, a GIS attribute). So anything
you keyed on an edge_id in duckOSM (counts, speeds, sensor data) joins straight onto the
exported network.
Which export for which tool¶
| You use | Export | Command |
|---|---|---|
| SUMO | SUMO .net.xml |
duckosm sumo |
| MATSim, BEAM, eqasim | MATSim network.xml, plus lanes and signals |
duckosm matsim, matsim-lanes |
| DTALite, Path4GMNS, other GMNS tools | GMNS tables (DuckDB or CSV), plus meso / micro networks | duckosm gmns |
| QGIS, ArcGIS, FME, Visum, Aimsun importers | GeoPackage or shapefile | duckosm export-gis |
| Python analysis | networkx graph, GraphML, gpickle | duckosm export-graph |
| CARLA, esmini, Vissim | OpenDRIVE .xodr (experimental) |
duckosm opendrive |
| Autoware, the lanelet2 library | Lanelet2 .osm (experimental) |
duckosm lanelet2 |
| OpenTrack, RailSys, Viriato | railML 2.4 (experimental) | duckosm railml |
| Your own lane-level routing | a lane graph (experimental) | duckosm lane-graph, route-lanes |
Experimental exports work and are tested for structure, but haven't been loaded in the target tools yet. If you try one, an issue saying how it went helps.
Two starting points¶
Most exports read the database duckosm build writes. The lane-level ones need the lanes and turns
per lane first, so they read a GMNS database made by duckosm gmns:
flowchart LR
db[("monaco.duckdb")] --> sumo["sumo"]
db --> matsim["matsim"]
db --> gis["export-gis"]
db --> nx["export-graph"]
db --> xodr["opendrive"]
db --> rail["railml"]
db --> gmns[("monaco_gmns.duckdb<br/>duckosm gmns")]
gmns --> lanes["matsim-lanes"]
gmns --> xodrj["opendrive --junctions"]
gmns --> ll2["lanelet2"]
gmns --> lg["lane-graph, route-lanes"]
Coordinates¶
Most exports write longitude / latitude (EPSG:4326). MATSim and OpenDRIVE need metres, so they
reproject to the UTM zone of the data (EPSG:32632 for Monaco); --crs picks another, e.g.
EPSG:3006 for Sweden's national grid.
Elevation¶
After duckosm elevation, the heights go along: GIS layers get ele /
z_from / z_to attributes, MATSim nodes a z, and OpenDRIVE roads an elevation profile.