User:Planemad/Kartographer maps workshop

Workshop to create maps with Kartographer at WikidataCon Berlin.

  • Date: Sunday 29 October 2017
  • Venue and Time: Room 'E' 12.30-13.30PM

WorkshopEdit

The goal of the workshop is to walthrough how Wikidata and OpenStreetMap data can be connected to easily create interactive maps on Mediawiki projects. The workshop makes use of the Extension:Kartographer which is available by default on the Wikivoyage project. The example may not working on other Wikimedia projects without the extension.

Wikimedia MapsEdit

The Wikimedia Map service is the primary provider of open maps for Wikimedia Projects. The service consists of a zoomable street level map of the world generated using data from the OpenStreetMap Project.

  • Wikimedia Maps: Browse
  • Improve the map data on OpenStreetMap: Map | Wiki

OpenStreetMapEdit

The OpenStreetMap Project is the largest source of crowdsourced geographical data. It takes a few minutes to sign up and improve the map of your home neighborhood using the online map editor called iD via the [edit] button. One can add or improve any type of map feature like roads, buildings, trees and even trash cans.

This make OSM the ideal database to store open map data. The data is licensed under the ODbL license which allows data reuse with attribution and share alike.

OSM Data structureEdit

Every map feature is defined as shape (points, lines, areas) and some metadata (`key`=`value` pairs) called tags. This allows adding defining a full geographical feature like a street with its shape and properties like road type, width, multilingual and even a Wikidata reference.

It is also possible to group smaller shapes as a larger group with a different set of tags. This is called a relation and is commonly used for defining boundaries, highway routes and river systems.

  • Use taginfo to find commonly used tags for the feature you want to map

Connecting OSM data and WikidataEdit

Adding Wikidata ids to OSMEdit

Adding Wikidata tags to OSM map features helps link map features on the OSM database to their associated item on the Wikidata database. This allows:

  • querying a map feature from OSM based on a Qid
  • adding extra metadata form Wikidata to map features like language labels

See http://wiki.openstreetmap.org/wiki/Wikidata#Linking_from_OSM_to_Wikidata

Adding OSM ids to WikidataEdit

Adding OSM ids to Wikidata is not encouraged since the OSM ids can change as the shapes are merged or split often. Relation ids are more stable and can be added using Property:P402

See http://wiki.openstreetmap.org/wiki/Wikidata#Linking_from_Wikidata_to_OSM

Adding OSM tags to WikidataEdit

Tags on OSM help describe the various properties of map features. These tags can also be added to their corresponding Wikidata item using Property:P1282 . This allows:

Creating Wiki maps using OSM dataEdit

Now that we have updated map data on the OpenStreetMap Project with Wikidata links, it can be used to embed interactive maps on Mediawiki sites with a few lines of code. There are two ways to do this:

Kartographer MapsEdit

The easiest way to create a map with a shape highlighted from OSM is to use the Kartographer extension. The extension helps to query a shape from OSM using a Qid or a SPARQL query

UsageEdit

<mapframe> and <maplink>Edit

A mapframe will create and embedded map while a maplink will open the map in a popup.

 
A mapframe of Alaska using the shape from OSM linked to Qid=Q797

A maplink of Alaska using the shape from OSM linked to Qid=Q797

Type and serviceEdit

You can set the data to overlay on the map using the `type` and `service` parameter.

  • type:feature for directly defining geojson shape
  • type: ExternalData to fetch the shape from an external source like OSM (service:geoshape or geoline) or commons (service:page)
Documentation
https://www.mediawiki.org/wiki/Help:Extension:Kartographer

ExamplesEdit

<maplink>: Couldn't parse JSON: Control character error, possibly incorrectly encoded

QID to be updated:- http://overpass-turbo.eu/s/mRF

More examples

How toEdit

Generate GeoJSON from OSMEdit

Using Overpass Turbo to query OSM for features with a certain tag or feature id and export to a GeoJSON.


= ResourcesEdit