Main Content

Coordinate Space and Georeferencing

Local Coordinate System

3D coordinates are displayed and edited in a right-handed Cartesian coordinate system. All spatial units are represented in meters, and angles are represented in degrees.

The 'X' and 'Y' dimensions represent 'Easting' and 'Northing' directions, respectively. The 'Z' dimension is height.

This table illustrates local object transformations along each axis (for example, when using the Prop Point Tool). Each image shows a transformation of the prop in the image in the positive direction for each axis.

 X (Easting)Y (Northing)Z (Height)
Move

Rotate

Scale

Georeferencing (Geographic Coordinates and Projections)

RoadRunner scenes can be optionally georeferenced, which means that coordinates in the scene can be mapped to locations on the Earth. This mapping is important when you want to model a real-world location by using GIS reference data.

Georeferencing Basics

Georeferencing is a varied and complex topic. RoadRunner hides most of this complexity, especially if you are using well-formed GIS reference data.

In many cases, georeferencing data is carried through when exporting. If you want to align exported data with other GIS data (such as a GPS trace), then a basic familiarity with geospatial transformations is required.

To perform geospatial coordinate transformations, RoadRunner uses the PROJ library, which is a robust and industry-standard library for transforming horizontal and vertical coordinate systems. If you need to work with georeferenced data in your own application stack, you can use PROJ for optimal robustness and compatibility (or use a library that uses PROJ internally, such as GDAL or PDAL).

Georeference a Scene

To add or modify a scene's location on the Earth, use the World Settings Tool. An initial location is also applied automatically when first dragging any GIS Asset into a nongeoreferenced scene.

Georeferenced Coordinate System

RoadRunner supports a variety of input projections and datums when loading external GIS data. However, all editing and displaying is performed in a specific georeferenced coordinate system.

Any external GIS data is transformed automatically into this coordinate system before it is displayed.

Horizontal Georeferenced Coordinate System.  To map the X and Y coordinates of the Local Coordinate System on to the Earth, an application must define a horizontal coordinate system (typically by defining a geospatial projection and datum).

RoadRunner uses a coordinate system that reduces scale and rotational distortion surrounding (within ~100 km of) a latitude/longitude point of interest. You can control the latitude/longitude point (using the World Settings Tool), but control over the projection is not permitted.

Specifically, RoadRunner uses a Transverse Mercator projection (with a scale factor of 1.0) over the WGS84 datum. For example, a scene centered at a latitude of 32.0 and a longitude of -118 has a horizontal georeferenced coordinate system defined as (in Proj syntax):

+proj=tmerc +lat_0=32.0 +lon_0=-118.0 +k=1 +x_0=0 +y_0=0 +datum=WGS84 +units=m

Vertical Georeferenced Coordinate System.  To map Z (height) coordinates of the Local Coordinate System on to the Earth, an application must define a vertical coordinate system.

Roadrunner uses heights over the EGM96 Geoid, as defined by a 15-minute grid (such as the one found here). Grid files are used to convert between WGS84 ellipsoid heights and geoidal heights.

You can find the exact grid file used by RoadRunner by searching for the "egm96_15.gtx" file in the RoadRunner installation directory.

The vertical coordinate system is also defined in the PROJ string. The full PROJ string for the example in the horizontal section above is:

+proj=tmerc +lat_0=32 +lon_0=-118 +k=1 +x_0=0 +y_0=0 +datum=WGS84 +units=m +geoidgrids=egm96_15.gtx +vunits=m +no_defs 

Georeferencing and Exported Data

In addition to the information in the Georeferencing Basics section, this section provides information about georeferencing information in data exported from RoadRunner.

To align data exported from RoadRunner with other GIS data (or to transform between latitude/longitude coordinates and coordinates in the export data), you must know the projection and datum of each data source. RoadRunner expresses this information as a Proj syntax or WKT string.

Many export formats also include projection information. For example, OpenDRIVE data exported from RoadRunner includes a <georeference> tag defining the projection information as a PROJ string.

Note

In almost all cases, it is not possible to align two georeferenced data sets by simply shifting them. Projection transformations are more complicated than a simple shift and scale. Instead, rely on a library like PROJ.

RoadRunner exports data in the same georeferenced coordinate system used by the scene (see Georeferencing Basics). You can view the PROJ/WKT strings for the current scene in the World Settings Tool. Control for transforming data into a different projection during export is not supported.

Exported Data and Grid Files.  The exported data also uses the same vertical coordinate system as the scene itself (see Georeferencing Basics). To interpret the elevations in the exported data, you might need to make use of the same grid files used by RoadRunner. This might require supplying the grid files to your external application (if not already present).

In some specific cases, you might be able to ignore the grid files. Examples of these types of cases include if you do not need to vertically match exported RoadRunner data and external GIS data or if all of your external GIS data is already using the same vertical datum as the RoadRunner scene.

If you are confident that you do not need the grid files in your external application, you can remove the +geoidgrids=egm96_15.gtx portion of the PROJ string in any exported data. Because there can be upwards of a 30 m vertical difference between geoidal heights and ellipsoidal heights, if you are confident in how the data is to be used downstream.