Code Monkey home page Code Monkey logo

basemaps's Introduction

Protomaps Basemaps

This repository has two core parts:

  • tiles/: A Planetiler build profile that generates planet.pmtiles from OpenStreetMap and Natural Earth in 2-3 hours on a modest computer.
  • styles/: A TypeScript package that generates MapLibre GL styles, in multiple color themes, that can be used via npm or exported as JSON.

Assets such as fonts and sprites are hosted and downloadable at the basemaps-assets repository.

Development

You will need Java 21+ and Maven installed, which is available in most package managers.

Generate and inspect a basemap PMTiles of any named area:

  1. Clone this repository.
git clone [email protected]:protomaps/basemaps.git
  1. change to the tiles directory, download dependencies and compile the JAR:
cd basemaps/tiles
mvn clean package
  1. Download and generate monaco.pmtiles in the current directory:
java -jar target/*-with-deps.jar --download --force --area=monaco
  1. Switch to the app/ directory to run the map frontend:
cd app
npm install
npm run dev

The locally generated pmtiles can be fetched from http://localhost:5173/monaco.pmtiles

  1. Linting to apply code formatting
mvn spotless:apply

Licensing and Attribution Guidelines

Summary:

  • All code is BSD-3
  • Map design is CC0
  • Tilesets are ODbL, attribute OSM
  • We like shoutouts!
  • Name your fork, commercial product or service something different

We kindly request that you attribute the Protomaps project if you use the basemap styles unmodified or with additions, but you are not required to do so. The visual design copyright of the maps is released under a Creative Commons Zero (CC0) license to eliminate ambiguity around derivative or combined works of map styling code, and to publish software, such as NPM packages, under the standard BSD-3 license.

The tilesets that power the Protomaps basemap are Produced Works of the OpenStreetMap dataset under the Open Database License. Web maps and native apps that use this Produced Work must visibly attribute © OpenStreetMap - for example, in the corner of the map display. If your map only uses the Map Styles with non-OpenStreetMap tilesets, this attribution is not required.

Example web map corner attribution:

<a href="https://github.com/protomaps/basemaps">Protomaps</a> © <a href="https://openstreetmap.org">OpenStreetMap</a>

Tilesets also include data from Natural Earth, which does not require corner attribution. Other data sources your map uses may require additional attribution.

The software in this repository is made available under a BSD 3-Clause License, and includes license notices related to Protomaps LLC, Mapzen, and the Linux Foundation. You must retain these license notices in software source code derived from this repository.

If you distribute a modified “fork” of these basemap styles or tilesets, or provide a tiles API based on them, you must name your product or service something different from Protomaps. Free and unmodified redistributions of tiles and styles are permitted to use the name. No restrictions apply to the underlying technology .pmtiles which is an open specification in the public domain.

These guidelines are subject to change with the addition of other open datasets. Any questions can be addressed to [email protected].

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.