Archive for the ‘Project’ Category

OpenStreetMap/Wikidata: How I map artwork and memorials

Dienstag, März 24th, 2020

I love mapping for the OpenStreetMap project, it’s a very pleasing thing to do. I especially like to do it as vacation activity, because then I’m exploring new places anyway, but I also like to do it at home.

Recently I’m concentrating on mapping artwork and memorials. Even in a well-mapped city like Vienna, Austria, there’s still plenty to do. For example, most social housing building complexes (Vienna is famous for it’s social housing) have some kind of artwork, e.g. some murals or statues in the gardens.

Some examples:

I think, having a map feature in OpenStreetMap is not enough though. I want to add pictures and meta data (who made the object, when was it created, …). This is done in cooperation with the Wikimedia Foundation. In this article, I want to explain how I map these objects.

1. Wikimedia Commons

Often these objects already have photos on Wikimedia Commons. If not, I upload one or a few photos (whatever is reasonable). If there are several photos of the picture (or the object seems important enough), I create a category for the object (if it does not exist yet).  Of course, the category should have the relevant categories for the location, the motive, the artist, etc.

2. Wikidata

Next, each object should have its own Wikidata entry. Haven’t heard of Wikidata yet? It’s a sister project to Wikipedia and Wikimedia Commons. As Wikimedia Commons is the platform for media (which is linked by Wikipedia), Wikidata is a platform for semantic and linked data. E.g. an entry for a city would have values for the population size at specific historic dates, links to the wikidata entry of current and former mayors, link to other data sources (Encyclopedia Brittanica, Library of Congress), link to its Wikimedia Commons category, and so on (e.g. Vienna). Most infoboxes in Wikipedia are now automatically created from Wikidata data.

So, each object should have its own Wikidata entry. Of course, you should check if a Wikidata entry already exists – if yes, check if the data is complete. It should have values for (if available):

  • label and description (at least in local language, preferred also in English)
  • instance of (e.g. memorial monument, sculpture, …)
  • depicts (the entity being depicted)
  • dedicated to
  • geographic coordinates
  • image (link to a Wikimedia Commons image)
  • commons category (link to the Wikimedia Commons category for this object)
  • country
  • administrative territorial entity
  • inception (start date; if possible the date of its inauguration)
  • material used

When done, edit the Wikimedia Commons category, and add the following line (replace „Q1234“ by the ID of the wikidata entry), so that the category gets a nice infobox on the side:

{{Wikidata Infobox|qid=Q1234}}

3. OpenStreetMap

Finally, the map feature in OpenStreetMap. This can be a node or an area. If the object is located on the wall of a building I make the node a part of the building contour. The entry should have the following tags:

Further tags like wikipedia=*, image=*, wikimedia_commons=* are not necessary, as this information can be read from the Wikidata entry. I do not remove these tags though, if I find them.

Often, map features already have a wikidata/wikipedia-tag which points to the person which it memorizes. This is wrong, because this should be a „subject:wikidata“ resp. „subject:wikipedia“ tag. Please change this.


How can you test your entries? There’s a list of tools which let you explore wikidata tags. I recommend OpenStreetBrowser, which is an application for OpenStreetMap data written by myself. It will show images of the map features and excerpts of Wikipedia articles.


Here are some examples of such features:

Donnerstag, Juni 12th, 2014

On the SOTM-EU 2014 conference in Karlsruhe, Germany I presented the pgmapcss library, which I developed during the last year. Here are the slides:

pgmapcss – adv cartography for mapnik

MapCSS – ein neuer Standard für Kartographie

Freitag, Mai 9th, 2014

Heute habe ich wieder mal die Ehre einen Vortrag auf den Linuxwochen in Wien zu halten. Dieses mal möchte ich die Kartographie-Sprache „MapCSS“ vorstellen, mit denen man (z.B. aus der OpenStreetMap) Karten erzeugen kann. Der Vorteil von MapCSS ist, dass sie auf verschiedenen Plattformen verfügbar ist, leider mit großen technischen Unterschieden.

Hier können die Folien heruntergeladen werden: MapCSS – ein neuer Standard für Kartographie

Vortrag „OpenStreetMap – Kartographie für alle Zwecke“

Mittwoch, Oktober 9th, 2013

Morgen, den 10.10.2013 werd ich wieder mal einen Vortrag über die OpenStreetMap halten, diesmal auf der „Shareconomy“ Konferenz der Arbeitsgemeinschaft Datenverarbeitung.

Hier mein Abstract:

Am Anfang stand der Wunsch eine lizenzkostenfreie Straßenkarte der Welt zu erstellen und die OpenStreetMap war geboren – quasi die „Wikipedia der Landkarten“. Zuerst wurde sie von den großen kommerziellen Unternehmen belächelt – besonders aufgrund ihres scheinbar unstrukturierten simplifizierten Datenmodells. Schnell hat sich aber eine schier unüberschaubare Datenvielfalt etabliert, die sehr differenzierte thematische Karten ermöglicht – Karten historischer
Sehenswürdigkeiten, Radwegkarten, Karten für Personen mit eingeschränkter Mobilität oder speziell angepasste Karten für humanitäre Katastrophenfälle sind nur ein paar der Möglichkeiten.
Außerdem hat sich rund um die OpenStreetMap ein riesiges Ökosystem an Software entwickelt – das meiste davon natürlich Open Source. Schließlich wollen Daten gesammelt, eingetragen, abgezeichnet und vor allem weiterverarbeitet und schließlich dargestellt werden. Die großen Datenmengen stellen auch besondere Anforderungen an die Datenbanksysteme.
Die OpenStreetMap bildet inzwischen die Basis für einige erfolgreiche Unternehmen. Außerdem kann sie gut mit Open Data Initiativen kombiniert werden. Last but not least gibt es viele wissenschaftliche Projekte die sich mit diesen Daten auseinandersetzen.

