Openstreetmap communal data import

A while back Markus Bärlocher asked me to help importing data he obtained from his municipal administration to Openstreetmap.

The most useful data in such a case is shapes of buildings. Other data has to be processed manually with the help of a WMS Server.

Today I imported the buildings which are already visible on the attached slippy map.

Kategorie:

ADFC Bett & Bike Betriebe als Garmin POI

Auf dem ADFC Tourenportal findet sich eine recht brauchbare Karte aller mit dem Bett & Bike Label ausgezeichneten Übernachtungsmöglichkeiten für Tourenradler. Soweit so gut. Nun hätte man diese Betriebe aber gerne als Wegpunkt im GPS Gerät oder für Garmingeräte noch besser im sogenannten POI (Point of Interest) Format mit passendem Logo.

Man stelle sich nur mal vor man möchte am Ende des Tages schnellstmöglich zur nächsten Übernachtungsmöglichkeit. Wenn man eine Routingfähige Openstreetmapkarte und die passenden POIs im Gerät hat gar kein Problem. Leider gibt es die POI Daten jedoch beim ADFC nicht als download. Nun ja zumindest nicht direkt…

Da die Onlinekarte ihre Daten ja auch irgendwoher bekommen muss habe ich mal den Firebug angeworfen und geschaut wie die URL heißt, von der die Daten geladen werden. Herausgekommen ist letztendlich ein Python Script, das die Daten scheibchenweise runterlädt und in einem für die Weiterverarbeitung mit dem Garmin-POI-Loader (der Dank wine auch unter Linux läuft) geeigneten Format ausgibt.

Da ich kein Copyright an den Daten habe kann ich leider die fertige POI-Datei nicht direkt zum download anbieten. Falls jemand passende Ansprechpartner beim ADFC kennt, vielleicht kann sich ja Openstreetmap sogar bald über eine Datenspende freuen.

Als passendes Logo für den Garmin lädt man am besten das Favicon von http://www.bettandbike.de und konvertiert es in eine BMP-Datei.

Zum Schluß noch eine Anmerkung zum Garmin-POI-Loader. Leider kann GPSBabel nicht wirklich gut mit dem GPI-Format umgehen, ich empfehle derzeit daher ausdrücklich die Verwendung des POI-Loaders.

Unter http://www.poi-factory.com/garmin-csv-file-format findet sich eine gute Beschreibung des Inputformats für den POI-Loader.

Die sinnvolle Alternative zum Glühlampenverbot

GlühlampenlampeEin interessanter Artikel in der Süddeutschen Zeitung bringt mich gerade dazu auch mal zu diesem Thema etwas zu schreiben.

Damit keine Mißverständnisse entstehen muß ich hier zunächst einmal klarstellen, dass ich beim Thema Glühlampenverbot befangen bin! Nicht weil ich Elektrotechnik studiert habe, was auch der Fall ist, sondern weil ich die abgebildete Lampe mit 24 Glühlampen im Wohnzimmer hängen habe. Ohne Dimmer ist das Teil viel zu hell.

Früher, in der guten demokratischen Zeit wurden die Leute durch Strafsteuern dazu bewegt das richtige zu tun. Man denke nur an die Einführung des Katalysators in den 1980ger Jahren.

Heute verbietet man das, was einem nicht passt besser gleich. Wär ja noch schöner wenn die Menschen nur Unfug machen würden, die EU Bürokraten wissen das selbstverständlich besser.

Warum zum Teufel so frage ich mich besteuert man nicht einfach Glühlampen nach Wirkungsgrad?

In Deutschland könnte man dazu einfach die Leuchtmittelsteuer in veränderter Form wieder einführen und alles wäre gut.

Zensursula zeigt Ihre Ahnungslosigkeit vom Internet

Die Süddeutsche Zeitung zitiert Frau von der Leyen mit folgender Aussage:

In Online-Netzwerken, Blogs und Chats müsse ebenso wie im Schulalltag ein „achtsamer und wacher Umgang miteinander“ eingefordert werden

Nur ein wenig jünger als meine eigenen Netzaktivitäten ist RFC 1855 „Netiquette Guidelines“!

Liebe Frau von der Leyen, solche Regeln gibt es im Netz seit Anbeginn, dazu brauchen wir keine gut gemeinten Tipps von Internetausdruckern! Vielleicht lesen Sie einfach mal den RFC 1855 von 1995 durch!

Von Wikipedia zu OSM Spezialkarten in 3 Mausklicks

