Rendering



From OpenStreetMap Wiki



Jump to navigation  Jump to search  

Rendering - Other languages

  •  Afrikaans 
  •  asturianu 
  •  azərbaycanca 
  •  Bahasa Indonesia 
  •  Bahasa Melayu 
  •  bosanski 
  •  brezhoneg 
  •  català 
  •  čeština 
  •  dansk 
  •  Deutsch 
  •  eesti 
  •  English 
  •  español 
  •  Esperanto 
  •  euskara 
  •  français 
  •  Frysk 
  •  Gàidhlig 
  •  galego 
  •  hrvatski 
  •  Ido 
  •  interlingua 
  •  íslenska 
  •  italiano 
  •  Kreyòl ayisyen 
  •  kréyòl gwadloupéyen 
  •  kurdî 
  •  latviešu 
  •  Lëtzebuergesch 
  •  lietuvių 
  •  magyar 
  •  Nederlands 
  •  norsk 
  •  norsk nynorsk 
  •  occitan 
  •  polski 
  •  português 
  •  română 
  •  sardu 
  •  shqip 
  •  slovenčina 
  •  slovenščina 
  •  srpski (latinica) 
  •  suomi 
  •  svenska 
  •  Tagalog 
  •  Tiếng Việt 
  •  Türkçe 
  •  Zazaki 
  •  Ελληνικά 
  •  беларуская 
  •  български 
  •  македонски 
  •  монгол 
  •  русский 
  •  српски / srpski 
  •  українська 
  •  հայերեն 
  •  עברית 
  •  العربية 
  •  فارسی 
  •  ਪੰਜਾਬੀ 
  •  پنجابی 
  •  پښتو 
  •  سرائیکی 
  •  नेपाली 
  •  मराठी 
  •  বাংলা 
  •  தமிழ் 
  •  മലയാളം 
  •  සිංහල 
  •  ไทย 
  •  မြန်မာဘာသာ 
  •  한국어 
  •  ქართული 
  •  ⵜⴰⵎⴰⵣⵉⵖⵜ 
  •  中文(简体) 
  •  中文(繁體) 
  •  日本語 
  •  粵語 
  • Rendering a map from raw geodata, gives us the flexibility to style it in many different ways. OpenStreetMap's free and open geodata offers tremendous power, and a range of tools are available for rendering with OpenStreetMap

    Rendering of a map is the process of making a visual image on the basis of raw geospatial data and tags. The word often applies more specifically to the production of a raster image, or a set of raster tiles, but it can refer to output in a vector-based format. "3D rendering" is also possible taking map data as an input. The ability to render maps in new and interesting styles, or highlighting features of special interest, is one of the most exciting aspects having open access to geodata. Developers in and around the OpenStreetMap community have created a wide variety of software for rendering OpenStreetMap data. The data can also be converted to other data formats for use with existing rendering software.

    Rendering on OpenStreetMap servers

    The most obvious examples of rendering OpenStreetMap data, are those found on the openstreetmap.org homepage. Click the layer picker button on the right to switch between layers showing different rendering styles. There are several layers created using Mapnik software including the default 'Standard' layer. To understand more about the infrastructure involved in rendering and serving these tiles' map styles, see Component overview and Mapnik Rendering.

    There are limitless dimensions of flexibility involved in rendering. Most rendering software supports some kind of stylesheet for controlling things like colour, line widths, text orientation, icons for points of interest, and many very subtle visual factors.

    Server and command line tools

    Name Target platforms Target languages License Notes
    Carto JavaScript N/A Apache v2 convert CartoCSS style sheets into Mapnik's own XML styling language
    Mapnik Windows, macOS, Linux C++, JavaScript, Python, Ruby, Java LGPL The most popular server-side 2D map renderer. Requires PostgreSQL and various C++ libraries. Designed to be fast and is suitable for tile generation on high-end servers but it isn't particularly easy to set up.
    MapOSMatic Cross-platform Python AGPLv3 Can render maps with a grid and street index. Written in Python/Django + mapnik.
    Smrender Cross-platform C GPLv3 a rules-based rendering engine written in C
    TileServer GL Cross-platform BSD Tile server for raster and vector tiles.
    TileSweep Linux, macOS C, JSX MIT Tile server with prerendering using libmapnik.
    Map Machine Cross-platform Python MIT A simple renderer for OpenStreetMap with custom icons intended to display as many tags as possible.

    Client-side GUI applications

    Name Target platforms License Notes
    Kendzi3d Java SE BSD Plugin for JOSM, allows viewing of edited data in 3D
    Kosmtik Node.js WTFPL CartoCSS style development tool (style preview) based on Mapnik.
    Maperitive Windows, macOS, Linux Proprietary local file (.osm, .osm.bz2 and GPX) desktop rendering application, with rendering rules defined in a text file. Generates BMP, PNG and SVG output. Not designed for high performance rendering or huge volumes of data, but easy to set up and flexible, and a good option for one-off rendering (e.g. a map of your city). It also has a tile generator, hillshading, elevation colouring and lots of other features.
    OSM2World Java SE LGPL Tool that creates 3D realistic models from OSM data files
    OSMBuildings JavaSript (WebGL) ... Tool that creates 3D models from OSM data files
    OSM go JavaScript GPL Tool that creates 3D simple models with selectable OSM-Objects from OSM data files
    Phototiler Linux, macOS, Windows Proprietary A tool to create high quality maps using photo-realistic shading and vector tile data.
    TileMill Windows, macOS, Linux 3-clause BSD development environment for CartoCSS styles

    Client-side libraries

    Main article: Frameworks
    Name Target platforms Target languages License Notes
    Carto Mobile SDK Android, iOS, Windows Phone Java, Objective-C++, Swift, C# BSD Supports 3D city overlays, editable vector overlays and is highly customizable.
    CartoType Windows, iOS, Android, macOS, Unix, Web Assembly C++, C#, Java, Swift, Objective C Proprietary Rendering and routing library. Uses OpenGL ES hardware acceleration. Customizable style sheets and route profiles. Supports perspective and 3D buildings.
    GLMap iOS, Android Objective-C, Swift, Java Proprietary Offline or online vector map rendered on device using OpenGL ES
    libosmscout Linux, macOS, iOS, Windows, Android, Qt C++, Java LGPL Offers simple, high-level interfaces to offline rendering and routing functionalities based on OpenStreetMap data.
    Mapbox Android SDK Android Java Proprietary (starting with v9.3.0)[1], BSD+JSON<[2] (earlier versions) Displays Mapbox Vector Tiles in a slippy map using OpenGL ES.
    Open source fork continued by community as MapLibre GL Native.
    Mapbox GL JS Web JavaScript Proprietary (starting with v2)[3], BSD (until v1.13) Displays Mapbox Vector Tiles in a slippy map using WebGL.
    Open source fork continued by community as MapLibre GL JS.
    Mapbox iOS SDK iOS Objective-C, Swift, Interface Builder Proprietary (starting with v5.10/6.0)[4], BSD+JSON[2] (earlier versions) Displays Mapbox Vector Tiles in a slippy map using OpenGL ES.
    Open source fork continued by community as MapLibre GL Native.
    Mapbox macOS SDK macOS Objective-C, Swift, Interface Builder, AppleScript BSD+JSON[2] Displays Mapbox Vector Tiles in a slippy map using OpenGL
    Mapbox Qt SDK Qt C++ BSD Displays Mapbox Vector Tiles in a slippy map using OpenGL
    Mapbox Unity SDK Cross-platform C# Apache/BSD Provides data for generating custom 3D scenes in Unity
    MapLibre GL JS Web JavaScript BSD Community led fork derived from Mapbox GL JS v1.13 prior to their switch to a non-OSS license
    MapLibre GL Native Android, iOS Java, Objective-C, Swift, Interface Builder BSD Community led fork derived from Mapbox GL Native 1.6.0 prior to their switch to a non-OSS license
    Mapsforge Android, Java ME Java LGPLv3 free and open toolbox that enables the community to easily create new OpenStreetMap-based applications. Provided tools and APIs include solutions for map rendering, route planning and navigation, POI indexing and search, map overlays and more.
    MapTiler JavaScript Maps SDK Web JavaScript BSD Fork of MapLibre GL JS
    Tangram Web JavaScript MIT 2D and 3D map renderer using WebGL
    Tangram ES Android, iOS, Linux, macOS C++ MIT 2D and 3D map renderer using OpenGL ES
    Prettymaps Cross-platform Python GNU AGPLv3 2D raster and vector graphics rendering using Python. Based on osmnx, matplotlib and shapely libraries.

    Historical

    The following renderers are no longer maintained but are of historical interest:


    See also

    Notes and references

    1. Contains Mapbox GL Native binary licensed under Mapbox Terms of Service. Starting with Mapbox GL Native 1.7.0, Mapbox GL Native is distributed as binary only.
  • 2.0 2.1 2.2 Contains dependency licensed under JSON license.
  • Starting with version 2.0.0, Mapbox GL JS is licensed under Mapbox Terms of Service and must only be used by clients of Mapbox.
  • Contains Mapbox GL Native binary licensed under Mapbox Terms of Service. Starting with Mapbox GL Native 1.7.0, Mapbox GL Native is distributed as binary only.
  • Retrieved from "https://wiki.openstreetmap.org/w/index.php?title=Rendering&oldid=2656877"

    Categories: 
    Rendering
    Concepts
    Hidden category: 
    Pages unavailable in Dutch
     


    Navigation menu


    Personal tools  



    English
    Create account
    Log in
     

    Namespaces  



    Page
    Discussion