Skip to content
Distributed generation of Atlas shards
Java Shell
Branch: dev
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
.github
.travis
config
gradle
src
.gitignore
.travis.yml
LICENSE
README.md
build.gradle
dependencies.gradle
gradle.properties
gradlew
gradlew.bat
settings.gradle

README.md

AtlasGenerator

Build Status quality gate Maven Central CircleCI

AtlasGenerator is a Spark Job that generates Atlas shards from OSM pbf shards (built from an OSM database with osmosis).

Getting started

This project has been implemented and tested with Oracle JDK 1.8.

Build

The following command will compile, run checks, and build the library:

./gradlew clean build

Setup example: BLZ (Belize)

The BLZ example can be run with this one-liner:

./gradlew clean run

What this does

  • Downloads the country boundaries and the sharding tree files from the respective sub-folders available here.
  • Downloads a belize snapshot osm.pbf file from Geofabrik
  • It tricks the program into thinking that the 3 shards Belize intersects with in this sharding tree each have a corresponding .osm.pbf file, which will each just be the same copy of the file that was downloaded from geofabrik:
./build/example/data/pbfSource/belize.osm.pbf -> ./build/example/data/pbfs/7-32-57.pbf
./build/example/data/pbfSource/belize.osm.pbf -> ./build/example/data/pbfs/8-64-116.pbf
./build/example/data/pbfSource/belize.osm.pbf -> ./build/example/data/pbfs/8-65-116.pbf
  • Runs the AtlasGenerator Spark job.

The result

  • Three atlas shards in ./build/example/output/atlas/BLZ/
$ ls -alF ./build/example/output/atlas/BLZ/
-rw-r--r--  7097365 BLZ_7-32-57.atlas
-rw-r--r--  658860 BLZ_8-64-116.atlas
-rw-r--r--  590425 BLZ_8-65-116.atlas

Those 3 files can be loaded together at once, in the JOSM Atlas plugin for example, or programmatically loaded with a MultiAtlas using the AtlasResourceLoader from the atlas project.

How it looks like

This is one shard visualized using the josm-atlas plugin:

josm-atlas1 josm-atlas2

Contributing

Please see the contributing guidelines!

You can’t perform that action at this time.