Radtour 2013 - Vom Mittelmeer zum Atlantik
Länge: 566 km
Höhenmeter: 5.900 m
Etappen: 11
GPX-Track: GPX-Track Radreise Piémont Pyrénéen 2013
Motivation
Es war nach langen Jahren wieder mal Zeit für eine Reise mit dem Fahrrad. Den letzten Anstoß gab die Randonnée Vélo Sud 2013 deren Teilnehmer ich im Juli an den letzten beiden Tagen von Galamus bis ans Mittelmeer begleitet habe. Die Idee war, die selbe oder eine ähnliche Strecke in umgekehrter Richtung zu fahren. Ähnliche Touren hatten wir schon in der Vergangenheit gemacht, neu war das Ziel, auf feste Unterkünfte möglichst zu verzichten und zum ersten mal ein Zelt mit zu nehmen.Räder
Die Räder waren vorhanden, ein Trekkingrad und ein mit Gepäckträger und Schutzblechen aufgerüstetes ATB/MTB. Fotos im Bericht über die Rückreise.Campingausrüstung
Da wir uns nicht sicher waren, ob uns das Zelten wirklich zusagen würde, wir aber andererseits keinerlei Ausrüstung hatten, haben wir einen Kompromiss zwischen Kosten und Qualität / Gewicht gesucht. Statt dem ursprünglich vorgesehenen 2-Personen-Zelt haben wir uns recht schnell für ein 3P-Zelt entschieden. In unserer Preis und Gewichtsklasse, unter 200€ und um die 3 kg, war die Auswahl nicht groß und wir haben uns für das Salewa Denali 3 entschieden. Dazu Luftmatratzen Therm-A-Rest Trail Lite, ein vorhandener Schlafsack Decathlon Quechua S10 Ultralight und ein neu angeschaffter Millet Baikal 750. Da wir mit zwei Packtaschen auskommen wollten, haben wir auf Kochausrüstung verzichtet, aber Teller, Becher (Decathlon) und je einen Primus Titan-Gabel-Löffel «Folding Spork» für's tägliche Frühstücksmüsli mitgenommen. Zwei uralte Packtaschen von Karrimor wurden durch ein paar neue Ortlieb Back-Roller Classic und zwei Packsäcke 35l ergänzt. Für die Navigation war ein Garmin Etrex Vista HcX mit 4 Sätzen Akkus vorhanden. Zum Laden der Akkus wurde ein Technoline BC700 angeschafft. Kurz vor Beginn der Reise löste sich noch die Gummierung vom Etrex. Anhand dieser Anleitung habe ich das mit Doppelklebenand zufriedenstellend gelöst.Kleidung
2 x Radlerkleidung + 1 x Zivilkleidung, weitestgehend in Microfaser, eine Windjacke für Radeln und Weggehen, eine leichte Regenjacke (K-Way), ein Paar Radschuhe mit abmontierter Klickhalterung, Badeschlappen.Streckenplanung
Die Randonnée Vélo Sud (RVS2013) war eine "militante" Tour, mit dem Ziel, den Ausbau der Voie Verte du Piémont Pyrénéen voranzutreiben. Sie führte daher sowohl über bereits ausgebaute Teilstrecken als auch über Abschnitte, wo heute noch keine radfahrgeeignete Trasse existiert. Da es sich bei diesen Abschnitten entweder um stark befahrenen Straßen handelte, für die ein paralleler Radweg gefordert wird, oder um Feldwege in extrem schlechtem Zustand, wäre es im Nachhinein gesehen sinnvoll gewesen, solche Strecken zu umfahren, notfalls weiträumig. Unser Ziel war eine zwar sportliche Tour, jedoch ohne Höchstleistungen, und ohne besonderes Besichtigunsgprogramm. Die geplanten Etappen waren daher je nach Höhenprofil zwischen 40 und 70 km lang. An zwei Stellen wich unsere Planung von der Randonnée Vélo Sud ab. Auf der zweiten und dritten Etappe sind wir nicht über Mirepoix und Pamiers nach Foix gefahren sondern über Puivert. Und statt von Roquefort/Garonne über Saint-Gaudens nach Lannemezan zu fahren, haben wir die Strecke über Cassagnabère-Tournas gewählt. Insgesamt ergabe sich so 11 Etappen. Als Unterkunft habe ich ausschließlich Campingplätze eingeplant. Grundlage war die Liste von ArchiesCampings, ergänzt durch Informationen der regionalen Tourismusbüros. Neben den von der RVS2013 angefahrenen Plätzen habe ich mir an den Etappenorten und entlang der Strecke weitere besonders geeignete Plätze ausgesucht und als spezielle POIs gespeichert. Zur Sicherheit habe ich auch noch alle anderen Plätze als POIs gespeichert. Die Strecke der RVS2013 lag in Form von GPX-Tracks vor, die ich mehr oder weniger unverändert übernommen und durch die abweichenden Streckenteile ergänzt habe. Als Tool verwende ich QLandkarteGT, die Höhenmeter habe ich sicherheitshalber auf gpsies.com quergecheckt.Sonstiges
Ich habe mir im Vorfeld den Kopf über Lademöglichkeiten für die Akkus des Etrex und das Smartphone zerbrochen. Im Nachhinein hat sich das als unbegründet herausgestellt. Zum einen habe ich das Smartphone wenig genutzt und die 4 Akkusätze des Etrex haben jeweils ein bis zwei Tage gereicht. Zum anderen war es auf den kleinen Campingplätzen kein Problem das Smartphon und das Ladegerät für ein paar Stunden an eine Steckdose im Sanitärraum zu hängen. Oder ein Wohnmobilnachbar bietet seine Steckdose an. Und manchmal gab es auch Stromanschlüsse mit Standard-Dosen, die beschaltet waren.GPX-Track: PP2013_tout_0.gpx
QGIS mit Python-Unterstützung unter Debian Jessie
- Quellen von qgis.org herunterladen.
- Quellarchiv in ein Verzeichnis entpacken
- Compilieren entsprechend der Anleitung in der Datei
INSTALL. Bei mir waren nur die Schritte aus Abschnitt 3.3. und 3.7. notwendig. - Beim Konfigurieren mit ccmake wird der Pfad
PYTHON_LIBRARYnicht automatisch gesetzt und muss daher von Hand eingetragen werden (in ccmake), z.B./usr/lib/x86_64-linux-gnu/libpython2.7.so ldconfigausführen.
GPX-Track auf OpenStreetMap-Karte anzeigen und ausdrucken
OpenLayers-Plugin
Installation
Das OpenLayers-Plugin ermöglicht es, OSM-Kacheln und Kacheln aus anderen mit OpenLayers darstellbaren Quellen (Google, Bing) in einem QGIS-Layer anzuzeigen. Dazu muss zunächst das Plugin installiert werden. Bis QGIS 1.8 funktioniert das problemlos mit mit dem Plugin Installer. Zunächst muss im Menü "Erweiterungen" der Plugin Installer installiert werden, dann kann mit diesem das OpenLayers-Plugin installiert werden. QGIS 1.9/2.0 ist mit dem Plugin nicht kompatibel. Es existiert aber ein Workaround, der hier beschrieben ist: [node:254].Layer hinzufügen
Danach erscheint im Menü "Erweiterungen" ein Untermenu "Openlayers Plugin", über das eine Kachelquelle ausgewählt und mit einem Layer verknüpft werden kann. Die Kacheln werden entsprechend dem Zoomlevel geschrumpft bzw, gedehnt, was zu einer unscharfen Darstellung führt. Ein Workaround besteht darin, den Maßstab explizit so einzustellen, dass die Kacheln in Original-Auflösung angezeigt werden. Stellt man den Maßstab 1:2257 ein, erhält man die Kacheln des Zoomlevels 18. Durch Zoomen mit der Maus bekommt man dann die Kacheln in den OSM-Zoomleveln angezeigt.Weitere Kachelquelle hinzufügen
Eine zusätzliche Kachequelle kann auf einfache Weise Hinzugefügt werden. Im Verzeichnis~/.qgis2/python/plugins/openlayers_plugin/html existiert für jede Kachelquelle eine HTML-Datei, die den Javascript-Code enthält, mit dem der entsprechende OpenLayers-Layer erzeugt wird. Man erstellt nun eine Kopie einer dieser Dateien und passt den Code entsprechend an. Für OSM-kompatible Kachelquellen genügt es in der Regel, die Datei osm.html zu kopieren und den URL anzupassen.
Anschließend muss noch in ~/.qgis2/python/plugins/openlayers_plugin/openlayers_plugin.py, etwa bei Zeile 120, ein Eintrag für die neue Kachelquelle nach diesem Muster eingefügt werden:
self.olLayerTypeRegistry.add( OlLayerType(self, 'OpenStreetMap', 'osm_icon.png', 'osm.html', True) )
nach einem Neustart von QGIS ist die neue Kachelquelle verfügbar.Alternative Methode
Ein anderer Weg zur Anzeige der OSM-Kacheln in QGIS ist hier beschrieben.GPX-Track
Ein GPX-Track kann als Vektor-Layer angezeigt werden:- Menüpunkt Vektorlayer hinzufügen anwählen
- im Dialog die GPX-Datei auswählen und öffen
- im anschliessenden Auswahlfenster den Layer tracks und ggf. weitere Layer auswählen und mit OK bestätigen
- im Layer-Fenster die Eigenschaften der Track-Linie festlegen: Farbe, Breite,...
Karte drucken / Grafik erzeugen
Hierzu wird der Dialog Neue Druckzusammenstellung geöffnet und mit neue Karte hinzufügen ein Kartenauschnit in das Druckblatt eingefügt. Dabei wird der Kartenausschnitt aus dem Hauptfenster übernommen. Dieser kann im Modus Inhalt verschieben nach Belieben gezoomt und verschoben werden Die so erzeugten Ausdrucke haben eine miserable Qualität. Der Zoomlevel der Kacheln wird entsprechend Auflösung des Ausdrucks und der Größe des Kartenauschnitts automatisch gewählt. Dann werden die Kacheln skaliert um den gewählten Kartenausschnitt zu erhalten. Das Ergebnis ist in den meisten Fällen ziemlich unscharf und für den Druck in der Regel nicht verwendbar. Durch geeignete Wahl der Druckgröße und des Maßstabs des Kartenausschnitts kann man trotzdem eine akzeptable Bildqualität erreichen. Beispiele:| Format | Auflösung (dpi) | Maßstab | Zoomlevel |
|---|---|---|---|
| A4 | 300 | 57250 | 15 |
| A4 | 150 | 57250 | 14 |
| A4 | 72 | 57250 | 13 |
| A1 | 72 | 57.250 | 13 |
| A1 | 72 | 144.448 | 12 |
| A1 | 300 | 144.448 | 14 |
| A1 | 300 | 2.311.168 | 10 |
| A1 | 72 | 577.792 | 10 |
Mapping Party in Collioure

