Skip to content

voxelearth/java-3dtiles-downloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java 3D Tiles Downloader

tiles-downloader-cli

A ridiculously fast, parallel Java CLI to download Google Photorealistic 3D Tiles GLB leaves within a spherical region.
No rotation, no baking, no transforms — just download.

Build

Requirements: Java 17+, Maven 3.8+

mvn -q -DskipTests clean package

This produces:

target/tiles-downloader-cli-1.0.0-all.jar

Usage

java -jar target/tiles-downloader-cli-1.0.0-all.jar \
  --key <API_KEY> \
  --lat <deg> --lng <deg> \
  --radius <meters> \
  -o <outdir> \
  [--parallel <n>] [--no-elevation] [-v] [-h]

Flags

  • --key (required): Google API key.
  • --lat, --lng (required): target center, in degrees.
  • --radius (required): culling sphere radius, in meters (ECEF).
  • -o, --out: output directory (default ./out).
  • --parallel: max parallel network ops (default 10).
  • --no-elevation: skip the Elevation API (assumes height=0 for ECEF).
  • -v: verbose logs.

Examples

Download around San Francisco (with elevation, 16-way parallel):

java -jar target/tiles-downloader-cli-1.0.0-all.jar \
  --key YOUR_GOOGLE_API_KEY \
  --lat 37.7793 --lng -122.4193 --radius 250 \
  -o out --parallel 16 -v

Skip elevation (assume h=0), Los Angeles:

java -jar target/tiles-downloader-cli-1.0.0-all.jar \
  --key YOUR_GOOGLE_API_KEY \
  --lat 34.0522 --lng -118.2437 --radius 300 \
  -o out --parallel 12 --no-elevation

Output

  • Files are saved as <SHA1>.glb into the output directory.

  • The SHA1 is computed from the tile path + query, excluding key and session, so names are stable across runs.

  • At the end, the tool prints:

    • Downloaded: N file(s).
    • DOWNLOADED_TILES: [...] — the list of filenames.

Performance & Exit Behavior

  • Uses Java 17 HttpClient with HTTP/2 and connection reuse.
  • Bounded parallelism for both parsing and downloading.

Notes

  • Only .glb leaves are downloaded; sub-tilesets are followed recursively.
  • Coarse culling uses a conservative sphere from each node’s boundingVolume.box.
  • Be mindful of your Google Maps Platform quotas and Terms of Service.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages