Official mago-3d-tiler repository, Java Version 3D Tiles Generator
mago 3DTiler is an open source-based OGC 3DTiles generator.
It converts various spatial information data into OGC 3D Tiles, the basis of the Digital Twin service.
Based on Java, mago 3DTiler is highly portable, flexible, and fast.
mago 3DTiler isn’t just a converter;
developed with Java, this open-source marvel stands as a beacon for flexibility and performance in the world of 3D data conversion.
You can download the released jar file or build the jar yourself via the mago-3d-tiler project gradle script.
The built jar is created in the /dist
directory.
gradlew jar
java -jar mago-3d-tiler-x.x.x-natives-windows.jar -help
console output:
----------------------------------------
mago-3d-tiler(dev) by Gaia3D, Inc.
----------------------------------------
Usage: command options
-h, --help Print Help
-q, --quiet Quiet mode/Silent mode
-lt, --leaveTemp Leave temporary files
-m, --merge Merge tileset.json files
-i, --input <arg> Input directory path
-o, --output <arg> Output directory file path
-it, --inputType <arg> Input files type [kml, 3ds, fbx, obj, gltf/glb, las/laz, citygml, indoorgml, shp, geojson, gpkg]
-ot, --outputType <arg> Output 3DTiles Type [b3dm, i3dm, pnts]
-l, --log <arg> Output log file path.
-r, --recursive Tree directory deep navigation.
-te, --terrain <arg> GeoTiff Terrain file path, 3D Object applied as clampToGround (Supports geotiff format)
-if, --instance <arg> Instance file path for I3DM (Default: {OUTPUT}/instance.dae)
-qt, --quantize Quantize mesh to reduce glb size via "KHR_mesh_quantization" Extension
-c, --crs <arg> Coordinate Reference Systems, EPSG Code(4326, 3857, 32652, 5186...)
-p, --proj <arg> Proj4 parameters (ex: +proj=tmerc +la...)
-xo, --xOffset <arg> X Offset value for coordinate transformation
-yo, --yOffset <arg> Y Offset value for coordinate transformation
-zo, --zOffset <arg> Z Offset value for coordinate transformation
-lon, --longitude <arg> Longitude value for coordinate transformation. (The lon lat option must be used together).
-lat, --latitude <arg> Latitude value for coordinate transformation. (The lon lat option must be used together).
-rx, --rotateXAxis <arg> Rotate the X-Axis in degrees
-ra, --refineAdd Set 3D Tiles Refine 'ADD' mode
-mx, --maxCount <arg> Maximum number of triangles per node.
-nl, --minLod <arg> min level of detail
-xl, --maxLod <arg> Max Level of detail
-ng, --minGeometricError <arg> Minimum geometric error
-mg, --maxGeometricError <arg> Maximum geometric error
-mp, --maxPoints <arg> Maximum number of points per a tile
-pcr, --pointRatio <arg> Percentage of points from original data
-sp, --sourcePrecision Create pointscloud tile with original precision.
-f4, --force4ByteRGB Force 4Byte RGB for pointscloud tile.
-fc, --flipCoordinate Flip x, y coordinate for 2D Original Data.
-af, --attributeFilter <arg> Attribute filter setting for extrusion model ex) "classification=window,door;type=building"
-nc, --nameColumn <arg> Name column setting for extrusion model
-hc, --heightColumn <arg> Height column setting for extrusion model
-ac, --altitudeColumn <arg> Altitude Column setting for extrusion model
-hd, --headingColumn <arg> Heading column setting for I3DM converting
-scl, --scaleColumn <arg> Scale column setting for I3DM converting
-den, --densityColumn <arg> Density column setting for I3DM polygon converting
-dc, --diameterColumn <arg> Diameter column setting for pipe extrusion model, Specify a length unit for Diameter in millimeters(mm) (Default Column: diameter)
-mh, --minimumHeight <arg> Minimum height value for extrusion model
-aa, --absoluteAltitude <arg> Absolute altitude value for extrusion model
-sh, --skirtHeight <arg> Building Skirt height setting for extrusion model
-tv, --tilesVersion <arg> [Experimental] 3DTiles Version [Default: 1.1][1.0, 1.1]
-pg, --photogrammetry [Experimental] generate b3dm for photogrammetry model with GPU
-mc, --multiThreadCount <arg> [Deprecated] set thread count
-glb, --glb [Deprecated] Create glb file with B3DM.
-igtx, --ignoreTextures [Deprecated] Ignore diffuse textures.
-d, --debug [DEBUG] More detailed log output and stops on Multi-Thread bugs.
This is a simple kml/collada -> 3dTiles conversion code with the mandatory argument values.
java -jar mago-3d-tiler-x.x.x-natives-windows.jar -input C:\data\kml-input-dir -inputType kml -output C:\data\kml-output-dir
or
java -jar mago-3d-tiler-x.x.x-natives-windows.jar -i C:\data\kml-input-dir -o C:\data\kml-output-dir
Alternatively, you can easily use mago-3d-tiler with docker.
docker pull gaia3d/mago-3d-tiler
docker run --rm -v "/workspace:/workspace" gaia3d/mago-3d-tiler -inputType 3ds -input /workspace/3ds-samples -output /workspace/sample-3d-tiles -crs 5186
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.
Demo page : Link