CityEngine provides different tools to georeference geometry and models. The coordinate system determines how data is georeferenced in the scene.
Scene Coordinate System
The Scene Coordinate System defines your scene's reference coordinate system for georeferenced data import, export, and coordinate values in the scene. You can display the Scene Coordinate System and other scene information by turning on Information display. You can also view the Scene Coordinate System by displaying the Status line window.
To display the Information display beneath the scene, do the following:
- Click the View settings > Information display.
- This displays scene information, such as Scene coordinate system, grid size, and coordinates of the cursor.
To display the Status line, do the following:
- Click Window > Show Status Line.
- The Status Line displays in the bottom right of the main CityEngine layout.
The Status Line also displays valuable memory information.
Default Scene Coordinate System
A CityEngine scene can have a Scene Coordinate System (SCS) set when it was saved previously. By default the SCS is set to CityEngine CS (meters).
Setting the Scene Coordinate System
When working with georeferenced data, it is often important that your scene has a valid georeferenced coordinate system set. There are three ways to set the Scene Coordinate System:
- Setting a coordinate cystem when georeferenced data is added to the scene.
- Setting a coordinate system when creating a new scene.
- Changing the Scene Coordinate System in the preferences.
Setting a coordinate system when adding georeferenced data
As soon as georeferenced data is imported into a CityEngine scene, a Scene Coordinate System is required to locate it correclty. CityEngine automatically opens the Select Coordinate System menu on your first import of georeferenced data. Taking the data that is going to be imported into account, the dialog suggests a matching scene coordinate system.
Setting a coordinate system when creating a new scene
When creating a new CityEngine scene, you have the option to set your Scene Coordinate System in the new scene wizard. The scene Select Coordinate System menu appears when you click Choose....
Changing the Scene Coordinate System in the preferences
The Scene Coordinate System can be set or changed in the CityEngine preferences Edit > Preferences > Scene. Click the Scene Coordinate System button to open the Select Coordinate System menu.
Once a Scene Coordinate System is set, it is displayed in the Information display and the Status Line.
- When changing the Scene Coordinate System, no reprojection is applied to the content of the scene. Using this option only changes the scene's reference system, used for viewing coordinates as well as for future data imports.
- CityEngine currently does not support Datum-Transformations. It is recommended to reproject your data to match the target SCS before importing into a CityEngine scene.
- In CityEngine the Scene Coordinate System can only be a projected coordinate system (no geographic coordinate systems).
View coordinate system
The View coordinate system option allows you to view the Information display bar details when different coordinate systems are applied.
If the Scene Coordinate System is set, you can choose the coordinate system by selecting View Settings > View coordinate system.
CityEngine CS [meters]
CityEngine coordinates y-up, meters
Scene CS [feet]
Current Scene Coordinate System in feet
Scene CS [meters]
Current Scene Coordinate System in meters
Universal Transverse Mercator
Military Grid Reference System
Long/Lat [decimal degrees]
Longitude / Latitude in decimal degrees
Long/Lat [degrees min sec]
Longitude / Latitude in degrees, minutes and seconds
After changing the View Coordinate System, the Information display bar shows the coordinates in the changed Coordinate System.
- When the Scene Coordinate System isn't set the changing the coordinate system option isn't available. See Setting the coordinate system for more information.
- The Scene Coordinate System in the Status Line window remains unchanged.
Coordinate System dialog
The Coordinate System dialog allows you to set the coordinate system when creating a new scene, accessing the scene preferences, or importing georeferenced data.
Select the coordinate system
Use the Select Coordinate System menu to set the Scene Coordinate System. Browse through the coordinate systems or use the search field to select the desired coordinate system.
When this dialog appears during the first import of georeferenced data, the previously selected coordinate system for data import is suggested. If you do not need a georeferenced coordinate system, the option No Projection > Raw Data in Meters is a good choice.
The Scene Coordinate System can only be a projected coordinate system, hence the geographic coordinate systems are not available in this dialog.
Select data coordinate system
The data coordinate system pops up whenever georeferenced data is going to be imported, and no projection details are found with the data. Usually you will see a coordinate system suggested the Scene Coordinate System when this dialog appears, which is a good option.
Using the search field
Use the search expression field to filter the list of coordinate systems and search for a coordinate system by name or authority code. Use the wildcard character * to define your search query. To reset the search filter and show all available coordinate systems again, clear the search field and press Enter (or the search button on the right).
Load coordinate system from a .prj file
When the required coordinate system is not available in the list, you can choose a new projection by browsing to an arbitrary .prj file. Use the folder button on the top left to bring up the file dialog, and browse to the .prj file.
This feature also allows you to define your own custom coordinate system by creating your own .prj file with the desired parameters.
Custom coordinate systems
If a projection definition is found that can't be matched to one of the predefined coordinate systems, CityEngine adds it as a new custom coordinate system. These have their authority set to USER, and an incremental number for authority code.
Importing georeferenced data
CityEngine handles importing georeferenced data differently, depending on the data type.
All georeferenced vector data is reprojected to the Scene Coordinate System during import.
- Georeferenced vector data requires a coordinate system on import, if no such data is found, the Select Coordinate System menu opens during import which lets the user choose the coordinate system for the data.
- If the Scene Coordinate System isn't defined for the scene previous to the data import, the Select Coordinate System opens and lets the user set the Scene Coordinate System.
CityEngine looks for a .prj file with the same name in the same folder.
File Geodatabase (.gdb)
The coordinate system is read per layer of the gdb dataset.
KML/KMZ latitude/longitude data is always interpreted as WGS 1984. When KML/KMZ data is imported into a scene with no coordinate system set, UTM with matching zone is suggested as Scene Coordinate System.
OSM latitude/longitude data is always interpreted as WGS 1984. When OSM data is imported into a scene with no coordinate system set, UTM with matching zone is suggested as Scene Coordinate System.
Georeferenced image data
Image data is considered to be georeferenced if:
- it contains embedded georeferencing metadata
- a world file is found that belongs to the image
- a prj file is found that belongs to the image
Reprojection or rotation isn't applied to image data on import. The image's coordinate system is used only as reference system for location, extent, and unit (translate and scale transformation) for the image data during import. It is therefore important to have image data ready in the target coordinate system before importing into CityEngine. (See the GeoTiff section below.)
Reference coordinate system
CityEngine looks for a .prj file with the same name in the same folder to use as coordinate system for the data. If no .prj file is found, the Select Coordinate System menu opens and lets the user choose the coordinate system for the data.
CityEngine looks for a world file (e.g. .jgw, .tfw) in the same folder to read the extent of the data. The world file data is interpreted in the unit found in the coordinate system of the data, and calculated accordingly if required. If no world file is found, size and position of the map can be entered manually in the Map Layer menu.
CityEngine looks for minimum and maximum range values in the metadata embedded in the image. The range data is interpreted in the unit found in the coordinate system of the data, and calculated accordingly if required. If no elevation range is found, the elevation range of the map can be entered manually in the Map Layer menu.
Elevation range data is only used when the image is used as height map.
GeoTiff (.tif, .tiff with embedded metadata)
GeoTiff data is handled the same way as other georeferenced image data with the following differences:
- If a coordinate system is defined with authority and code (e.g. ESRI:102132) in the GeoTiff metadata tags, this information is used to set the data's coordinate system, and has precedence over a .prj file.
- If no world file is present, the GeoTiff metadata tags are searched for map extent data. If present, the data is treated the same way as in the world file case.
Parameters for location, extent and elevation range can still be entered manually for non-georeferenced images in the Map Layer menu.