Version 1.2.2 of the Importer/Exporter already introduced the possibility to pass coordinate values given in a different CRS than the internal database CRS as input values for a spatial bounding box filter when importing/exporting CityGML documents. However, the support for further CRSs was still preliminary in such that a user could only choose from a predefined and fixed number of CRSs.
Release 1.4.0 of the Importer/Exporter brought full support for user-defined CRSs. Similar to the CRS information that has to be provided at setup time of a new 3D City Database instance, a user-defined CRS consists of both an Oracle SRID and a GML conformant URN encoding of
the CRS. For the management of user-defined CRSs, a new user dialog was added to the
Preferences tab as shown in the Fig. 25.
Fig. 25: Support for user-defined CRSs in the Preferences tab.
The management of user-defined CRSs can be found in the Reference systems subnode of the
Database preferences node (the latter one is also introduced with release 1.4.0, cf. chapter 4.8).
On top of the preferences page, a combo allows for choosing a CRS for display and editing from the list of user-defined CRSs. The list contains at minimum one predefined entry called
Same as in database which represents the internal CRS of the 3D City Database instance. This
entry will always show the SRID and CRS URN encoding of the currently connected database instance. Since the internal CRS shall not be changed after database setup, the fields of the
A new user-defined CRS can be added to this list after clicking the New button. Please provide an Oracle SRID in the corresponding SRID input field of the user dialog and pass a corresponding URN encoding to the gml:srsName input field (optional). A short, meaningful textual description of the CRS has to be given in the Description field. This description is used as key value for the list of user-defined CRSs displayed in the combo box on top (and also in similar combo boxes on further tabs of the Importer/Exporter). The new CRS is added to the list of user-defined CRSs by clicking on the Apply button. The following screenshot provides an example.
Fig. 26: Adding a new CRS to the list of user-defined CRSs.
The Copy button allows for adding a further CRS by copying and editing the information of an already existing user-defined CRS. The currently selected CRS is deleted from the list by clicking the Delete button. The Check button next to the SRID input field facilitates to verify whether the provided SRID is supported by the currently connected 3D City Database instance. After a successful check the non-editable fields Database name and SRS type will be filled with the corresponding information collected from the currently connected 3D City Database
instance. If the Importer/Exporter is not connected to a database instance, the Check button is disabled.
The result of the SRID verification may vary between different 3D City Database instances due to the fact that a) the list of predefined spatial reference systems differs between different versions of Oracle Spatial (e.g., between 10g R2 and 11g R2) and b) the fact, that Oracle also supports the definition of user-defined spatial reference systems (please check the Oracle Spatial documentation for further guidance on how to create spatial reference systems in Oracle). In order to add a user-defined CRS to the Importer/Exporter which is not supported by the underlying Oracle Spatial database by default, this CRS has first to be registered with the internal Oracle tables. As soon as the CRS is announced to Oracle, it can be added to the list of user-defined CRSs in the Importer/Exporter.
The list of user-defined CRSs is automatically stored in the project settings of the Importer/Exporter and loaded upon application start. It can additionally be exported into an extra file without the remaining project settings. This allows for easily sharing user-defined CRSs between different Importer/Exporter installations. Please provide a valid filename in the corresponding input field Filename (clicking on the Browse button opens a dialog which allows for choosing a file) and click on Save. There are two options for importing such an external list of CRSs: 1) the CRSs listed in the external file can be added to the current list of CRSs (Add button) or 2) the external list can be used to replace the current list (Replace with button).
The Importer/Exporter is shipped with a number of predefined CRSs organized in subfolders of templates/CoordinateReferenceSystems within the installation folder of the Importer/Exporter. Each CRS definition is stored in its own file and, thus, can be easily imported and added to the list of user-defined CRSs. The URN encoding of the predefined CRSs generally lacks a height reference system which has to be added before using this CRS as target reference system for CityGML exports (cf. chapter 4.6.1 for more details).