Skip to content

3D City Database client for high-performance import and export of 3D city model data

License

Notifications You must be signed in to change notification settings

ar-chad/importer-exporter

 
 

Repository files navigation

Gradle build Docker build 3dcitydb/impexp:edge debian size https://hub.docker.com/repository/docker/3dcitydb/impexp alpine size

3D City Database Importer/Exporter

The 3D City Database Importer/Exporter is a Java based client for the 3D City Database. It allows for high-performance loading and extracting 3D city model data.

  • Support for CityGML 2.0 and 1.0
  • Support for CityJSON 1.0
  • Support for CityGML Application Domain Extensions (ADEs) through software extensions
  • Support for PostgreSQL/PostGIS and Oracle Spatial
  • Reading/writing CityGML instance documents of arbitrary file size
  • Export of KML/COLLADA/glTF models including tiling schemas for visualization and interactive exploration of large city models in Digital Earth Browsers, 3D GIS, and computer graphics software
  • Generic KML information balloons
  • Export of thematic object data into tables. Supported data formats are CSV and Microsoft Excel
  • Resolving and preservation of forward and backwards XLinks in CityGML datasets
  • Full support of 3D Coordinate Reference Systems (CRS) and 3D coordinate transformations; support for user-defined CRS
  • Coordinate transformations for CityGML/CityJSON exports
  • Map window for graphical selection of bounding boxes
  • Validation of CityGML/CityJSON instance documents
  • Multithreaded programming facilitating high-performance data processing

The 3D City Database Importer/Exporter comes with both a Graphical User Interface (GUI) and a Command Line Interface (CLI). The CLI allows for employing the tool in batch processing workflows and third party applications.

License

The 3D City Database Importer/Exporter is licensed under the Apache License, Version 2.0. See the LICENSE file for more details.

Note that releases of the software before version 3.3.0 continue to be licensed under GNU LGPL 3.0. To request a previous release of the 3D City Database Importer/Exporter under Apache License 2.0 create a GitHub issue.

Latest release

The latest stable release of the 3D City Database Importer/Exporter is 5.5.0.

Download the software here. Previous releases are available from the releases section.

System requirements

  • Java JRE or JDK >= 11
  • 3D City Database on
    • PostgreSQL DBMS >= 12 with PostGIS extension >= 3.0
    • Oracle DBMS >= 19c
    • PolarDB for PostgresSQL >= 1.1 with Ganos >= 4.6

The 3D City Database Importer/Exporter can be run on any platform providing appropriate Java support.

Documentation and literature

A complete and comprehensive user manual on the 3D City Database and the Importer/Exporter is available online.

An Open Access paper on the 3DCityDB has been published in the International Journal on Open Geospatial Data, Software and Standards 3 (5), 2018: Z. Yao, C. Nagel, F. Kunde, G. Hudra, P. Willkomm, A. Donaubauer, T. Adolphi, T. H. Kolbe: 3DCityDB - a 3D geodatabase solution for the management, analysis, and visualization of semantic 3D city models based on CityGML. Please use this reference when citing the 3DCityDB project.

Contributing

  • To file bugs found in the software create a GitHub issue.
  • To contribute code for fixing filed issues create a pull request with the issue id.
  • To propose a new feature create a GitHub issue and open a discussion.

Installing and running

The easiest way to get the Importer/Exporter running on your computer is to download the latest release of the 3D City Database Suite installer. In addition to the Importer/Exporter software, this installer also bundles the 3D City Database scripts, the 3D Web Map Client, Importer/Exporter plugins, test datasets, etc. A setup wizard will guide you through the separate steps of the installation process. Please refer to the user manual for more information on how to install and use the tool.

After successful installation, start scripts are available in the installation directory to run the application. Simply execute the start script suitable for your platform:

  • 3DCityDB-Importer-Exporter.bat (Microsoft Windows family)
  • 3DCityDB-Importer-Exporter (UNIX/Linux family, macOS)

On most platforms, double-clicking the start script launches the application.

You can alternatively download a binary distribution of the Importer/Exporter from the releases section. The binary distributions are named 3DCityDB-Importer-Exporter-<version>.zip and are packaged as ZIP file. Simply unzip the file and use the same start scripts to run the tool. However, please note that the ZIP file only contains the plain Importer/Exporter. Thus, you have to download and install further components such as the 3D City Database scripts or plugins yourself.

Building

The Importer/Exporter uses Gradle as build system. To build the application from source, clone the repository to your local machine and run the following command from the root of the repository.

> gradlew installDist

The script automatically downloads all required dependencies for building and running the Importer/Exporter. So, make sure you are connected to the internet. The build process runs on all major operating systems and only requires a Java 8 JDK or higher to run.

If the build was successful, you will find the Importer/Exporter package under impexp-client-gui/build/install. To launch the application with GUI, simply use the start scripts in the output folder. The executables for the command-line version can be found in the lib subfolder.

If you want to build an installer for the 3D City Database Suite instead, please follow the instructions in the 3dcitydb-suite repository.

Using with Docker

The Importer/Exporter command-line tool is also available as Docker image. You can either build the image yourself using one of the provided Docker files or use a pre-built image from Docker Hub at https://hub.docker.com/r/3dcitydb/impexp.

To build the image, clone the repository to your local machine and run the following command from the root of the repository:

> docker build -t 3dcitydb/impexp .

Using the Docker image of the Importer/Exporter is simple:

> docker run --rm --name impexp 3dcitydb/impexp

This will show the help message and all available commands of the Importer/Exporter.

More details on how to use the Importer/Exporter with Docker can be found in the online documentation.

Cooperation partners and supporters

The 3D City Database Importer/Exporter has been developed by and with the support from the following cooperation partners:

More information

OGC CityGML is an open data model and XML-based format for the storage and exchange of semantic 3D city models. It is an application schema for the Geography Markup Language version 3.1.1 (GML3), the extensible international standard for spatial data exchange issued by the Open Geospatial Consortium (OGC) and the ISO TC211. The aim of the development of CityGML is to reach a common definition of the basic entities, attributes, and relations of a 3D city model.

CityGML is an international OGC standard and can be used free of charge.

About

3D City Database client for high-performance import and export of 3D city model data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.8%
  • Other 0.2%