Kraichgau-Hohenlohe- und Bibertal-Radweg

In diesem Jahr habe ich meine alljährliche Radtour von Karlsruhe nach Nürnberg dazu genutzt zwei komplette Fernradwege in Openstreetmap zu vervollständigen! Den Kraichgau-Hohenlohe-Weg von Bad Schönborn nach Rothenburg ob der Tauber sowie den Bibertalweg zwischen Rothenburg ob der Tauber und Fürth.

Letzteren gab es zwar schon weitgehend, die zugehörige Relation war aber in einem sehr häßlichen Zustand. Offensichtlich ist das leider bei vielen bestehenden Relationen der Fall 🙁

Das sind vermutlich auch noch Nachwirkungen der API Umstellung von 0.5 auf 0.6.

Unabhängig davon sollte man aber schon Wege splitten, wenn der Radweg nicht über den kompletten Weg läuft, denn es soll ja im Endeffekt ein Weg mit eindeutigem Verlauf zu erkennen sein.

Schön zu sehen ist auf dieser Radtour immer der jährliche Fortschritt des OSM Projektes. Während vor 3 Jahren außerhalb der Ballungsräume KA, HN und N noch fast nichts gemappt war. Konnte ich in diesem Jahr schon zu 99% auf gemappten Wegen radeln.

Zwei kurze Wegstücke habe ich sogar mit Hilfe des automatischen Routings der OSM Garminkarte zurückgelegt. An dieser Stelle mal ein herzliches Dankeschön an die Macher von mkgmap und an der Author der All in one Garmin Map.

Trotzdem gibt es natürlich insbesondere auf
der Hohenloher Ebene und im Gebiet Frankenhöhe noch viel zu tun!

Ich bin übrigens zum Freund von amenity=bench bzw. tourism=picnic_site geworden 🙂 Es ist nämlich überaus praktisch, wenn man seine kurzen Pausen sitzend verbringen kann, weil man auf dem GPS gesehen hat, dass in wenigen Metern eine Sitzgelegenheit ist.

Was jetzt noch fehlt ist eine POI Suche nach Fahrradhändlern, die hätte ich in diesem Jahr gut gebrauchen können.

Der Kraichgau-Hohenlohe-Weg ist nämlich leider nicht ganz vollständig. Es fehlt das Teilstück zwischen Langenburg und Schrotzberg!

Aufgrund einer Fahrradpanne musste ich hier leider vom geplanten Weg abweichen 🙁

Ach und nochwas ist mir aufgefallen: Bei Beschilderungen für Radfahrer ist Baden-Württemberg den Bayern um Längen vorraus.

Es interessiert in der Regel durchaus wie weit es noch bis zum nächsten Dorf ist. Bei KFZ Wegweisern eine Selbstverständlichkeit. In Bayern findet man soetwas selbst auf offiziellen Fernradwegen außerhalb der Ballungsräume eher selten.

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.