A general-purpose OpenStreetMap mapnik style, in CartoCSS
CartoCSS Python Lua Shell
Latest commit 2ae0f05 Nov 22, 2017 @kocio-pl kocio-pl Update RELEASES.md
Permalink
Failed to load latest commit information.
scripts Bullet-proof Docker variable turning with PostGIS. Aug 1, 2017
symbols Merge pull request #2891 from kocio-pl/fitness Nov 12, 2017
.dockerignore Bullet-proof Docker variable turning with PostGIS. Aug 1, 2017
.gitattributes Adding .gitattributes to Docker configuration Jul 8, 2017
.gitignore Fixing .env file creation for Docker Jul 20, 2017
.travis.yml Don't create populated places file for Travis Aug 26, 2017
CARTOGRAPHY.md Fix tyop Feb 8, 2017
CHANGELOG.md Update CHANGELOG.md Nov 17, 2017
CODE_OF_CONDUCT.md Update CoC to follow upstream Go changes Dec 17, 2016
CONTRIBUTING.md follow relabelling easy issues, fixes #2899 Oct 16, 2017
DOCKER.md explain also repositories and link to external docs Nov 2, 2017
Dockerfile Fixing line wrapping bug in Docker Sep 10, 2017
Dockerfile.db Bullet-proof Docker variable turning with PostGIS. Aug 1, 2017
Dockerfile.import Fixing line wrapping bug in Docker Sep 10, 2017
INSTALL.md Use Noto Sans Arabic Oct 8, 2017
LICENSE.txt Explain that the cartography is covered by the license (#2474) Jan 19, 2017
README.md Adding sommerluk as a project maintainer to README.md Sep 18, 2017
RELEASES.md Update RELEASES.md Nov 22, 2017
USECASES.md Update USECASES.md Nov 12, 2017
addressing.mss Better minimal distance betwee Oct 7, 2017
admin.mss Clean up low-zoom levels Nov 7, 2017
aerialways.mss add rendering for aerialway=mixed_lift (same as gondola), fixes #347 Mar 22, 2017
amenity-points.mss Merge pull request #2949 from math1985/black-icons Nov 20, 2017
buildings.mss Showing all stations as major buildings Oct 26, 2017
docker-compose.yml Bullet-proof Docker variable turning with PostGIS. Aug 1, 2017
ferry-routes.mss Drop halo from ferry labels Sep 14, 2017
fonts.mss Correct font fallback order Oct 8, 2017
indexes.sql Add an index for water polygons Aug 27, 2016
indexes.yml Add an index for water polygons Aug 27, 2016
landcover.mss Merge pull request #2934 from math1985/parking-color Nov 14, 2017
openstreetmap-carto.lua Remove support for old-style multipolygons Apr 16, 2017
openstreetmap-carto.style Add usage notes to openstreetmap-carto.style Jan 19, 2017
placenames.mss Fixing village label size progression Sep 1, 2017
power.mss thinner power=line and power=minor_line Jun 12, 2016
preview.png Update preview.png - parkings and station labels Nov 14, 2017
project.mml Merge pull request #2891 from kocio-pl/fitness Nov 12, 2017
road-colors-generated.mss Split up roads.mss, refactor road colour script Jul 11, 2016
road-colors.yaml Let generate_shields use road-colors.yaml Jul 11, 2016
roads.mss Clean up low-zoom levels Nov 7, 2017
shapefiles.mss Revert "Merge remote-tracking branch 'pnorman/water_polygons'" Jun 18, 2016
stations.mss station typography Nov 2, 2017
style.mss Improve mid-zoom levels and water color Jun 3, 2017
water-features.mss use variables for commonly used halo values Aug 31, 2016
water.mss Start showing water areas from z0 Sep 28, 2017

README.md

OpenStreetMap Carto

screenshot

These are the CartoCSS map stylesheets for the Standard map layer on OpenStreetMap.org.

These stylesheets can be used in your own cartography projects, and are designed to be easily customised. They work with Kosmtik and also with the command-line CartoCSS processor.

Since August 2013 these stylesheets have been used on the OSMF tileservers (tile.openstreetmap.org), and are updated from each point release. They supersede the previous XML-based stylesheets.

Installation

You need a PostGIS database populated with OpenStreetMap data along with auxillary shapefiles. See INSTALL.md.

Contributing

Contributions to this project are welcome, see CONTRIBUTING.md for full details.

Versioning

This project follows a MAJOR.MINOR.PATCH versioning system. In the context of a cartographic project you can expect the following:

  • PATCH: When a patch version is released, there would be no reason not to upgrade. PATCH versions contain only bugfixes e.g. stylesheets won't compile, features are missing by mistake, etc.
  • MINOR: These are routine releases and happen every 2-5 weeks. They will contain changes to what's shown on the map, how they appear, new features added and old features removed. They may rarely contain changes to assets i.e. shapefiles and fonts but will not contain changes that require software or database upgrades.
  • MAJOR: Any change the requires reloading a database, or upgrading software dependecies will trigger a major version change.

Roadmap

Initial Release (v1.0.0, December 2012)

This was a full re-implementation of the original OSM style, with only a few bugs discovered later. There's been no interest in creating further point releases in the v1.x series.

Mapnik 2 work (v2.x)

The v2.x series initially focused on refactoring the style, both to to fix glitches and to leverage new features in CartoCSS / Mapnik to simplify the stylesheets with only small changes to the output, as well as removing 'old-skool' tagging methods that are now rarely used. It then started adding new features.

Mapnik and CartoCSS update (v3.x)

The v3.x series was triggered by an update to the required Mapnik and CartoCSS versions.

Care has been taken to not get too clever with variables and expressions. While these often make it easier to customise, experience has shown that over-cleverness (e.g. interpolated entities) can discourage contributions.

Database schema change (v4.x)

The v4.x series includes osm2pgsql lua transforms and a hstore column with all other tags, allowing use of more OpenStreetMap data. Users need to reload their databases, v3.x compatibility is not maintained.

There are over 300 open requests, some that have been open for years. These need reviewing and dividing into obvious fixes, or additional new features that need some cartographic judgement.

Alternatives

There are many open-source stylesheets written for creating OpenStreetMap-based maps using Mapnik, many based on this project. Some alternatives are:

Maintainers