Archiv der Kategorie: Openstreetmap

A Mapserver backend for Tirex

When rendering maps people coming from a traditional GIS background tend to use Mapserver rather than Mapnik. I don’t know the reason for this, but it is probably just because Mapserver is quite mature and has been around for a long time while Mapnik is still relatively new.

I also did quite a few things using Mapserver in the past but mostly in the WMS and raster data area.

One thing Mapserver can do is rendering based on data values rather than just by predefined rules, which could be quite useful for river widths and the like. This was not possible in Mapnik at least not in Mapnik versions < 2.0.

Mapserver is scriptable in a couple of languages (not just Python) and this is why it has been relatively easy coding a new backend for Tirex although Perl is not quite my favourite scripting language. Of course this new backend is heavily based on the existing WMS backend.

So why did I do this? Well, last week I just stumbled upon the nice Topomap project which Max Berger is doing and unfortunately he map is limited to a very small area.

Hopefully I will be able to provide a map of this style for a couple of other areas real soon now. I’m especially interested in islands with good hiking options, the so called Wanderinseln in German.

I just commited the changes to the Openstreetmap SVN-repository in the hope that it might be useful for others as well.

BTW, Max is using TileCache which I could probably use as well. Probably someone can enlighten me about the pros and cons of Tirex vs. TileCache.

Rendering von Waldflächen 2.0

Vor ziemlich genau 3 Jahren habe ich in Osmarender die Regeln eingebaut verschiedene Typen von Wald (Mischwald, Laubwald, Nadelwald) auf der Karte verschieden darzustellen.

Waldtyp in Osmarender

Seitdem ist viel passiert im Openstreetmap Umfeld. Inzwischen hat sich Mapnik als Standardrenderer etabliert und der Tod von Osmarender ist eigentlich nur noch eine Frage der Zeit. Das Teil ist ja ohnehin was den CO2 Footprint betrifft kaum vertretbar.

Seit einiger Zeit gibt es auch einen Mapnik basierten
deutschen Kartenstil. Man ahnt es, meine erste Änderung an diesem Stil betrifft nun wieder die Waldtypen.

Schon vor drei Jahren gab es auf der Osmarender Mailingliste eine Diskussion um die richtigen Waldsymbole.

NadelwaldLaubwald

Angeblich sind die hierzulande gängigen Icons aus Topokarten nämlich nicht international üblich. Deshalb haben wir damals für Osmarender diese Symbole gebastelt die an Apfelbäume und Weihnachtsbäume aus Kinderbüchern erinnern.

Für den deutschen Kartenstil ist das aber ohnehin nicht relevant und deshalb gibt es dort jetzt ab Zoomlevel 14 die in deutschen Karten üblichen

Symbole für Waldtypen.

Im Zuge dieser Änderung habe ich auch gleich noch das unterschiedliche Rendering von landuse=forest und natural=wood entsorgt. Insbesondere in Deutschland gibt es ja de fakto keinen Urwald mehr und zudem irritieren die Unterschiede im Rendering mehr als sie nützen.

Kategorie:

Der deutsche OSM Kartenstil, Aufzucht und Pflege

Seit einigen Monaten gibt es auf der deutschen OSM Homepage einen eigenen Kartenstil, der im Rahmen einer Bachelorarbeit an der HFT Stuttgart aus dem internationalen Stil entstanden ist. Dieser Stil versucht sich an die hierzulande in Karten üblichen Gepflogenheiten zu halten und trotzdem nicht allzuweit von der internationalen Variante abzuweichen.

Im Gegensatz zu einer Bachelorarbeit und einem Studium ist ein Kartenstil für ein solch dynamisches Projekt wie Openstreetmap aber niemals fertig.

Aus diesem Grund haben wir jetzt eine Arbeitsliste gegründet. Die Abonnenten dieser Liste möchten sich der Weiterentwicklung und Pflege dieses Kartenstils annehmen.

Insbesondere warten schon diverse Änderungen am internationalen Stil auf ihre Portierung.

Über weitere Mitstreiter, die mit der Mapnik Toolchain und Subversion umgehen können würden wir uns freuen.

Es geht bei der Liste ausdrücklich nicht um Diskussionen was man darstellen sollte und was nicht. Dafür gibt es talk-de und das Forum.

Was die Technik betrifft ist der Server leider sehr langsam und stellt derzeit auch nur Europa zur Verfügung. Das ändert sich hoffentlich bald wenn wir unseren eigenen Server bekommen.

Wenn jemand den Betreiber eines Rechenzentrums kennt der dem Openstreetmap Projekt etwas gutes tun möchte möge sich umgehend bei mir melden. Wir bräuchten etwa 3HE Platz in einem Serverschrank.

GR-Wanderwege und der Trademark Wahnsinn

Nops OSM basierte Reit- und Wanderkarte ist neben der Openpistemap eine meiner Lieblingskarten auf Openstreetmap Basis.

