planetiler/flatmap-basemap/README.md

2.4 KiB

Flatmap Basemap Profile

This basemap profile is based on OpenMapTiles v3.12.2. See README.md in the parent directory for instructions on how to run.

Code Layout

Generate.java generates code in the generated package from an OpenMapTiles tag in GitHub:

  • OpenMapTilesSchema contains an interface for each layer with constants for the name, attributes, and their allowed values
  • Tables contains a record for each table that OpenMapTiles imposm3 configuration generates (along with the tag-filtering expression) so layers can listen on instances of those records instead of doing the tag filtering and parsing themselves

The layers package contains a port of the SQL logic to generate each layer from OpenMapTiles. Layers define how source features (or parsed imposm3 table rows) map to vector tile features, and logic for post-processing tile geometries.

BasemapProfile dispatches source features to layers and merges the results.

BasemapMain is the main driver that registers source data and output location.

Regenerating Code

To run Generate.java, use scripts/regenerate-openmaptiles.sh script with the OpenMapTiles release tag:

./scripts/regenerate-openmaptiles.sh v3.12.2

Then follow the instructions it prints for reformatting generated code.

License and Attribution

OpenMapTiles code is licensed under the BSD 3-Clause License, which appears at the top of any file ported from OpenMapTiles.

The OpenMapTiles schema (or "look and feel") is licensed under CC-BY 4.0, so any map derived from that schema must visibly credit OpenMapTiles . It also uses OpenStreetMap data so you must visibly credit OpenStreetMap contributors.