Tim Alder hat die deutsche Geohack-Webseite nun so erweitert, dass wir im OSM Wiki ein template mit Verweisen auf OSM Spezialkarten pflegen können. Dadurch ist es nun zum Beispiel möglich mit 3 Mausklicks vom Wikipedia-Artikel eines Skigebietes auf die OpenPisteMap zu kommen! Ähnlich schön ist das natürlich bei der Reit- und Wanderkarte.

Bisher ging das nur sehr umständlich über die manuelle Eingabe von Geokoordinaten im URL.

Hier mal ein Beispiel:
Auf der Wikipedia-Seite von Zermatt öffnet man den Link „Koordinaten“. Von dort gelangt man über einen weiteren Link „Mehr Openstreetmap-Karten“ zur „Zermatt-Version“ des Templates. Wählt man hier nun die OpenPisteMap aus sieht man das Skigebiet von Zermatt.

Leider geht das bei der englischen Wikipedia noch nicht, weshalb ich den Artikel auch auf deutsch geschrieben habe.

Geodatenkonvertierung für Openstreetmap

Wer sich ein wenig näher mit Geodaten befasst stellt recht schnell fest, dass man da mit unglaublichen Mengen an historisch gewachsenem Zeug zu kämpfen hat. Ähnlich grausam ist das eigentlich im EDV Bereich nur noch beiCharacter Encoding. Im Geodatenbereich hat sich jedoch das Gegenstück zu Unicode leider noch nicht in der Breite durchgesetzt. Jedes Land wenn nicht sogar jedes Bundesland kocht da meist sein eigenes Süppchen.

Daten die man von öffentlichen Stellen in Deutschland bekommt sind meist in der Gauß-Krüger-Projektion mit Bessel-Ellipsoid in 3° breiten Meridianstreifen. Für die südlichen Bundesländer sind das GK2 für RLP, GK3 für BW und GK4 für Bayern.

Für OSM brauchen wir die Daten aber im „GPS Format“ mit geographischer Länge und Breite bezogen auf WGS84 (epsg:4326). Es stellt sich also die Aufgabe die Daten möglichst genau in diese Formate zu überführen.

Weil OSM ein freies Projekt ist verwenden wir dazu natürlich freie Software!

Ein Kommandozeilenprogramm zur Konvertierung von im Geobereich üblichen Vektorformaten ist das Kommandozeilentool ogr2ogr.

Da die Kommandozeilen ein wenig kryptisch sind veröffentliche ich hier mal die passenden Konvertierungsbefehle für die GK-Zonen, mit denen ich bisher zu tun hatte.

Es geht darum die Aufgabe zu lösen Dateien in GK-Format in eine OSM geeigenete Darstellung (epsg:4326) zu überführen. Dankenswerteweise gibt es dafür eine amtliche Korrekturdatei zum Download. Damit erreicht man Genauigkeiten von etwa einem halben Meter. Für OSM ist das also mehr als ausreichend. Strenggenommen ist die Korrekturdatei zwar für ETRS89 und nicht für WGS84 (Danke Tobias), aber das können wir für die nächsten paar Jahre mal vernachlässigen.

Hier sind die Befehlszeilen die man auf einem Debian GNU/Linux (apt-get install gdal-bin) zur Konvertierung benötigt. Die amtliche Korrekturdatei BETA2007.gsb sollte im aktuellen Pfad liegen.

GK Zone 2 (RLP, NRW):
ogr2ogr -s_srs '+proj=tmerc +lat_0=0 +lon_0=6 +x_0=2500000 +y_0=0 \
+k=1.000000 +ellps=bessel +units=m +nadgrids=./BETA2007.gsb +wktext' \
-t_srs epsg:4326 -f <dateityp> <outfile> <infile>

GK Zone 3 (BW, SHH):
ogr2ogr -s_srs '+proj=tmerc +lat_0=0 +lon_0=9 +x_0=3500000 +y_0=0 \
+k=1.000000 +ellps=bessel +units=m +nadgrids=./BETA2007.gsb +wktext' \
-t_srs epsg:4326 -f <dateityp> <outfile> <infile>

GK Zone 4 (BY):
ogr2ogr -s_srs '+proj=tmerc +lat_0=0 +lon_0=12 +x_0=4500000 +y_0=0 \
+k=1.000000 +ellps=bessel +units=m +nadgrids=./BETA2007.gsb +wktext' \
-t_srs epsg:4326 -f <dateityp> <outfile> <infile>

GK Zone 5 (SN):
ogr2ogr -s_srs '+proj=tmerc +lat_0=0 +lon_0=15 +x_0=5500000 +y_0=0 \
+k=1.000000 +ellps=bessel +units=m +nadgrids=./BETA2007.gsb +wktext' \
-t_srs epsg:4326 -f <dateityp> <outfile> <infile>