Am 1. Juni 2013 organisieren Annexe21, Perpinux und die OpenStreetMap-Mapper des Departements Pyrénées-Orientales eine Mapping Party in à Collioure. Alles weitere auf https://annexe21.net/cartopartie2013
Echoes of Robert Johnson, Prades 02/03/2013
PostGIS: Wege ausserhalb von Landuse-Polygonen ermitteln
Für meine Velocarte wollte ich einen Overlay-Layer erstellen, in dem Straßen, die sich wegen ihres geringen Verkehrsaufkommens besonders für Alltagsradler eignen, farblich hervorgehoben werden. In einem ersten Schritt habe ich dafür alle Unclassified- und Service-Wege selektiert. Es hat sich aber gezeigt, dass darunter auch viele stark befahrene Straßen im innerstädtischen Bereich und in Industrie- und Gewerbegebieten waren. Um diese Straßen auszuschließen, habe ich zunächst die PostGIS-Funktion ST_WITHIN verwendet:
select osm_id,name,ref,highway,tracktype,way
from planet_osm_line as l
where highway in ('unclassified','service')
and not exists (select * from planet_osm_polygon as p
where p.landuse in ('residential','industrial','commercial')
and st_isvalid(p.way) and st_within(l.way,p.way));Da ST_Within auf vollständiges Enthaltensein prüft, werden von dieser Abfrage auch Straßen erfasst, die aus dem Umland in ein Wohn- oder Gewerbegebiet hineinführen. An dieser Stelle bin ich auf die Funktion ST_Difference gestoßen, welche, angewendet auf einen Weg und ein Polygon, den Teil des Wegs liefert, der nicht im Polygon liegt. Der erste Ansatz war:
PostGIS: Daten für den Renderingprozess vorbereiten
Anlegen der PostGIS-Datenbank
- Installation der PostgreSQL-Pakete:
aptitude install postgresql-9.1 postgresql-9.1-postgis postgresql-contrib-9.1 postgis - Installation des Pakets
postgis. Wheezy enthält PostGIS 1.5. Wenn, wie in meinem Fall, Funktionen benötigt werden, die erst ab PostGIS 2.0 verfügbar sind, kann diese Version problemlos aus den Quellen installiert werden. - Anlegen eines Users und einer Datenbank. Als Superuser:
Als Usersu - postgres createuser <username> Soll die neue Rolle ein Superuser sein? (j/n) j #psql --command "ALTER USER <username> WITH SUPERUSER"; psql --command "ALTER USER <username> WITH ENCRYPTED PASSWORD 'osm'";<username>:createdb osm psql -d osm --command "CREATE EXTENSION hstore;" #createlang plpgsql osm psql -d osm -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis.sql psql -d osm -f /usr/share/postgresql/9.1/contrib/postgis-1.5/spatial_ref_sys.sql
Importieren der OpenStreetMap-Daten mit osm2pgsql
Mit Osm2pgsql können OpenStreetMap-Daten in eine PostGIS-Datenbank importiert werden. Im Wesentlichen werden dabei die OSM-Objekte (Ways, Nodes, Relations), ihre Attribute (Tags) und Geometrie in Datenbanktabellen übernommen. Nodes werden nachplanet_osm_nodes, Ways nach planet_osm_line und geschlossene Ways nach planet_osm_polygon importiert. Welche Attribute übernommen werden sollen, wird in einer Konfigurationsdatei (Import Style) festgelegt.
Relationen vom Typ Multipolygon, Boundary und Route werden nach planet_osm_rels importiert. In diese Tabelle werden nur die Attribute der Relation und Verweise auf ihre Members eingetragen. Über die Konfigurationsdatei kann festgelegt werden, dass für Relationen mit bestimmten Attributen auch die Geometrie nach planet_osm_polygon bzw. planet_osm_line importiert werden.
Daten importieren:osm2pgsql -c -m -s -d osm -U <username> -W -H localhost --bbox <bbox> <osmdatei><osmdatei> ist die Datei OSM-Format (.osm, .osm.bz2 ou .pbf), welche die zu importierende Daten enthält.Nachbearbeiten der importierten Daten
Die mitosm2pgsql und dem Default-Importstyle erzeugte Datenbank enthält alle Daten, die man für das Rendern einer Karte im OSM-Mapnik-Standard benötigt. Für einen Karte in einem davon wesentlich abweichenden Stil kann es sinnvoll bzw. notwendig sein, die importierten Daten mit SQL nachzubearbeiten. Ein einfaches Anwendungsbeispiel ist das Ersetzen der Werte "yes", "true", "1" durch "yes", um Abfragen in Mapnik oder Tilemill zu vereinfachen:UPDATE planet_osm_line
SET tunnel = (CASE WHEN tunnel IN ('yes','true','1')
THEN 'yes'::text
ELSE tunnel::TEXT
END);Dies kann natürlich auch in der Datenbankabfrage in Mapnik/Tilemill gemacht werden. Erledigt man das bereits im Vorfeld, dann werden die Abfragen in Mapnik/Tilemill kompakter und lesbarer. Komplexere Anwendungsfälle werden in einem separaten Beitrag behandelt.Tilemill unter Debian Wheezy installieren
node.js & npm
Um Tilemill übersetzen zu können, muss erst node.js installiert werden.- Quellen von https://nodejs.org/download/ herunterladen
- Übersetzen und installieren:
tar xvzf tar xvzf node-v<version>.tar.gz cd node-v<version> ./configure make su -c 'make install'
Tilemill
- Tilemill übersetzen:
git clone https://github.com/mapbox/tilemill.git cd tilemill npm install - Anschließend kann Tilemill mit
gestartet werden../node_modules/tilemill/index.js
Rendern und Veröffentlichen einer OSM-Karte - Auswahl der Werkzeuge
Anforderungen und Randbedingungen
Ausgangspunkt waren folgende Randbedingungen:- Die Karte soll ein Gebiet von mindestens 80 km2 abdecken, mit den Zoomleveln von 12 bis 18
- Die Karte soll auf einer Webseite veröffentlicht werden. Der Kostenrahmen liegt bei < 5 Euro pro Monat.
- Arbeitsumgebung ist Linux (Debian Wheezy)
- Freie Gestaltung des Kartendesigns, insbesondere soll es möglich sein, parallel versetzte Linien zu rendern, z.B. für straßenbegleitende Radwege und -spuren.
Auswahl der Tools
Für das Rendern der Karte standen Maperitive und Mapnik zur Auswahl. Da Mapnik grundsätzlich den Einsatz einer PostGis-Datenbank erfordert und mir dies zu aufwändig erschien und zudem der erste Versuch einer PostGis-Installation scheiterte, habe ich zunächst Maperitive eingesetzt, weil es direkt mit den OSM-Daten im OSM-XML-Format arbeitet. Maperitive ist eine .Net-Anwendung, lässt sich aber unter Linux mit Mono installieren und betreiben. Die Performance ist weniger gut als unter Windows aber auf meinem Phenom II X2 sind die Reaktionszeiten beim interaktiven Arbeiten im akzeptablen Bereich. Unschön ist allerdings, dass Schriften unter Linux auf Grund einer Einschränkung von Mono nicht immer sauber gerendert werden. Der große Vorteil von Maperitive ist die integrierte Entwicklungsumgebung, mit der Änderungen in den Stil-Dateien ohne große Verzögerung in die gerenderte Karte übernommen werden. Mit den zahlreichen verfügbaren Beispiel-Stilen kann auf diese Weise in kurzer Zeit eine individuelle Karte erzeugt werden. Ebenfalls von Vorteil sind die vielen grafischen Gestaltungsmöglichkeiten, z.B. zum Erzeugen von Mustern und Symbolen. Trotzdem war ich mit dem Endergebnis nicht zufrieden, das Kartenbild machte irgendwie einen unprofessionellen Eindruck. Das soll nicht als Kritik an Maperitive verstanden werden, möglicherweise habe ich zu früh auf andere Tools umgeschwenkt. Vor dem Umstieg auf Mapnik musste zunächst PostgreSQL und PostGis installiert werden. Das geht recht einfach, da hierfür Debian-Pakete existieren. Wheezy enthält PostGIS 1.5., wegen eines Versuchs mit der Funktion ST_UnaryUnion habe ich nachträglich PostGIS 2.0 aus den Quellen installiert. Obwohl diese Funktion letzendlich nicht verwendet wird, bin ich bei 2.0 geblieben. Schwieriger war der Import der OSM-Daten in die PostGIS-Datenbank. Das lag hauptsächlich daran, dass ich das Tool osm2pgsql erst nach ein paar Fehlversuchen mit anderen Tools gefunden habe. Beim anschließenden Test der damit erzeugten Datenbank mit QGis habe ich festgestellt, dass sich dieses mit der neuen Symbologie hervorragend zum Rendern einsetzen lässt. Leider unterstützen die Tools zum Erzeugen von TMS-Kacheln nicht die neue Symbologie, so dass diese Spur nicht weiter verfolgt wurde, aber langfristig könnte dies eine komfortable Lösung sein. Mapnik ist in Debian Wheezy in der Version als Paket in der Version 2.0 verfügbar und funktioniert ohne Probleme. Da ich zum Rendern parallel versetzter Linien den LineSymbolizer-Parameter offset benötige, der erst in Mapnik 2.1 verfügbar ist, habe ich die Version 2.1. aus den Quellen installiert. Das Arbeiten mit dem XML-Format der Mapnik-Stildateien ist recht mühsam, da es keinerlei Möglichkeit von Verschachtelung oder Vererbung gibt. Das bläht die Datei enorm auf, sie wird unübersichtlich und fehleranfällig. Ich habe mich nach Alternativen umgeschaut und bin zunächst auf Cascadenik gestoßen, das mit Stylesheets in CSS-Syntax arbeitet. Obwohl die Arbeit mit Cascadenik sehr positiv verlief, bin ich nach kurzer Zeit auf Tilemill umgestiegen, welches mit einer ähnlichen Stil-Syntax arbeitet. Für die Veröffentlichung habe ich mich für OpenLayers entschieden. Es hätte aber genau so gut Leaflet sein können. Somit ergibt sich die folgende Tool Chain:- Importieren der OSM-Daten nach PostGIS mit osm2pgsql
- Nachbearbeiten der PostGIS-Daten
- Rendern der Karte mit Tilemill
- Anzeige der Karte mit OpenLayers