{"id":13468023,"url":"https://github.com/onthegomap/planetiler","last_synced_at":"2025-05-14T05:12:02.915Z","repository":{"id":36952221,"uuid":"419152443","full_name":"onthegomap/planetiler","owner":"onthegomap","description":"Flexible tool to build planet-scale vector tilesets from OpenStreetMap data fast","archived":false,"fork":false,"pushed_at":"2025-05-01T08:51:39.000Z","size":63600,"stargazers_count":1607,"open_issues_count":82,"forks_count":131,"subscribers_count":22,"default_branch":"main","last_synced_at":"2025-05-01T09:36:38.479Z","etag":null,"topics":["maps","openstreetmap","osm","overture","vector-tiles"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/onthegomap.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"onthegomap"}},"created_at":"2021-10-20T01:59:38.000Z","updated_at":"2025-05-01T08:51:37.000Z","dependencies_parsed_at":"2023-12-25T21:28:36.891Z","dependency_job_id":"3a8216b2-4c54-44d2-8feb-190c71a8e34b","html_url":"https://github.com/onthegomap/planetiler","commit_stats":{"total_commits":1064,"total_committers":26,"mean_commits":40.92307692307692,"dds":0.5112781954887218,"last_synced_commit":"4c2e187ea3dc148d5c6e54c758b60969d2e78898"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onthegomap%2Fplanetiler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onthegomap%2Fplanetiler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onthegomap%2Fplanetiler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onthegomap%2Fplanetiler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/onthegomap","download_url":"https://codeload.github.com/onthegomap/planetiler/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254076850,"owners_count":22010611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["maps","openstreetmap","osm","overture","vector-tiles"],"created_at":"2024-07-31T15:01:04.336Z","updated_at":"2025-05-14T05:11:57.892Z","avatar_url":"https://github.com/onthegomap.png","language":"Java","funding_links":["https://github.com/sponsors/onthegomap"],"categories":["Java","Tools","CLI Utilities"],"sub_categories":[],"readme":"# Planetiler\n\nPlanetiler (_**pla**\u0026middot;nuh\u0026middot;tai\u0026middot;lr_, formerly named \"Flatmap\") is a tool that generates\n[Vector Tiles](https://github.com/mapbox/vector-tile-spec/tree/master/2.1)\nfrom geographic data sources like [OpenStreetMap](https://www.openstreetmap.org/). Planetiler aims to be fast and\nmemory-efficient so that you can build a map of the world in a few hours on a single machine without any external tools\nor database.\n\nVector tiles contain raw point, line, and polygon geometries that clients like [MapLibre](https://github.com/maplibre)\ncan use to render custom maps in the browser, native apps, or on a server. Planetiler packages tiles into\nan [MBTiles](https://github.com/mapbox/mbtiles-spec/blob/master/1.3/spec.md) (sqlite)\nor [PMTiles](https://github.com/protomaps/PMTiles) file that can be served using tools\nlike [TileServer GL](https://github.com/maptiler/tileserver-gl) or [Martin](https://github.com/maplibre/martin) or\neven [queried directly from the browser](https://github.com/protomaps/PMTiles/tree/main/js).\nSee [awesome-vector-tiles](https://github.com/mapbox/awesome-vector-tiles) for more projects that work with data in this\nformat.\n\nPlanetiler works by mapping input elements to vector tile features, flattening them into a big list, then sorting by\ntile ID to group into tiles. See [ARCHITECTURE.md](ARCHITECTURE.md) for more details or\nthis [blog post](https://medium.com/@onthegomap/dc419f3af75d?source=friends_link\u0026sk=fb71eaa0e2b26775a9d98c81750ec10b)\nfor more of the backstory.\n\n## Demo\n\nSee the [live demo](https://onthegomap.github.io/planetiler-demo/) of vector tiles created by Planetiler\nand [hosted by OpenStreetMap US](https://github.com/osmus/tileservice).\n\n[![Planetiler Demo Screenshot](./diagrams/demo.png)](https://onthegomap.github.io/planetiler-demo/)\n[© OpenMapTiles](https://www.openmaptiles.org/) [© OpenStreetMap contributors](https://www.openstreetmap.org/copyright)\n\n## Usage\n\nTo generate a map of an area using the [OpenMapTiles profile](https://github.com/openmaptiles/planetiler-openmaptiles),\nyou will need:\n\n- Java 21+ (see [CONTRIBUTING.md](CONTRIBUTING.md)) or [Docker](https://docs.docker.com/get-docker/)\n- at least 1GB of free SSD disk space plus 5-10x the size of the `.osm.pbf` file\n- at least 0.5x as much free RAM as the input `.osm.pbf` file size\n\n#### To build the map:\n\nUsing Java, download `planetiler.jar` from\nthe [latest release](https://github.com/onthegomap/planetiler/releases/latest)\nand run it:\n\n```bash\nwget https://github.com/onthegomap/planetiler/releases/latest/download/planetiler.jar\njava -Xmx1g -jar planetiler.jar --download --area=monaco\n```\n\nOr using Docker:\n\n```bash\ndocker run -e JAVA_TOOL_OPTIONS=\"-Xmx1g\" -v \"$(pwd)/data\":/data ghcr.io/onthegomap/planetiler:latest --download --area=monaco\n```\n\n:warning: This starts off by downloading about 1GB of [data sources](NOTICE.md#data) required by the OpenMapTiles\nprofile\nincluding ~750MB for [ocean polygons](https://osmdata.openstreetmap.de/data/water-polygons.html) and ~240MB\nfor [Natural Earth Data](https://www.naturalearthdata.com/).\n\n\u003cdetails\u003e\n\u003csummary\u003eTo download smaller extracts just for Monaco:\u003c/summary\u003e\n\nJava:\n\n```bash\njava -Xmx1g -jar planetiler.jar --download --area=monaco \\\n  --water-polygons-url=https://github.com/onthegomap/planetiler/raw/main/planetiler-core/src/test/resources/water-polygons-split-3857.zip \\\n  --natural-earth-url=https://github.com/onthegomap/planetiler/raw/main/planetiler-core/src/test/resources/natural_earth_vector.sqlite.zip\n```\n\nDocker:\n\n```bash\ndocker run -e JAVA_TOOL_OPTIONS=\"-Xmx1g\" -v \"$(pwd)/data\":/data ghcr.io/onthegomap/planetiler:latest --download --area=monaco \\\n  --water-polygons-url=https://github.com/onthegomap/planetiler/raw/main/planetiler-core/src/test/resources/water-polygons-split-3857.zip \\\n  --natural-earth-url=https://github.com/onthegomap/planetiler/raw/main/planetiler-core/src/test/resources/natural_earth_vector.sqlite.zip\n```\n\nYou will need the full data sources to run anywhere besides Monaco.\n\n\u003c/details\u003e\n\n#### To view tiles locally:\n\nUsing [Node.js](https://nodejs.org/en/download/package-manager):\n\n```bash\nnpm install -g tileserver-gl-light\ntileserver-gl-light data/output.mbtiles\n```\n\nOr using [Docker](https://docs.docker.com/get-docker/):\n\n```bash\ndocker run --rm -it -v \"$(pwd)/data\":/data -p 8080:8080 maptiler/tileserver-gl -p 8080\n```\n\nThen open http://localhost:8080 to view tiles.\n\nSome common arguments:\n\n- `--output` tells planetiler where to write output to, and what format to write it in. For\n  example `--output=australia.pmtiles` creates a pmtiles archive named `australia.pmtiles`.\n  It is best to specify the full path to the file. In docker image you should be using `/data/australia.pmtiles` to let the docker know where to write the file.\n- `--download` downloads input sources automatically and `--only-download` exits after downloading\n- `--area=monaco` downloads a `.osm.pbf` extract from [Geofabrik](https://download.geofabrik.de/)\n- `--osm-path=path/to/file.osm.pbf` points Planetiler at an existing OSM extract on disk\n- `-Xmx1g` controls how much RAM to give the JVM (recommended: 0.5x the input .osm.pbf file size to leave room for\n  memory-mapped files)\n- `--force` overwrites the output file\n- `--help` shows all of the options and exits\n\n### Git submodules\n\nPlanetiler has a submodule dependency\non [planetiler-openmaptiles](https://github.com/openmaptiles/planetiler-openmaptiles). Add `--recurse-submodules`\nto `git clone`, `git pull`, or `git checkout` commands to also update submodule dependencies.\n\nTo clone the repo with submodules:\n\n```bash\ngit clone --recurse-submodules https://github.com/onthegomap/planetiler.git\n```\n\nIf you already pulled the repo, you can initialize submodules with:\n\n```bash\ngit submodule update --init\n```\n\nTo force git to always update submodules (recommended), run this command in your local repo:\n\n```bash\ngit config --local submodule.recurse true\n```\n\nLearn more about working with submodules [here](https://git-scm.com/book/en/v2/Git-Tools-Submodules).\n\n## Generating a Map of the World\n\nSee [PLANET.md](PLANET.md).\n\n## Generating Custom Vector Tiles\n\nIf you want to customize the OpenMapTiles schema or generate an mbtiles file with OpenMapTiles + extra layers, then\nfork https://github.com/openmaptiles/planetiler-openmaptiles make changes there, and run directly from that repo. It\nis a standalone Java project with a dependency on Planetiler.\n\nIf you want to generate a separate mbtiles file with overlay layers or a full custom basemap, then:\n\n- For simple schemas, run a recent planetiler jar or docker image with a custom schema defined in a yaml\n  configuration file. See [planetiler-custommap](planetiler-custommap) for details.\n- For complex schemas (or if you prefer working in Java), create a new Java project\n  that [depends on Planetiler](#use-as-a-library). See the [planetiler-examples](planetiler-examples) project for a\n  working example.\n\nIf you want to customize how planetiler works internally, then fork this project, build from source, and\nconsider [contributing](#contributing) your change back for others to use!\n\n## Benchmarks\n\nSome example runtimes for the OpenMapTiles profile (excluding downloading resources):\n\n|                     Input                      | Version |             Machine             |           Time            | output size  |                                                      Logs                                                      |\n|------------------------------------------------|---------|---------------------------------|---------------------------|--------------|----------------------------------------------------------------------------------------------------------------|\n| s3://osm-pds/2024/planet-240115.osm.pbf (69GB) | 0.7.0   | c3d-standard-180 (180cpu/720GB) | 22m cpu:44h34m  avg:120   | 69GB pmtiles | [logs](planet-logs/v0.7.0-planet-c3d-standard-180.txt)                                                         |\n| s3://osm-pds/2024/planet-240108.osm.pbf (73GB) | 0.7.0   | c7gd.16xlarge (64cpu/128GB)     | 42m cpu:42m28s avg:52     | 69GB pmtiles | [logs](planet-logs/v0.7.0-planet-c7gd-128gb.txt)                                                               |\n| s3://osm-pds/2022/planet-220530.osm.pbf (69GB) | 0.5.0   | c6gd.16xlarge (64cpu/128GB)     | 53m cpu:41h58m avg:47.1   | 79GB mbtiles | [logs](planet-logs/v0.5.0-planet-c6gd-128gb.txt), [VisualVM Profile](planet-logs/v0.5.0-planet-c6gd-128gb.nps) |\n| s3://osm-pds/2022/planet-220530.osm.pbf (69GB) | 0.5.0   | c6gd.8xlarge (32cpu/64GB)       | 1h27m cpu:37h55m avg:26.1 | 79GB mbtiles | [logs](planet-logs/v0.5.0-planet-c6gd-64gb.txt)                                                                |\n| s3://osm-pds/2022/planet-220530.osm.pbf (69GB) | 0.5.0   | c6gd.4xlarge (16cpu/32GB)       | 2h38m cpu:34h3m avg:12.9  | 79GB mbtiles | [logs](planet-logs/v0.5.0-planet-c6gd-32gb.txt)                                                                |\n\nMerging nearby buildings at z13 is very expensive, when run with `--building-merge-z13=false`:\n\n|                     Input                      | Version |             Machine             |           Time           | output size  |                                                                            Logs                                                                            |\n|------------------------------------------------|---------|---------------------------------|--------------------------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| s3://osm-pds/2024/planet-240115.osm.pbf (69GB) | 0.7.0   | c3d-standard-180 (180cpu/720GB) | 16m cpu:27h45m avg:104   | 69GB pmtiles | [logs](planet-logs/v0.7.0-planet-c3d-standard-180-no-z13-building-merge.txt)                                                                               |\n| s3://osm-pds/2024/planet-240108.osm.pbf (73GB) | 0.7.0   | c7gd.16xlarge (64cpu/128GB)     | 29m cpu:23h57 avg:50     | 69GB pmtiles | [logs](planet-logs/v0.7.0-planet-c7gd-128gb-no-z13-building-merge.txt)                                                                                     |\n| s3://osm-pds/2024/planet-240108.osm.pbf (73GB) | 0.7.0   | c7gd.2xlarge (8cpu/16GB)        | 3h35m cpu:19h45 avg:5.5  | 69GB pmtiles | [logs](planet-logs/v0.7.0-planet-c7gd-16gb-no-z13-building-merge.txt)                                                                                      |\n| s3://osm-pds/2024/planet-240108.osm.pbf (73GB) | 0.7.0   | im4gn.large (2cpu/8GB)          | 18h18m cpu:28h6m avg:1.5 | 69GB pmtiles | [logs](planet-logs/v0.7.0-planet-im4gn-8gb-no-z13-building-merge.txt)                                                                                      |\n| s3://osm-pds/2022/planet-220530.osm.pbf (69GB) | 0.5.0   | c6gd.16xlarge (64cpu/128GB)     | 39m cpu:27h4m avg:42.1   | 79GB mbtiles | [logs](planet-logs/v0.5.0-planet-c6gd-128gb-no-z13-building-merge.txt), [VisualVM Profile](planet-logs/v0.5.0-planet-c6gd-128gb-no-z13-building-merge.nps) |\n\n## Alternatives\n\nSome other tools that generate vector tiles from OpenStreetMap data:\n\n- [OpenMapTiles](https://github.com/openmaptiles/openmaptiles) is the reference implementation of\n  the [OpenMapTiles schema](https://openmaptiles.org/schema/) that\n  the [OpenMapTiles profile](https://github.com/openmaptiles/planetiler-openmaptiles)\n  is based on. It uses an intermediate postgres database and operates in two modes:\n  1. Import data into database (~1 day) then serve vector tiles directly from the database. Tile serving is slower and\n     requires bigger machines, but lets you easily incorporate realtime updates\n  2. Import data into database (~1 day) then pregenerate every tile for the planet into an mbtiles file which\n     takes [over 100 days](https://github.com/openmaptiles/openmaptiles/issues/654#issuecomment-724606293)\n     or a cluster of machines, but then tiles can be served faster on smaller machines\n- [Tilemaker](https://github.com/systemed/tilemaker) uses a similar approach to Planetiler (no intermediate database),\n  is more mature, and has a convenient lua API for building custom profiles without recompiling the tool, but takes\n  [about a day](https://github.com/systemed/tilemaker/issues/315#issue-994322040) to generate a map of the world\n\nSome companies that generate and host tiles for you:\n\n- [Mapbox](https://www.mapbox.com/) - data from the pioneer of vector tile technologies\n- [Maptiler](https://www.maptiler.com/) - data from the creator of OpenMapTiles schema\n- [Stadia Maps](https://stadiamaps.com/) - what [onthegomap.com](https://onthegomap.com/) uses in production\n\nIf you want to host tiles yourself but have someone else generate them for you, those companies also offer plans to\ndownload regularly-updated tilesets.\n\n## Features\n\n- Supports [Natural Earth](https://www.naturalearthdata.com/),\n  OpenStreetMap [.osm.pbf](https://wiki.openstreetmap.org/wiki/PBF_Format),\n  [`geopackage`](https://www.geopackage.org/),\n  and [Esri Shapefiles](https://en.wikipedia.org/wiki/Shapefile) data sources\n- Writes to [MBTiles](https://github.com/mapbox/mbtiles-spec/blob/master/1.3/spec.md) or\n  or [PMTiles](https://github.com/protomaps/PMTiles) output.\n- Java-based [Profile API](planetiler-core/src/main/java/com/onthegomap/planetiler/Profile.java) to customize how source\n  elements map to vector tile features, and post-process generated tiles\n  using [JTS geometry utilities](https://github.com/locationtech/jts)\n- [YAML config file format](planetiler-custommap) that lets you create custom schemas without writing Java code\n- Merge nearby lines or polygons with the same tags before emitting vector tiles\n- Automatically fixes self-intersecting polygons\n- Built-in OpenMapTiles profile based on [OpenMapTiles](https://openmaptiles.org/) v3.13.1\n- Optionally download additional name translations for elements from Wikidata\n- Export real-time stats to a [prometheus push gateway](https://github.com/prometheus/pushgateway) using\n  `--pushgateway=http://user:password@ip` argument (and a [grafana dashboard](grafana.json) for viewing)\n- Automatically downloads region extracts from [Geofabrik](https://download.geofabrik.de/)\n  using `geofabrik:australia` shortcut as a source URL\n- Unit-test profiles to verify mapping logic, or integration-test to verify the actual contents of a generated mbtiles\n  file ([example](planetiler-examples/src/test/java/com/onthegomap/planetiler/examples/BikeRouteOverlayTest.java))\n\n## Limitations\n\n- It is harder to join and group data than when using database. Planetiler automatically groups features into tiles, so\n  you can easily post-process nearby features in the same tile before emitting, but if you want to group or join across\n  features in different tiles, then you must explicitly store data when processing a feature to use with later features\n  or store features and defer processing until an input source is\n  finished  ([boundary layer example](https://github.com/onthegomap/planetiler/blob/9e9cf7c413027ffb3ab5c7436d11418935ae3f6a/planetiler-basemap/src/main/java/com/onthegomap/planetiler/basemap/layers/Boundary.java#L294))\n- Planetiler only does full imports from `.osm.pbf` snapshots, there is no way to incorporate real-time updates.\n\n## Use as a library\n\nSince Java 22, you can use Planetile as a library with a custom profile by running:\n\n`java -cp planetiler.jar Profile.java`.\n\nSee [the examples](https://github.com/onthegomap/planetiler-examples) for more details.\n\nPlanetiler can be used as a maven-style dependency in a Java project using the settings below:\n\n### Maven\n\nAdd this repository block to your `pom.xml`:\n\n```xml\n\u003crepositories\u003e\n  \u003crepository\u003e\n    \u003cid\u003eosgeo\u003c/id\u003e\n    \u003cname\u003eOSGeo Release Repository\u003c/name\u003e\n    \u003curl\u003ehttps://repo.osgeo.org/repository/release/\u003c/url\u003e\n    \u003csnapshots\u003e\n      \u003cenabled\u003efalse\u003c/enabled\u003e\n    \u003c/snapshots\u003e\n    \u003creleases\u003e\n      \u003cenabled\u003etrue\u003c/enabled\u003e\n    \u003c/releases\u003e\n  \u003c/repository\u003e\n\u003c/repositories\u003e\n```\n\nThen add the following dependency:\n\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.onthegomap.planetiler\u003c/groupId\u003e\n  \u003cartifactId\u003eplanetiler-core\u003c/artifactId\u003e\n  \u003cversion\u003e${planetiler.version}\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n### Gradle\n\nSet up your repositories block::\n\n```groovy\nmavenCentral()\nmaven {\n    url \"https://repo.osgeo.org/repository/release/\"\n}\n```\n\nSet up your dependencies block:\n\n```groovy\nimplementation 'com.onthegomap.planetiler:planetiler-core:\u003cversion\u003e'\n```\n\n## Contributing\n\nPull requests are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for details.\n\n## Support\n\nFor general questions, check out the #planetiler channel on [OSM-US Slack](https://osmus.slack.com/) (get an\ninvite [here](https://slack.openstreetmap.us/)), or start\na [GitHub discussion](https://github.com/onthegomap/planetiler/discussions).\n\nFound a bug or have a feature request? Open a [GitHub issue](https://github.com/onthegomap/planetiler/issues) to report.\n\nThis is a side project, so support is limited. If you have the time and ability, feel free to open a pull request to fix\nissues or implement new features.\n\n## Acknowledgement\n\nPlanetiler is made possible by these awesome open source projects:\n\n- [OpenMapTiles](https://openmaptiles.org/) for the [schema](https://openmaptiles.org/schema/)\n  and [reference implementation](https://github.com/openmaptiles/openmaptiles)\n  that\n  the [openmaptiles profile](https://github.com/openmaptiles/planetiler-openmaptiles/tree/main/src/main/java/org/openmaptiles/layers)\n  is based on\n- [Graphhopper](https://www.graphhopper.com/) for basis of utilities to process OpenStreetMap data in Java\n- [JTS Topology Suite](https://github.com/locationtech/jts) for working with vector geometries\n- [Geotools](https://github.com/geotools/geotools) for shapefile processing\n- [SQLite JDBC Driver](https://github.com/xerial/sqlite-jdbc) for reading Natural Earth data and writing MBTiles files\n- [MessagePack](https://msgpack.org/) for compact binary encoding of intermediate map features\n- [geojson-vt](https://github.com/mapbox/geojson-vt) for the basis of\n  the [stripe clipping algorithm](planetiler-core/src/main/java/com/onthegomap/planetiler/render/TiledGeometry.java)\n  that planetiler uses to slice geometries into tiles\n- [java-vector-tile](https://github.com/ElectronicChartCentre/java-vector-tile) for the basis of\n  the [vector tile encoder](planetiler-core/src/main/java/com/onthegomap/planetiler/VectorTile.java)\n- [imposm3](https://github.com/omniscale/imposm3) for the basis\n  of [OSM multipolygon processing](planetiler-core/src/main/java/com/onthegomap/planetiler/reader/osm/OsmMultipolygon.java)\n  and [tag parsing utilities](planetiler-core/src/main/java/com/onthegomap/planetiler/util/Imposm3Parsers.java)\n- [HPPC](http://labs.carrotsearch.com/) for high-performance primitive Java collections\n- [Osmosis](https://wiki.openstreetmap.org/wiki/Osmosis) for Java utilities to parse OpenStreetMap data\n- [JNR-FFI](https://github.com/jnr/jnr-ffi) for utilities to access low-level system utilities to improve memory-mapped\n  file performance.\n- [cel-java](https://github.com/projectnessie/cel-java) for the Java implementation of\n  Google's [Common Expression Language](https://github.com/google/cel-spec) that powers dynamic expressions embedded in\n  schema config files.\n- [PMTiles](https://github.com/protomaps/PMTiles) optimized tile storage format\n- [Apache Parquet](https://github.com/apache/parquet-mr) to support reading geoparquet files in java (with dependencies\n  minimized by [parquet-floor](https://github.com/strategicblue/parquet-floor))\n\nSee [NOTICE.md](NOTICE.md) for a full list and license details.\n\n## Author\n\nPlanetiler was created by [Michael Barry](https://github.com/msbarry) for future use generating custom basemaps or\noverlays for [On The Go Map](https://onthegomap.com).\n\n## License and Attribution\n\nPlanetiler source code is licensed under the [Apache 2.0 License](LICENSE), so it can be used and modified in commercial\nor other open source projects according to the license guidelines.\n\nMaps built using planetiler do not require any special attribution, but the data or schema used might. Any maps\ngenerated from OpenStreetMap data\nmust [visibly credit OpenStreetMap contributors](https://www.openstreetmap.org/copyright). Any map generated with the\nprofile based on OpenMapTiles or a derivative\nmust [visibly credit OpenMapTiles](https://github.com/openmaptiles/openmaptiles/blob/master/LICENSE.md#design-license-cc-by-40)\nas well.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonthegomap%2Fplanetiler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fonthegomap%2Fplanetiler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonthegomap%2Fplanetiler/lists"}