Geo-Referenced Networks#
SUMO networks are always encoded in Cartesian coordinates (meters) and may contain geo-referencing information to allow conversion to lon,lat. By default the Cartesian coordinates use the UTM-projection with the origin shifted to so that the lower left corner of the network is at 0,0.
Note
the projection information is encoded in the <location>
-element at the top of the .net.xml file.
- When importing a network from OSM, geo-referencing is automatically included in the generated .net.xml file
- When importing a network from plain-xml files, coordinates may be given in lon,lat and importing using a projection option such as --proj.utm
- When importing a network from Shapefile, the availability of geo-referencing depends on the format of the source data.
Checking Geo-Coordinates#
In sumo-gui and netedit when right-clicking anywhere in a geo-referenced network, the option copy cursor geo-position to clipboard is available. The resulting lat,lon coordinates are suitable for pasting into any map engine such as [maps.google.com] or [maps.bing.com]. Also, the network coordinates as well as the geo-coordinates at the cursor position are shown in the bottom right-corner of the window.
Performing coordinate-transformations#
- using TraCI, coordinates can be transformed between network-coordinates (m,m) and geo-coordinates (lon,lat) and vice versa
- using sumolib , coordinates can be transformed between network-coordinates (m,m) and geo-coordinates (lon,lat) and vice versa. Converting back and forth between lon,lat and raw UTM (m,m) is also supported.
Using geo-coordinates in XML-inputs#
The duarouter application supports attributes [fromLonLat, toLonLat, viaLonLat]((Demand/Shortest_or_Optimal_Path_Routing.md#trip_definitions) to map trips directly onto the closest network edge or junction for the given coordinates.
Obtaining output with geo-coordinates#
- A network can be exported as plain-xml in geo-coordinates using the netconvert command
netconvert --sumo-net-file myNet.net.xml --plain-output-prefix plain --proj.plain-geo
- FCD-output can be obtained in geo-coordinates by adding the option --fcd-output.geo
- duarouter supports option --write-trips.geo to create trip definitions with geo-coordinates (see above)
Mapping geo-coordinates#
It is often desirable to convert between geo-coordinates (lon,lat) and road coordinates (laneID, offset). This is typically accomplished in a 2-step process of first converting lon,lat to x,y-network coordinates (in m) and the matching those coordinates to the closest lane. The following resources can be useful for this task:
- how to match trajectories
- traci.moveToXY moves a vehicle to an appropriate network position
- convert geo-coordinates to edge with sumolib
- TraCI converts between coordinates (x,y or lon,lat) and edges