All Projects → maputnik → Osm Liberty

maputnik / Osm Liberty

Licence: other
A free Mapbox GL basemap style for everyone

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Osm Liberty

Editor
An open source visual editor for the 'Mapbox Style Specification'
Stars: ✭ 1,167 (+405.19%)
Mutual labels:  cartography, mapbox-gl, mapbox-gl-js, maps
deck.gl-time-series-widget
A React Time Slider implementation for DECK.GL - (non)temporal data - by CPU filtering ⌛
Stars: ✭ 19 (-91.77%)
Mutual labels:  mapbox-gl, maps, mapbox-gl-js
react-map-gl-cluster
Urbica React Cluster Component for Mapbox GL JS
Stars: ✭ 27 (-88.31%)
Mutual labels:  mapbox-gl, maps, mapbox-gl-js
Mapdeck
R interface to Deck.gl and Mapbox
Stars: ✭ 296 (+28.14%)
Mutual labels:  mapbox-gl, mapbox-gl-js, maps
angular-mapboxgl-directive
AngularJS directive for Mapbox GL
Stars: ✭ 43 (-81.39%)
Mutual labels:  mapbox-gl, maps, mapbox-gl-js
Martin
Blazing fast and lightweight PostGIS vector tiles server
Stars: ✭ 540 (+133.77%)
Mutual labels:  mapbox-gl, mapbox-gl-js
Mapbox Gl Draw
Draw tools for mapbox-gl-js
Stars: ✭ 569 (+146.32%)
Mutual labels:  mapbox-gl, mapbox-gl-js
Thematic Cartography
A short, friendly guide to basic principles of thematic mapping
Stars: ✭ 32 (-86.15%)
Mutual labels:  cartography, maps
Mapbox Gl Js
Interactive, thoroughly customizable maps in the browser, powered by vector tiles and WebGL
Stars: ✭ 8,017 (+3370.56%)
Mutual labels:  mapbox-gl, mapbox-gl-js
Khartis
Khartis - thematic mapping
Stars: ✭ 49 (-78.79%)
Mutual labels:  cartography, maps
Magrit
♠ Thematic cartography ♠
Stars: ✭ 60 (-74.03%)
Mutual labels:  cartography, maps
Mapbox Gl Native
Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL
Stars: ✭ 4,091 (+1671%)
Mutual labels:  mapbox-gl, maps
Map33.js
A JavaScript library to make 3D maps with three.js.
Stars: ✭ 317 (+37.23%)
Mutual labels:  cartography, maps
React Map Gl
React friendly API wrapper around MapboxGL JS
Stars: ✭ 6,244 (+2603.03%)
Mutual labels:  mapbox-gl, mapbox-gl-js
React Map Gl
React Component Library for Mapbox GL JS
Stars: ✭ 298 (+29%)
Mutual labels:  mapbox-gl, mapbox-gl-js
Osmscout Server
Maps server providing tiles, geocoder, and router
Stars: ✭ 105 (-54.55%)
Mutual labels:  mapbox-gl, maps
Osmic
CC0 SVG Map Icons, mirror of repo on Gitlab
Stars: ✭ 89 (-61.47%)
Mutual labels:  cartography, maps
React Mapbox Gl
A React binding of mapbox-gl-js
Stars: ✭ 1,683 (+628.57%)
Mutual labels:  mapbox-gl, mapbox-gl-js
Pure Maps
Maps and navigation
Stars: ✭ 136 (-41.13%)
Mutual labels:  mapbox-gl, maps
Mappa
A canvas wrapper for Maps 🗺 🌍
Stars: ✭ 290 (+25.54%)
Mutual labels:  mapbox-gl, maps

OSM Liberty BSD licensed GitHub CI status

OSM Liberty

A free Mapbox GL basemap style for everyone with complete liberty to use and self host. OSM Liberty is a fork of OSM Bright based on free data sources with a mission for a clear good looking design for the everyday user. It is based on the vector tile schema of OpenMapTiles.

Preview OSM Liberty with Maputnik

Usage

You can use the style in your Mapbox GL maps.

By default, the vector tiles and glyphs are served from Maptiler Cloud and the raster tiles and sprites directly from GitHub. You would need to subscribe to Maptiler Cloud to get an access key and replace the placeholder {key} for the vector source and glyphs with your own key.

Another option is to create your own vector tiles with OpenMapTiles and host the tiles and assets yourself for complete liberty.

<!DOCTYPE html>
<html>
<head>
  <meta charset=utf-8 />
  <title>OSM Liberty</title>
  <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
  <style>
    body { margin:0; padding:0; }
    #map { position:absolute; top:0; bottom:0; width:100%; }
  </style>
  <script src='https://api.mapbox.com/mapbox-gl-js/v1.10.1/mapbox-gl.js'></script>
  <link href='https://api.mapbox.com/mapbox-gl-js/v1.10.1/mapbox-gl.css' rel='stylesheet' />
</head>
<body>
  <div id='map'></div>
  <script>
  var map = new mapboxgl.Map({
      container: 'map',
      style: 'https://maputnik.github.io/osm-liberty/style.json',
      center: [8.538961,47.372476],
      zoom: 5,
      hash: true
  });
  </script>
</body>
</html>

Data Sources

Map Design

The map design originates from OSM Bright but strives to reach a unobtrusive and clean design for everyday use. Colored relief shading from Natural Earth make the low zoom levels look good.

OSM Liberty Map demo

Edit the Style

You can edit the style directly online in Maputnik.

This style actually triggered the need for the development of Maputnik.

A pre-commit hook is included to validate and format the JSON styles using mapbox-gl-style-spec. To use, just install the NPM dev dependencies:

npm install

and then validate or format the style with

npm run validate
npm run format

Validation and reformatting will happen automatically on commit if you have the dependencies installed.

Icon Design

A Maki icon set using colors to distinguish between icon categories.

Maki is a living project and adds new icons over time, which means that there could be new icons that OSM Liberty could use for POIs. maki_list.py is a simple script to list both the names in OSM Liberty's iconset that don't map to any valid Maki name, and the Maki names that are not currently used in OSM Liberty's iconset. You can run the script with python3 maki_list.py.

Color Palette

Color Name Hex Value
Blue #5d60be
Light Blue #4898ff
Orange #d97200
Red #ba3827
Brown #725a50
Green #76a723

Modify Icons

  1. Take the iconset.json and import it to the Maki Editor.
  2. Apply your changes and download the icons in SVG format and the iconset in JSON format.
  3. Optional: Format the JSON with cat iconset.json | jq -MS '.' for better legibility.
  4. Add the SVG files from the folder svgs_not_in_iconset to the folder svgs downloaded from the Maki Editor. These are the SVGs for road shields, the dot used for city and town layers and the road area pattern which could not be modified using the Maki Editor. To modify these you could use e.g. Inkscape.
  5. Install spritezero-cli: npm install -g @mapbox/spritezero-cli
  6. Generate the low resolution sprite: spritezero osm-liberty ./svgs/
  7. Generate the high resolution sprite: spritezero --retina [email protected] ./svgs/

Have a look at ...

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].