Skip to content

How to use with Docker?

1. Set the Feature Materials/Colors (Optional)

Download and customize the "materials_for_features" file with one of office software (LibreOffice, OpenOffice or OnlyOffice) by changing the color values in the first sheet (sheet name: "materials").

If you do not want to customize

If you do not want to customize the feature colors (materials), proceed to Step 4. Otherwise, follow the next instructions.

Alternatively ...

Open the document in LRZ Sync & Share and copy the document for yourself so you can create your own CSV file: syncandshare.lrz.de/getlink/fiWEn4L2VBQwFyVeqqFmRH/materials_for_features.ods

If you customized the colors in the first sheet ("materials") using RGBA hex color codes, then you can check the colors and transparency colors with internal JS Macro. Go to View > Macros and Click to Run to update all the colors avaialble in the 3th sheet ("Colors").

2. Save the ODS file as CSV

Save only the first sheet (materials) as a CSV file.

Pay attention to the following

While exporting the table as CSV file :
- Field delimiters must be commas (,)
- Do not force text to be quoted with apostrophes (")

You can save multiple CSV files with custom names

If you prefer to create multiple CSV files with custom names, you can still use one of them using "--custom-style" argument with the "tile" command.

3. Start the Terminal/Shell

Using your preferred CLI tool (Terminal/Shell), navigate to the same folder with the materials_for_features.csv. You can use the cd <FOLDERNAME> command to navigate to the folder.

4. Take an Advice for the Dataset (Optional)

(Optional) Create an advice file using the software. This advice file will summarize the existing object classes in your database and calculate the maximum features per tile.

docker run `
--rm --interactive --tty `
--name citydb-3dtiler `
--volume ./:/home/tester/citydb-3dtiler/shared:rw `
ghcr.io/tum-gis/citydb-3dtiler:latest `
--db-host <IP-or-COMP-NAME> --db-port <PORT-NUMBER> `
--db-name <DATABASE-NAME> --db-schema <SCHEMA-NAME> `
--db-username <USER-NAME> --db-password <DATABASE-PASSWORD> `
advise
docker run \
--rm --interactive --tty \
--name citydb-3dtiler \
--volume ./:/home/tester/citydb-3dtiler/shared:rw \
ghcr.io/tum-gis/citydb-3dtiler:latest \
--db-host <IP-or-COMP-NAME> --db-port <PORT-NUMBER> \
--db-name <DATABASE-NAME> --db-schema <SCHEMA-NAME> \
--db-username <USER-NAME> --db-password <DATABASE-PASSWORD> \
advise
docker run ^
--rm --interactive --tty ^
--name citydb-3dtiler ^
--volume ./:/home/tester/citydb-3dtiler/shared:rw ^
ghcr.io/tum-gis/citydb-3dtiler:latest ^
--db-host <IP-or-COMP-NAME> --db-port <PORT-NUMBER> ^
--db-name <DATABASE-NAME> --db-schema <SCHEMA-NAME> ^
--db-username <USER-NAME> --db-password <DATABASE-PASSWORD> ^
advise
docker run \
--rm --interactive --tty \
--name citydb-3dtiler \
--volume ./:/home/tester/citydb-3dtiler/shared:rw \
ghcr.io/tum-gis/citydb-3dtiler:latest \
--db-host 10.162.246.888 --db-port 9876 \
--db-name citydb-visualizer --db-schema citydb \
--db-username tester2 --db-password louvre \
advise
Alternative Docker Registry

Alternatively, you can use the Docker Hub registry by changing the image location in the above commands (ghcr.io/tumgis/citydb-3dtiler:latest <> tumgis/citydb-3dtiler:latest) or by first pulling the same image with the following command: docker pull tumgis/citydb-3dtiler:latest

5. Generate the 3DTiles

Generate 3DTiles using the default configuration by typing the following command:

How the application checks the material file?

The program automatically checks whether the “materials_for_features.csv” file is present in the current folder. If the file is not present in the current folder, it uses the predefined materials stored internally (in the Docker image). If you have renamed the file, you can use the “--custom-style” argument after the ‘tile’ command.

docker run `
--rm --interactive --tty `
--name citydb-3dtiler `
--volume ./:/home/tester/citydb-3dtiler/shared:rw `
ghcr.io/tum-gis/citydb-3dtiler:latest `
--db-host <IP-or-COMP-NAME> --db-port <PORT-NUMBER> `
--db-name <DATABASE-NAME> --db-schema <SCHEMA-NAME> `
--db-username <USER-NAME> --db-password <DATABASE-PASSWORD> `
tile
docker run \
--rm --interactive --tty \
--name citydb-3dtiler \
--volume ./:/home/tester/citydb-3dtiler/shared:rw \
ghcr.io/tum-gis/citydb-3dtiler:latest \
--db-host <IP-or-COMP-NAME> --db-port <PORT-NUMBER> \
--db-name <DATABASE-NAME> --db-schema <SCHEMA-NAME> \
--db-username <USER-NAME> --db-password <DATABASE-PASSWORD> \
tile
docker run ^
--rm --interactive --tty ^
--name citydb-3dtiler ^
--volume ./:/home/tester/citydb-3dtiler/shared:rw ^
ghcr.io/tum-gis/citydb-3dtiler:latest ^
--db-host <IP-or-COMP-NAME> --db-port <PORT-NUMBER> ^
--db-name <DATABASE-NAME> --db-schema <SCHEMA-NAME> ^
--db-username <USER-NAME> --db-password <DATABASE-PASSWORD> ^
tile
docker run \
--rm --interactive --tty \
--name citydb-3dtiler \
--volume ./:/home/tester/citydb-3dtiler/shared:rw \
ghcr.io/tum-gis/citydb-3dtiler:latest \
--db-host 10.162.246.888 --db-port 9876 \
--db-name citydb-visualizer --db-schema citydb \
--db-username tester2 --db-password louvre \
tile

All available Commands, Arguments & Options

citydb-3dtiler Usage

--help
--db-..

Database Connection Arguments

--db-host
--db-port (default: 5432)
--db-name
--db-schema (default: citydb)
--db-username
--db-password

--separate-tilesets

Separate Tilesets Options

None (Default)
objectclass

--tiler-app (default: pg2b3dm)
--tilers-path (default: tiler_app)
advise

Advise Arguments

--help
--consider-thematic-features (default: False)
--output-file (default: advise.yml)

tile

Tile Arguments

--help
--custom-style (default: materials_for_features.csv)
--style-mode

Style Mode Options

property-based
objectclass-based (default)
no-style

--style-absence-behavior

Style Absence Behavior

falldown (default)
riseup

--transparency-mode

Transparency Options

Blend
Opaque (default)

--output-folder (default: current folder in host)

Remove the Docker Images (Optional)

If you want to delete all of the downloaded Docker images, you can use the following command:

docker rmi --force $(docker image ls -q -f label=composition=citydb-3dtiler)
How to update the docker image on my machine?

To update the docker image to latest version, delete all the existing docker images using the command given above and run the docker run command again.