Eine vergleichbare Karte (auf Basis proprietärer Daten) gibt es im ganzen Web nicht. Es gibt lediglich einige ähnliche Karten, die ebenfalls OSM basiert sind.

Wegverlauf GR20

Quelle: Wikipedia

Beim Browsen in der Karte ist mir die Tage aufgefallen, dass der berühmte Wanderweg GR20 auf Korsika dort nicht erscheint obwohl er als Relation 101692 bereits im Jahre 2009 erfasst wurde.

Die technischen die administrativen Gründe für dieses Problem sind selbstverständlich lösbar und der Weg könnte also demnächst auf der Karte erscheinen…

Könnte erscheinen, denn meine Frage nach den Fehlen des Weges auf der deutschen OSM Mailingliste führte zu einem Hinweis der mich ratlos und ehrlich gesagt auch wütend macht!

Sowohl die Abkürzung GR (französisch für Grande Randonnée) als auch die zugehörigen Farbmarkierungen sind eingetragene Marken des französischen Wandervereins.

Das wiederum bedeutet nach meinem naiven Verständnis, dass wir die Wege zwar selbstverständlich erfassen dürfen, diese aber weder als GR bezeichnen noch mit den korrekten Farbmarkierungen versehen dürfen. Keine Ahnung ob diese Annahme korrekt ist (IANAL).

Was tun sprach Zeus? Keiner von uns hat wohl ausreichende Kenntnis des Markenrechts um uns (am besten rechtsverbindliche) Auskunft geben zu können.

Fakt ist, dass eine Karte mit einer falschen Bezeichnung für einen Wanderweg und mit falscher Markierung erhebliche Verunsicherung erzeugen dürfte 🙁

A WMS-server in about 100 lines of code…

or how to use geoimage.at and others in josm

A few weeks ago a few austrian mappers contacted me because we are now allowed to us the WMS server at http://geoimage.at/ for mapping.

Unfortunately the data is currently only available in an austrian koordinate system (EPSG:31287). With EPSG:4326 beeing unavailable this is in fact a violation of the WMS spec 🙁

This could however be easily fixed using UMN-Mapserver as WMS-proxy, but unfortunately we are not allowed to do this at wms.openstreetmap.debecause we are not permitted to set up a cascading WMS based on their rules.

Anyway, with my wms.openstreetmap.de setup already using the python wsgi-interface (apache mod_wsgi) I thought that a standalone UMN-Mapserver based WMS-server should be very easy to hack, given the fact, that all the difficult stuff is already available in python and mapscript. Well, my presumption proved to be true 🙂

So here is my standalone WMS-server written in roughly 100 lines of python code.

As far as geoimage.at is concerned, there are already other solutions at the OSM-Wiki page, but this was fun to hack and might be useful for other purposes as well. An advantage of my solution is that it is possible to use the Austrian GIS-grid file for reprojection to achieve the highest possible accuracy. For this purpose the proj4-definition for EPSG:31287 (defined in /usr/share/proj/epsg on Linux) must look like this:

<31287> +proj=lcc +lat_1=49 +lat_2=46 +lat_0=47.5 +lon_0=13.33333333333333 +x_0=400000 +y_0=400000 +ellps=bessel +units=m +nadgrids=/path/to/GIS_GRID_austria.gsb +no_defs

I would be interested in feedback on how to get this to work on Windows as well. Talking about Linux this has only been a matter of typing apt-get install python-mapscript and adjusting the proj4 definition file to use the GIS-grid.

The state of free bicycle trip planning tools

While the quality of openstreetmap has changed from unusable to what is now arguably the best map for bicycle trip planning in recent years (at least in germany) unfortunately free bicycle trip planning software has not.

The following table is probably not complete so please post your suggestions if you know about other tools.

I just tested FOSS and web based tools because commercial applications like TTQV tend to be running on windows only anyway.

So here is the current state of the tools I checked. What I would really like to see in the future is a gpsies.com like semi-automatic-routing feature but based on osm instead of google.

stand alone applications:

Software

OSM tiles

Google maps/aerial images

WMS

Garmin maps

rectified images

Automatic routing

Manual route planning

semi-automatic routing

Viking

yes

not allowed

via hack

no

no

no

yes

no

QLandkarteGT

yes

no

no

no

yes

no

yes

no

web based tools:

Software

OSM tiles

Google maps/aerial images

WMS

Garmin maps

rectified images

Automatic routing

Manual route planning

semi-automatic routing

marengo-ltd.co.uk

my hacked version

yes

no

no

no

no

yes

no

pifpafpuf.de

yes

no

no

no

no

no

yes

no

gpsies.com

yes

yes

no

no

no

Google API

yes

Google API

openrouteservice.org

yes

no

no

no

no

OSM

no

no

My current workflow ist still using about 2 or 3 of these tools because fortunately all of them are able to read/write GPX file format.