Wenn man nach dem gewünschten Dateityp gefragt wird ist das ESRI Shapeformat typischerweise dem Autocad DXF vorzuziehen. Für ersteres gibt es fertige Konvertierungsprogramme ins native OSM Datenformat. Diese sind zwar noch stark verbesserungsfähig, aber dennoch halbwegs brauchbar.

Pull vs. push

Bei Heise ist folgende Aussage vom Präsidenten des Bundesamts für Verfassungsschutz zu lesen:

Der Präsident des Bundesamts für Verfassungsschutz, Heinz Fromm, sprach von der großen Gefahr, dass Jugendliche und Erwachsene im Cyberspace „unvermittelt Hetze ausgesetzt sind“.

Wenn mit Internet wie üblich das Web gemeint ist, dann ist hier niemand unvermittelt irgendetwas ausgesetzt sondern der Inhalt wird üblicherweise aktiv aufgerufen.

Warum stellen sich eigentlich Leute deren Aufgabe es ist die Verfassung zu schützen öffentlich hin und behaupten, dass man uns im Internet unsere Grundrechte nehmen muß? Eigentlich fast schon ein Fall für §20 Abs. 4 GG.

Fefe hat das sehr treffend formuliert:

Ich finde es immer wieder unglaublich, dass die Leute nicht verstehen, dass die Meinungsfreiheit IMMER die Freiheit des stinkenden Arschlochs ist, seine widerliche Hasspropaganda zu äußern.

Dem ist von meiner Seite aus nichts mehr hinzuzufügen.

Kategorie:

Bookmarklet to load the current section of a slippy map into JOSM

In the meantime there are quite a lot of nice OSM based Slippy-Maps all around the Web. Usually they are based on Openlayers.

Now it happens from time to time, that I find something on one of this maps which needs to be corrected in the Openstreetmap database.

Unfortunately it is not very straight forward to load exactly the corresponding bounding box of the map into josm.

This has been solved in a very convenient way as far as the OSM Inpector is concerned. All you need to do there is to press the „load in josm“ button on the Website.

Wouldn’t it be nice to have this feature in any Slippy Map?

Well, here we go:

Based on Jochens code I have been able to code a Bookmarklet which does exactly this!

All you need to do is to add this URL to your Bookmarks.

Now, if you call the bookmark while browsing a Slippy-map an running josm with the remote plugin enabled, then josm is instructed to download all the OSM-data for the section displayed in the slippy-map.

Update: This is confirmed to work with IE6-8 and Firefox. This does not work with Opera, because they have a security code in place which is blocking access to localhost from within scripts (see discussion on Opera forum).

Best of breed CAN device driver hitting mainline Linux Kernel 2.6.31

Starting with the upcoming 2.6.31 Linux Kernel (already available as 2.6.31-rc1) a functional version of the socketcan device driver found its way into mainline.

While socketcan itself has been in mainline for quite a while, there where no drivers for actual real-world hardware. This has now changed and I will therefore be able to run a Kernel which is one step closer to mainline.

Unfortunately however some kind of unioning filesystem is still missing.

Anyway, back to Controller–area network!

Since I wrote my own CAN device driver as a character device a couple of years ago I started thinking about a CAN-bus driver beeing implemented as a Network device. I wrote my own driver in the first place, because I needed concurrent access which is (needless to say) also possible with socketcan.

Fortunately two guys at Volkswagen Research finally started doing exactly this. Thank you to the socketcan people for providing such a nice piece of software!

So here is a mini HOWTO for getting it up and running.

What you need:

  • A GNU/Linux machine
  • A decent Kernel (2.6.31-rc1 or higher)
  • git and subversion
  • A supported CAN-bus card. I’m using one sold by EMS Wünsche, but a lot of other SJA1000 based cards may also work.
  • The simple userland utilities from svn://svn.berlios.de/socketcan/trunk/can-utils
  • A decent Version of iproute2 (not yet available in current GNU/Linux distributions at the time of writing)

How to get it up and running:

