Wikimedia Maps/2015-2017/Conversation about interactive map use

This page is obsolete. It is kept for historical interest only. It may document extensions or features that are obsolete and/or no longer supported. Do not rely on the information here being up-to-date.

Example of an interactive map. You can zoom and pan.

The Maps team of the Discovery department is working to figure out how to create tools for using interactive maps in Wikipedia articles. There are many things we want to include in this feature, and plan to develop the quality of interactive maps over time. For this initial work, we'd like to keep the focus on how maps can be used for articles where a map would show general geographic location information.

Here we provide an overview of interactive maps, and are asking interested individuals to participate in a discussion around three major #Questions (open discussion outside these questions is welcomed too).

Maps provide a way to discover and learn about a place or an event. Making these maps interactive, where people can zoom, pan, and interact with points of interest, can further enrich the way we learn about the world. Other goals, are simplifying the tools used to add a map to an article, and reducing the need for complex image editing or geographic information system (GIS) tools.

The first two static maps (one is collapsed by default) in the English article for Lyon, France. Both show current boundaries, at different 'zoom levels'. The last map is dynamic that may replace them.

Static map showing the location of France.

Blank administrative map of Rhône-Alpes for geo-location purpose, with regions and departements distinguished.

When talking about interactive maps (and maps in general) we use words to describe features of the mapping tools.

Style: how to draw the map - colors, line thickness, fonts, etc.

Tiles: square image that represents a portion of a map at a given zoom level

Tile data: the data contained within a set of tiles (park benches, tree locations, house numbers, park names, building type (churches, government, etc.))

Zoom level: At what level of detail are we looking at a particular area on a map? Imagine this as "How high above the map am I looking?" Often measured as a number (e.g. zoom=12 - where 0=world view, and 18=highest zoom).

A screenshot showing how the visual editor dialog for Kartographer appears when editing a map.

Wikimedia map servers download the full OSM database.

Tilerator service converts OSM data into vector tiles (mini databases), one for each tile location and for each zoom level, and saves them to a database. This takes a long time, and gets done right after downloading because it cannot be done on-demand.

Kartotherian web server creates PNG tiles, by applying styling to the vector tiles. The image generation is very fast, so it gets done on-demand, when a browser asks for it.

Wiki editors insert a map with either <maplink> (a link to a new window) or <mapframe> (embedded in the page).

Editors can also use the visual editor to insert a map with an interface for adding points-of-interest and polygons.

Both map tags may contain additional geojson overlays data. Geojson could include markers, lines, and polygons. Geojson may draw these elements in different styles and with popups. At this point, geojson may only be located inside the map tags.

The interactive maps can be styled for different uses. As an example, articles could have one style for geography, and another for transit articles. Each style could add a significant maintenance and performance cost, therefore we try to limit the number of different styles in production.

Editor that are interested in helping to define the styles can use the open-source Mapbox Studio Classic to create a custom map style sheet (CartoCSS). Similar to CSS, these stylesheets allow you to define the properties of elements for a particular style - including variations between zoom levels (e.g. At zoom level 10, roads should be X in width, but at closer zooms Y.)

Follow these instructions to download the map style and the edit tool. It will allow you to visually change all aspects of the map. Ideally, you should submit your changes as pull requests via GitHub. See GitHub's how to fork or a more generic getting started guides for more info. Alternatively, you could email us your project.yml and all the .mss files, but it will make it harder to merge your changes.