Currently I just set up a hack which will translate tile requests into WMS to allow using them in viking. This is basically the same setup (with a slightly modified mapfile) already in use at wms.openstreetmap.de and available from Openstreetmap SVN.

An example tile URL for this kind of setup would be http://wms.gegg.us/tms/DOP_RGB/12/2143/1406.png. Please note that this data has not been approved for Openstreetmap use so please do not use these tiles for mapping.

Axel Springer Chef beleidigt uns :(

Axel Springer Vorstandschef Mathias Döpfner hat laut einem Bericht der taz öffentlich davon geredet, dass die sogenannte Gratiskultur im Internet die Pressefreiheit bedrohen würde. Was für ein unglaublicher Bockmist! Der Originaltext der Rede würde mich dann doch mal interessieren.

Ehrlich gesagt erwarte ich von diesem Verlag ja ohnehin nicht sehr viel, aber diese Aussage halte ich schlichtweg eine Beleidigung all derer die sich im Umfeld freier Internetprojekte engagieren. Sei es nun bei Openstreetmap, bei der Wikipedia oder im FOSS Umfeld.

Wenn die Gratiskultur so schlimm ist Herr Döpfner, warum setzen Sie denn dann auf ihren Servern freie Software ein. Da sollten Sie sich dann konsequenterweise auch widersetzen!

Überhaupt dieser Begriff: „Gratiskultur“

Offensichtlich soll suggeriert werden dass hier unlauterer Wettbewerb betrieben wird indem man etwas das eigentlich Geld kosten würde kostenlos hergibt. Das Gegenteil ist der Fall. Durch croudsourcing Effekte und weltweite Zusammenarbeit entstehen Dinge kostenlos die ohne die Hilfe des Internets eben nur durch den Einsatz von Geld möglich waren. Das kann man mögen oder nicht, unlauterer Wettbewerb ist es jedenfalls nicht.

PostGIS and hstore for OSM Data

Unlike traditional GIS data, which usually uses just a couple of attributes per spacial object, openstreetmaps comes with a free tagging scheme. In traditional database design it is impossible to store this type of data in a single table thus adding the need for joins in any single SQL request.

Starting from Version 9.0 PostgreSQL will however include an extension called hstore which is available as a backport for current Versions of PostgreSQL (8.3 and 8.4) and even as a debian package.

Using this extension an additional key/value table is no longer needed.

Already back in March I commited a patch for osm2pgsl which would allow for storage of tag objects inside such a hstore column.

An hstore is basically what is known as hash (perl) or dictionary (python) in scripting languages. A datatype for storage of key value pairs – well suited for storage of OSM data tags.

Talking about python I took me quite some time to figure out how to convert a hstore result from an SQL query so here is how it works:

q="select (each(tags)).key,(each(tags)).value from ... where ..."
cur.execute(q)
rows = cur.fetchall()
hstore=dict(rows)

Back to the actual hstore issue…

In the meantime people are actually starting to use this stuff and MaZder even wrote a HOWTO document (currently in german language only) on howto set up such a database.

So here are the projects currently using hstore that I am aware of:

Tags:

The 201 Gigapixel Image :)

German Company Aerowest is providing Openstreetmap with high resolution Images.

Once again I have been doing most of the technical work which needed to be done behind the scenes. While wms.openstreetmap.de has been up and running for a few weeks now I still had to do some stuff to get the things going.

First of all I converted the mapscript from the older mod_python to the state of the art mod_wsgi. Furthermore the script has been extended to allow for individual copyright-watermarks based on mapfile entries. Tiles generated for Potlatch are now cached using the Apache Module mod_disk_cache.

The aerial image itself came as a raster image of 201 Gigapixels in the very good (in terms of image compression) but proprietary ECW-format. For legal reasons we are now using another format for actually serving the image (eating a huge 675 Gigabytes of disk-space) because the proprietary license of libecwj2 does not state very clearly if we are allowed to use it in our setup or not.

Announcing wms.openstreetmap.de

A few weeks ago I started to set up http://wms.openstreetmap.de to serve aerial images donated by various sources for Openstreetmap use. Currently the system holds data from german communities Lauf an der Pegnitz and Neunkirchen am Sand (thank you very much for donating the data!). It is designed to be extensible with additional data in an easy way. If anybody in the Openstreetmap community is looking for such a service just drop me a line.

The system is powered by Mapservers mapscript written in Python to allow for convenient URLs in JOSM’s WMS plugin. In addition to this I just added support for the Online Openstreetmap Editor Potlatch while learning how to use custom tile-servers with it by chance. This is done by converting tilenames in z/x/y format to the bounding boxes needed for WMS. An Apache mod_rewrite rule provides a virtual tile-URL in the syntax needed by Potlatch and allows for direct edit-links of the available areas now provided on http://wms.openstreetmap.de

The script itself will be released as free software and added to Openstreetmap SVN.

Finally I need to mention that the system is also running on one of the Servers sponsored by german webhosting company STRATO AG.