Skip to content

Map rendering engine

지도 렌더링 프로세스는 일반적으로 원본 지리 데이터을 가져다가 시각적 지도로 만드는 것을 말한다.

Server and command line tools

Name

Target platforms

Target languages

License

Notes

AlaCarte

Windows, Linux

N/A

AGPL

Carto

JavaScript

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.

MapSurfer.NET

Windows, Linux

C#

Proprietary

Framework for map styling and publishing (rendering, caching) geospatial data to the Web.

node-mapbox-gl-native

Node.js

JavaScript

BSD+JSON

Node.js package for rendering Mapbox Vector Tiles using OpenGL

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.

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

TileMill

Windows, macOS, Linux

3-clause BSD

development environment for CartoCSS styles

Client-side libraries

Name

Target platforms

Target languages

License

Notes

Cartagen

Web

JavaScript

MIT

HTML5 Canvas/JavaScript-based renderer

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

C++

Proprietary

Rendering and routing library

GLMap

iOS, Android

Objective-C, Swift, Java

Proprietary

Offline or online vector map rendered on device using OpenGL ES

Halcyon

Flash

ActionScript

WTFPL

Rendering library developed by Richard Fairhurst and used within Potlatch 2

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

BSD+JSON

Displays Mapbox Vector Tiles in a slippy map using OpenGL ES

Mapbox GL JS

Web

JavaScript

BSD

Displays Mapbox Vector Tiles in a slippy map using WebGL

Mapbox iOS SDK

iOS

Objective-C, Swift, Interface Builder

BSD+JSON

Displays Mapbox Vector Tiles in a slippy map using OpenGL ES

Mapbox macOS SDK

macOS

Objective-C, Swift, Interface Builder, AppleScript

BSD+JSON

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

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.

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

Historical

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

  • Hardware accelerated real-time rendering, .NET, proprietary, using graphics card to render images in real-time, instead of displaying prerendered tiles
  • Kartograph – AGPL licensed Python framework to create SVG maps, officially dead since 2016
  • Kartograph, LGPL, JavaScript library to display vector generated maps in any browser
  • Kothic JS – JavaScript, BSD, full-featured JavaScript map rendering engine using HTML5 Canvas. It was initially developed as a JavaScript port of Kothic.
  • Kothic – GPLv3 licensed, Python, a MapCSS/0.2 python rendering engine (project is dead, last activity in 2015)
  • LunaRender, Windows, Lua, MIT license, XML2SVG renderer
  • Mapweaver - Successor of mapgen.pl Perl rendering, OSM to SVG and with Inkscape to PNG or PDF, automatic map key. Supports street and POI lists, grids and coordinate overlays. Automatic extraction of desired place out of OSM file. Not running under Windows.
  • Memphis – a map-rendering application and a library for OpenStreetMap written in C using eXpat, Cairo and GLib. It's licensed under the terms of the GNU Lesser General Public License.
  • Osmarender - XSLTs which does OSM XML to SVG transformation. tiles@home was a project which uses Osmarender to create a tile set for serving a map layer alongside Mapnik's, but Osmarender can also be a good option for doing one-off renderings. SVG format allows you to do post-processing tidy up tweaks (see other options below). It was withdrawn from the main map at osm.org on 1th March 2012.
  • osmbrowser – can load large areas of OSM data and render them in vector graphics.
  • osmrender.pl - simple maps easily drawn with a Perl program. Uses *.osm as input.
  • XNavigator, Java SE, GPLv2, 3D renderer, last release in 2012 according to OSM wiki page
  • Osm2pov - Tool for creating isometric maps from OSM data
  • Pyrender – a collection of ideas, and some code in Python for various rendering server steps
  • VTM – cross-platform vector tile renderer developed by the OpenScienceMap project

See also

Favorite site