Hier finden sich die Folien:



Apache2 AuthExternal and WebDav

Freitag, März 25th, 2011

Now for something technically more challenging, because it cost me several hours of debugging, but was pretty simple actually. In case somebody else on the world tries to restrict read/write-permissions to a WebDav directory with the AuthExternal module, they can find a solution here :)

For my newest project in work I am setting up a project server offering Git repositories, a web page and maybe more. Something similar to GitHub but we want to maintain the repositories ourselves. I’m using Drupal for the web page and the access control and a selfwritten module (called Git Repository) for the interaction with the Git archives (I didn’t really find a matching module for this job, at least for Drupal 7).

Access to the Git Repositories is limited to http(s) via WebDav currently, using the Apache2 AuthExternal module for authentication. In the „Git Repository“-module there are two scripts which handle interaction – they connect to Drupal asking for read/write-permission to the linked node.

For checking read/write-permission I used this howto, but I had the problem it didn’t work, write access was still possible to the directory, though the script returned the correct exit-codes.

This is the .htaccess-file:
AuthType Basic
AuthName "Repository"
AuthBasicProvider external
AuthExternal git_repo
GroupExternal git_repo
Require group may_write
Require group may_read

According to the howto this should be correct … and it is, I tested it without GroupExternal authentication. After several hours of debugging I came up with a really simple solution:

Apparently GroupExternal does a fall-back to the default „Require group“ statement in case the limited „Require group“ statement fails. So my simple solution was to just use negative logic:
AuthType Basic
AuthName "Repository"
AuthBasicProvider external
AuthExternal git_repo
GroupExternal git_repo
Require group may_read
Require group may_write

Voila, problem solved.


Dienstag, Juli 20th, 2010

A couple of years back I developed a script for the backups at the institute where I’m working, it’s called the CGA-Backup. Unfortunately this script is no longer in use there, as my colleagues preferred to change to a more popular solution (BackupPC). Anyway, there are still people using this script and I’m willing to maintain it, as I still use it for private projects and think it’s a nifty piece of code. As I’m lately opening my projects up at Gitorious, I also plucked it from the closed environment of our SVN-server. Here you are.

OpenStreetMap – Eine Einführung

Samstag, Mai 8th, 2010

As I told you, I’m giving an introductory talk about the OpenStreetMap on the Linux Wochen in Vienna today. Here are the slides (in German for sure):

Linuxwochen 2010

Dienstag, Mai 4th, 2010

The coming weekend there are the „Linuxwochen“ (Linux weeks) again in Vienna. It’s an exhibition of several free software / open source initiatives, there are also a lot of talks. One of those talks will be about the OpenStreetMap, held by me. The date: Saturday, May 8th, 10:30 in the Festsaal. So if you haven’t heard of the OpenStreetMap yet (which I doubt if you know me), there’s the place and time to go :) You can also meet me at the OpenStreetMap-stand in the exhibition area (Thursday and Friday afternoon, Saturday more or less the whole day).

My daily picture

Mittwoch, Januar 13th, 2010

As my blog is a little bit boring right now (isn’t it?), I got a new idea. I’m gonna post one good picture per day on Flickr. You can find them here: . I hope you’ll like them. Have fun!

Again OpenStreetBrowser

Dienstag, Mai 5th, 2009

As I told I’m gonna present some features of the OpenStreetBrowser from time to time. It’s also a good documentation for the project.

Routes of public transportation

Routes of public transportation are still not being displayed on the main Mapnik and OsmaRender renderings, although they are very important in my opinion. For me this was actually the start of the project, I had planned to make a nice map with public transportation routes. Now they are only an overlay, as they would clutter the main map too much.

There are two noteworthy features: The references of routes sharing the same way get collected and separated by ‚,‘, which looks much better, and stops with the same name get combined and get a box drawn around. Both of these features improve visibility.
Tram and Bus routes around Alser Strasse in Vienna, Austria

Link to Wikipedia

In the OpenStreetMap it’s possible to link to the Wikipedia. The key is „wikipedia:language“, e.g. „wikipedia:en“ or „wikipedia:de“. If such a link exists, the OpenStreetBrowser displays an abstract of the article and an image, when it finds one (it has to be before the first abstract … this is something still to improve).
Showing the Wikipedia-Entry of the “Altes Rathaus” (old town hall) in Potsdam, Germany

Stylesheet for the Overlays

The last feature for this time is the newest feature. The styles of the Overlays „Food & Drink“, „Shops“, „Culture & Tourism“ and „Services“ is generated from a page in the OSM-Wiki. So if you find something missing on these overlays, or you have better icons (many objects don’t have an icon or share icons with other features), feel free to upload them there (the new style sheet will be used after the next database reload, so typically after 1-3 weeks).
Showing the Culture-Layer over Paris, France

If you have suggestions for new feature, complaints or praise, feel free to leave me a comment :)