mirror of
https://github.com/cfpwastaken/planetiler-openmaptiles.git
synced 2026-02-04 12:31:10 +00:00
96 lines
3.9 KiB
Markdown
96 lines
3.9 KiB
Markdown
# Planetiler OpenMapTiles Profile
|
|
|
|
This OpenMapTiles profile for [Planetiler](https://github.com/onthegomap/planetiler) is based
|
|
on [OpenMapTiles](https://github.com/openmaptiles/openmaptiles).
|
|
|
|
## How to run
|
|
|
|
Using pre-built docker image:
|
|
|
|
```bash
|
|
docker run -v "$(pwd)/data":/data openmaptiles/planetiler-openmaptiles:latest --force --download --area=monaco
|
|
```
|
|
|
|
Or to build from source, after [installing Java 16+](https://adoptium.net/installation.html):
|
|
|
|
```bash
|
|
# Build the project (use mvnw.cmd on windows):
|
|
./mvnw clean package
|
|
# Then run:
|
|
java -jar target/*with-deps.jar --force --download --area=monaco
|
|
```
|
|
|
|
See [Planetiler README.md](https://github.com/onthegomap/planetiler/blob/main/README.md) for more description of the
|
|
available options.
|
|
|
|
## Differences from OpenMapTiles
|
|
|
|
- Road name abbreviations are not implemented yet in the `transportation_name` layer
|
|
- `agg_stop` tag not implemented yet in the `poi` layer
|
|
- `brunnel` tag is excluded from `transportation_name` layer to avoid breaking apart long `transportation_name`
|
|
lines, to revert this behavior set `--transportation-name-brunnel=true`
|
|
- `rank` field on `mountain_peak` linestrings only has 3 levels (1: has wikipedia page and name, 2: has name, 3: no name
|
|
or wikipedia page or name)
|
|
|
|
## Code Layout
|
|
|
|
[Generate.java](src/main/java/org/openmaptiles/Generate.java) generates code in
|
|
the [generated](src/main/java/org/openmaptiles/generated) package from an OpenMapTiles tag in
|
|
GitHub:
|
|
|
|
- [OpenMapTilesSchema](src/main/java/org/openmaptiles/generated/OpenMapTilesSchema.java)
|
|
contains an interface for each layer with constants for the name, attributes, and allowed values for each tag in that
|
|
layer
|
|
- [Tables](src/main/java/org/openmaptiles/generated/Tables.java)
|
|
contains a record for each table that OpenMapTiles [imposm3](https://github.com/omniscale/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](src/main/java/org/openmaptiles/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.
|
|
|
|
[OpenMapTilesProfile](src/main/java/org/openmaptiles/OpenMapTilesProfile.java) dispatches source
|
|
features to
|
|
layer handlers and merges the results.
|
|
|
|
[OpenMapTilesMain](src/main/java/org/openmaptiles/OpenMapTilesMain.java) is the main driver that
|
|
registers
|
|
source data and output location.
|
|
|
|
## Regenerating Code
|
|
|
|
To run `Generate.java`,
|
|
use [scripts/regenerate-openmaptiles.sh](https://github.com/openmaptiles/planetiler-openmaptiles/blob/main/scripts/regenerate-openmaptiles.sh)
|
|
script with the
|
|
OpenMapTiles release tag:
|
|
|
|
```bash
|
|
./scripts/regenerate-openmaptiles.sh v3.13.1
|
|
```
|
|
|
|
Then follow the instructions it prints for reformatting generated code.
|
|
|
|
If you want to regenerate from a different repository than the default openmaptiles, you can specify the url like this:
|
|
|
|
```bash
|
|
./scripts/regenerate-openmaptiles.sh v3.13.1 https://raw.githubusercontent.com/openmaptiles/openmaptiles/
|
|
```
|
|
|
|
## License
|
|
|
|
All code in this repository is under the [BSD license](./LICENSE.md) and the cartography decisions encoded in the schema
|
|
and SQL are licensed under [CC-BY](./LICENSE.md).
|
|
|
|
Products or services using maps derived from OpenMapTiles schema need to visibly credit "OpenMapTiles.org" or
|
|
reference "OpenMapTiles" with a link to https://openmaptiles.org/. Exceptions to attribution requirement can be granted
|
|
on request.
|
|
|
|
For a browsable electronic map based on OpenMapTiles and OpenStreetMap data, the
|
|
credit should appear in the corner of the map. For example:
|
|
|
|
[© OpenMapTiles](https://openmaptiles.org/) [© OpenStreetMap contributors](https://www.openstreetmap.org/copyright)
|
|
|
|
For printed and static maps a similar attribution should be made in a textual
|
|
description near the image, in the same fashion as if you cite a photograph.
|