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
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
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:
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.