First of all compile and boot a Kernel where all CAN-related support is enabled either as a module or build into the Kernel.
Afterwords check out the userland utilities from subversion (svn checkout svn://svn.berlios.de/socketcan/trunk/can-utils) and compile them by just typing make.
Same goes for iproute2 (git clone git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git); just type make as well. Copy all the resulting binaries to an appropriate place (e.g. /usr/local/bin). Do not use make install at least in iproute2 sourcetree, because this will replace your systems ip command.

Now all you need to do ist to enable you can0 interface by means of the following command:

ip link set can0 up txqueuelen 1000 type can bitrate 1000000

Use another value than 1000000 for different bitrates.

The txqueuelen might not be needed in your case if you don’t have peak traffic like I do.

OK, that`s it! You can now connect your bus to some device and use candump for watching your raw CAN pakets on the bus.

For integration into Debian GNU/Linux you may use something like the following in /etc/network/interfaces for automatically starting up your can0 device on system boot:


--cut--
auto can0
iface can0 inet manual
# bitrate 1MBps
# increase TX queue length because of the pulsed nature of
# the traffic we generate
up /usr/local/bin/ip link set can0 up txqueuelen 1000 type can bitrate 1000000
down /sbin/ifconfig $IFACE down
--cut--

See Documentation/networking/can.txt inside your Kernel tree for further documentation.

Das Internet der CDU ist nicht das Internet das ich kenne

Gestern Abend lief auf Phoenix im Rahmen der Sendung „Unter den Linden“ ein Streitgespräch mit dem Titel „Unter Piraten – Wem gehört das geistige Eigentum?” zwischen Prof. Rupert Scholz (CDU) und Dirk Hillbrecht, dem Vorsitzenden der Piratenpartei.

Jetzt auf dem Weg zum Linuxtag nach Berlin hatte ich im ICE genug Zeit mir mal den Podcast davon anzusehen.

Im Großen und Ganzen hat sich der Herr Hillbrecht für einen Amateurpolitiker eigentlich recht gut geschlagen.

Die Äußerungen des Herrn Scholz hingegen waren gar nicht gut für meinen Blutdruck!

Deutlich wurde die Tatsache, dass es sich bei dem Begriff „geistiges Eigentum“ um einen Propagandabegriff handelt durch die Aussage von Herrn Scholz, dass Urheberrecht, Patentrecht und Markenrecht ja im Kern das selbe wären und durch das Grundgesetz als Eigentum geschützt wären.

Wenn ich so etwas höre kommt mir ja echt die Galle hoch. Digitale Inhalte sind eben gerade kein Eigentum wie es das Grundgesetz (zu Recht!) unter Schutz stellt. Außerdem tut hier definitiv differenzierte Betrachtung Not. Hier hätte Herr Hillbrecht deutlicher widersprechen müssen!

Bei Strafrechtlern ist es offensichtlich wie bei Innenministern. Da ist die Verschiebung der subjektiven Wahrnehmung weg von der Freiheit hin zu Sicherheit und Repression offensichtlich qua Amt gegeben.

Schade, dass Freie Software kein Thema war, denn die ist zusammen mit Wikipedia und anderen Projekten wie Openstreetmap (in dem ich selbst aktiv bin) das Beste Beispiel dafür, dass das Netz eben nicht nur strafrechtlich relevante Dinge enthält. Ja, dass Kreativität sogar ganz gut ohne finanzielle Anreize funktioniert.

Die Zeit hat hier guten Artikel der aufzeigt wie rückwärts gewandt die Netzpolitik der CDU ist.

Auch das Thema Internetzensur wurde angesprochen und da gab es eine sehr interessante Argumentation von Herrn Scholz warum man Netzssperren unbedingt braucht: Internationales Strafrecht sei viel zu kompliziert um die Täter zu verfolgen!

Wie man daraus schlußfolgern kann, dass man also quasi als Alternative (höchstwahrscheinlich) verfassungswidrige Websperren braucht kann offensichtlich nur jemand nachvollziehen der das Netz nicht ansatzweise verstanden hat.

Wann kapieren solche Leute eigentlich endlich, dass die Welt längst flach geworden ist und dass es in Zukunft schlichtweg überhaupt keine Alternative zu einem besser funktionierenden internationalen Strafrecht geben wird?

Die Zeit in der wir uns in unserem Nationalstaat einigeln können ist doch (dank Internet) schon längst vorbei.

Wer meint mit Hilfe von Netzzensur die Zeit zurückdrehen zu können, der tut mir echt leid.

Was ich zum Schluß noch loswerden möchte. Wie kann man ein Medium wie das Internet immer noch als Neu bezeichnen, wo es doch selbst das Web schon seit 15 Jahren gibt.

Ich selber bin seit genau dieser Zeit dabei. Damals noch mit .public_html auf dem Hochschulrechner.

Lassen wir es nicht zu, dass uns alte Männer mit Kugelschreibern das Internet kaputt machen.

Kategorien: