mago 3DTerrainer is an open source based quantized-mesh terrain generator developed in Java.
It is compatible with quantized-mesh, the native terrain data of Cesium Terrain Tiles.
It can easily convert GeoTIFF files, the standard format of OCG, into quantized-mesh data.
See: https://github.com/CesiumGS/quantized-mesh
You can download the released jar file or build the jar yourself via the mago-3d-terrainer project gradle script.
The built jar is created in the /dist directory.
gradlew jar
java -jar mago-3d-terrainer-x.x.x-shadow.jar -help
Output:
┳┳┓┏┓┏┓┏┓ ┏┓┳┓ ┏┳┓┏┓┳┓┳┓┏┓┳┳┓┏┓┳┓
┃┃┃┣┫┃┓┃┃ ┫┃┃ ┃ ┣ ┣┫┣┫┣┫┃┃┃┣ ┣┫
┛ ┗┛┗┗┛┗┛ ┗┛┻┛ ┻ ┗┛┛┗┛┗┛┗┻┛┗┗┛┛┗
3d-terrainer(dev-version) by Gaia3D, Inc.
----------------------------------------
usage: mago 3DTerrainer help
-c,--continue Continue from last terrain generation. This option can be used when terrain creation is interrupted or fails.
-cn,--calculateNormals Add terrain octVertexNormals for lighting effect
-d,--debug Debug Mode, print more detail log
-h,--help Print this message
-i,--input <arg> Input folder path
-is,--intensity <arg> Mesh refinement strength. (default : 4.0)
-it,--interpolationType <arg> Interpolation type (nearest, bilinear) (default : bilinear)
-j,--json Generate only layer.json from terrain data
-l,--log <arg> Log file path
-lt,--leaveTemp Leave temporary files for debugging
-max,--maxDepth <arg> Maximum tile depth (range : 0 ~ 22) (default : 14)
-min,--minDepth <arg> Minimum tile depth (range : 0 ~ 22) (default : 0)
-mr,--rasterMaxSize <arg> Maximum raster size for split function. (default : 8192)
-ms,--mosaicSize <arg> Tiling mosaic buffer size per tile. (default : 16)
-nv,--nodataValue <arg> No data value for terrain data (default : -9999)
-o,--output <arg> Output folder path
-pt,--priorityType <arg> Priority type () (default : distance)
This is a simple Quantized-mesh conversion code with the required argument values.
java -jar mago-3d-terrainer-x.x.x.jar -input C:\data\geotiff-sample -output C:\data\geotiff-terrain-output -maxDepth 14
or
java -jar mago-3d-terrainer-x.x.x.x.jar -i C:\data\geotiff-sample -o C:\data\geotiff-terrain-output -max 14
The mago 3DTerrainer is also available as a docker image.
docker pull gaia3d/mago-3d-terrainer
docker run --rm -v "/workspace:/workspace" gaia3d/mago-3d-terrainer -input /workspace/geotiff-sample -output /workspace/geotiff-terrain-output -maxDepth 14
For detailed documentation, including installation and usage instructions, please refer to the official documentation:
Supports long-term support (LTS) versions of the JDK, including JDK17 and JDK21.