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

No packages published

Languages