During the development phase 2004-2006 at the Institute for Cartography and Geoinformation, University of Bonn, the following individuals contributed to the development: Name Institution Email Thomas H. Kolbe Lutz Plümer Gerhard Gröger Viktor Stroh Jörg Schmittwilken Institute for Cartography and Geoinformation, University of Bonn Andreas Poth Ugo Taddei lat/lon GmbH, Bonn Table of Contents
36 BuildingClosureSurface 29 37 _BuildingOpening 3 38 BuildingWindow 37 39 BuildingDoor 37 40 BuildingFurniture 3 41 BuildingRoom 3 42 TransportationComplex 22 43 Track 42 44 Railway 42 45 Road 42 46 Square 42 47 TrafficArea 22 48 AuxiliaryTrafficArea 22 49 FeatureCollection 2 50 Appearance 2 51 _SurfaceData 2 52 _Texture 51 53 X3DMaterial 51 54 ParameterizedTexture 52 55 GeoreferencedTexture 52 56 _TextureParametrization 1 57 CityModel 49 58 Address 2 59 ImplicitGeometry 1 60 OuterBuildingCeilingSurface 29 61 OuterBuildingFloorSurface 29 62 _AbstractBridge 20 63 BridgePart 62 64 Bridge 62 65 BridgeInstallation 3 66 IntBridgeInstallation 3 67 _BridgeBoundarySurface 3 68 BridgeCeilingSurface 67 69 InteriorBridgeWallSurface 67 70 BridgeFloorSurface 67 71 BridgeRoofSurface 67 72 BridgeWallSurface 67 73 BridgeGroundSurface 67 74 BridgeClosureSurface 67 75 OuterBridgeCeilingSurface 67 76 OuterBridgeFloorSurface 67 77 _BridgeOpening 3 78 BridgeWindow 77 79 BridgeDoor 77 80 BridgeFurniture 3 81 BridgeRoom 3 82 BridgeConstructionElement 3 83 _AbstractTunnel 20 84 TunnelPart 83 85 Tunnel 83 86 TunnelInstallation 3 87 IntTunnelInstallation 3 88 _TunnelBoundarySurface 3 89 TunnelCeilingSurface 88 90 InteriorTunnelWallSurface 88 91 TunnelFloorSurface 88 92 TunnelRoofSurface 88 93 TunnelWallSurface 88
Geometry storage in Surface Geometry – polygonal geometry Oracle PostGIS SDO_GTYPE must have the type Polygon, i.e. a polygon with 3D coordinates (SDO_GTYPE = 3003), SDO_ETYPE must be 1003/2003 with SDO_INTERPRETATION = 1 (i.e. polygon with 3D coordinates in the boundary, bounded just by line segments, possibly including holes) In addition Oracle allows the representation of a rectangle by two corner points (SDO_ETYPE=1003/2003, with SDO_INTERPRETATION = 3) SDO_SRID of implicit geometries can be any SRID Oracle supports. No spatial index is defined on the column by default. Only POLYGON Z is allowed, i.e. a polygon with 3D coordinates Polygons might have holes The IMPLICIT_GEOMETRY column has no SRID defined. Thus, entries in that column will have the SRID 0 automatically Table 4: Storage of polygonal geometry A solid is the basis for 3-dimensional geometry. The extent of a solid is defined by the boundary surfaces (outer shell). A shell is represented by a composite surface, where every shell is used to represent a single connected component of the boundary of a solid. It consists of a composite surface (a list of orientable surfaces) connected in a topological cycle. Unlike a ring, a shell's elements have no natural sort order. Like rings, shells are simple. The geometry in the field SOLID_GEOMETRY of the table SURFACE_GEOMETRY is limited as follows: Geometry storage in Surface Geometry – 3D geometry Oracle PostGIS SDO_GTYPE must have the type Solid, i.e. a solid with 3D coordinates (SDO_GTYPE = 3008) SDO_ETYPE must be 1007 (simple solid) or 1008 (composite solid). A simple solid can be represented by using several polygons as its boundary (SDO_ETYPE=1007, with SDO_INTERPRETATION = 1). The composite solid can be constructed with a number of simple solids, e.g. a composite solid with 4 simple solids (SDO_ETYPE=1008, with SDO_INTERPRETATION = 4) Only POLYHEDRALSURFACE is allowed, i.e. the outer shell of a solid with 3D coordinates A simple polyhedral surface can be represented by using several polygons as its boundary
Oracle Step 1 - Define a user for the 3D City Database A dedicated database user should be created for your work with the 3D City Database. This user must have the roles CONNECT and RESOURCE assigned and must own the privileges CREATE SEQUENCE and CREATE TABLE. If you plan to do a migration from the 3D City Database v2.1 (see chapter 3.4), the privilege CREATE SYNONYM is also necessary. Note: The privileges CREATE SEQUENCE and CREATE TABLE are required for enabling and disabling spatial indexes. It is not sufficient to inherit these privileges through a role. Step 2 – Connect to the Oracle database via SQL*Plus or SQL Developer The script for setting up the database can be invoked from the command line tool SQL*Plus or from the Oracle SQL Developer software. For SQL*Plus, first start a shell environment of your preferred operating system and navigate to the directory where the CREATE_DB script is located. Then, a connection to the Oracle database is established, for instance, with the following command using the ezconnect functionality of SQL*Plus: sqlplus [USER]/[PASS]@\“[HOSTNAME]:[PORT]/[SID]\“ Figure 50: Connecting to Oracle using SQL*Plus and ezconnect. Note: If you use a SQL*Plus client prior to version 11, ezconnect may not be available. In this case, you have to edit the tnsnames.ora file in order to specify the connection parameters. Please refer to your Oracle documentation for details. Step 3 - Execute the CREATE_DB script: Once the connection to the Oracle database is established, the setup script can be executed with the following command at the SQL prompt: SQL> @CREATE_DB.sql; Figure 51: Command to execute the CREATE_DB.sql script. Note: When using SQL Developer, directly execute CREATE_DB2.sql. Under the menu item ‘Tools > Preferences > Database > Worksheet > Default path to look for scripts’, enter the path to the CREATE_DB2.sql script. Then call the script from within an SQL sheet with the command @CREATE_DB2.sql.
Save Project XSD As… Save the XML Schema defining the XML structure of config files to a separate file. The XML Schema is helpful in case a user wants to manually edit the config file. Only config files conforming to the XML Schema definition will be successfully loaded by the Importer/Exporter. Recently Used Projects… List of recently loaded config files. Note: The Importer/Exporter uses one default config file per operating system user running the Importer/Exporter. All settings made in the GUI are automatically stored to this default config file when the Importer/Exporter is closed and are recovered from this file upon program start. Thus, all user-defined settings are remembered. The default config file is named project.xml and is stored in the home directory of the user. Precisely, you will find the config file in the subfolder However, the location of the home directory differs for different operating systems. Using environment variables, the location can be identified dynamically: (Windows 7 and higher) $HOME/3dcitydb/importer-exporter/config (UNIX/Linux, Mac OS families) The View menu affects the GUI elements of the Importer/Exporter and offers the following entries: Open map window Opens the 2D map window for bounding box selections (cf. chapter 5.7). Detach Console Renders the console window in a separate application window. Restore default perspective Restores the GUI to its default settings. Finally, the Help menu gives access to an Info dialog and the Read Me file shipped with the Importer/Exporter. Amongst other information, the Info dialog displays the official version and build number of the Importer/Exporter. Database connections and operations The Database tab of the operations window shown in the figure below allows a user to manage and establish database connections [1] and to execute database operations [2]. Figure 59: Database tab.
Normal index on columns GMLID, GMLID_CODESPACE of table SURFACE_GEOMETRY Normal index on columns GMLID, GMLID_CODESPACE of table APPEARANCE Normal index on column THEME of table APPEARANCE Normal index on columns GMLID, GMLID_CODESPACE of table SURFACE_DATA Normal index on columns GMLID, GMLID_CODESPACE of table ADDRESS The result of an index operation is reported in the console window as shown below. For instance, Figure 65 shows the result of a status query on both spatial and normal indexes. The status ON means that the corresponding index is enabled. Figure 65: Result of a status query on spatial and normal indexes. Note: It is strongly recommended to deactivate the spatial indexes before running a CityGML import on a big amount of data and to reactive the spatial indexes afterwards. This way the import will typically be a lot faster than with spatial indexes enabled. The situation may be different if only a small dataset is to be imported. Deactivating normal indexes should however never be required. Note: Activating and deactivating indexes can take a long time, especially if the database fill level is high. Note that the operation cannot be aborted by the user since this could result in an inconsistent database state.
stopping. DEBUG Additional messages reporting the internal state of the application. The log level for messages printed to the console window can be chosen from a drop-down list in the Console dialog [1]. The log will include all events of the indicated severity as well as events of greater severity (default: INFO). Word wrapping can be optionally enabled for long message texts that otherwise exceed the width of the console window. Note: The log output in the console window is truncated after 10,000 log messages in order to prevent high main memory consumption. If log messages shall additionally be stored in a log file, simply activate the option Write messages to log file. The log file is named log_3dcitydb_impexp_<date>.log per default, where <date> is replaced with the current date at program startup. The Importer/Exporter creates the log file if it does not exist. Otherwise, log messages are appended to the existing log file. The user can choose a location where to store the log file by enabling the option Use alternative path for log files and by providing a corresponding path [2]. Either enter the path manually or click on Browse to open a file selection dialog. The log level can be chosen independent from the console window through the corresponding list [2] (default: INFO). Note: Log files are per default stored in the home directory of the operating system user running the Importer/Exporter. Precisely, you will find the log files in the subfolder 3dcitydb/importer-exporter-3.0/log. However, the location of the home directory differs for different operating systems. Using environment variables, the location can be identified dynamically: (Windows 7 and higher) $HOME/3dcitydb/importer-exporter-3.0/log (UNIX/Linux, Mac OS families) Language selection The Importer/Exporter GUI has support for different languages. Use the Language selection preference dialog shown below to pick your favourite language. Figure 119: General preferences – Language selection.
character(s) instead of comma (default) for CSV file. Write any arbitrary separator phrase or click on the edit button (marked by 1 in Figure 131) to select it from a list. Figure 131: Click on the CSV File radio button and write any output file path or click on the Browse button to select an output file. Type the separator character (s) or click on the edit button (marked by 1) and select one from a list. Note: Starting from April 2015, the earlier versions of the SPSHG plugin are no longer able to directly upload the exported data to the Google cloud service, since the Google OAuth 1.0 API on which the SPSHG plugin relies has been deprecated and is not supported by Google any more. Therefore, starting from version 3.3.0 of the 3DCityDB, the functionality “Directly into the Cloud” has been removed from the SPSHG plugin, and you need to to manually upload the generated CSV/XLSX files to the cloud. Example: Uploading XLSX file to Google Fusion Table Here is a step-by-step guide for uploading a XLSX file to the Google Fusion Tables which a cloud-based web application that allows for storing, showing, and sharing large data tables. Open a web browser (you can use, for example, Google Chrome or Mozilla Firefox, but we recommend not to use Microsoft Internet Explorer) and type the following address into the address bar. When you go to this page, you will be asked to log in by using your Google account. Enter your Email address and the password of your Google account into the corresponding input fields After logging in, an Import new table dialog window will be displayed like in the screenshot below: Click the Choose File button to open a file selection window Navigate to the system path of your created Excel file and select it. The following screenshot show an example Excel file. After selecting the Excel file, click the Next button to continue The contents of the selected table is displayed in the dialog window (see the screenshot below)