[out:csv(name,
highway,
bicycle,
cycleway,
"cycleway:both",
"cycleway:left",
"cycleway:right",
"sidewalk:bicycle",
"sidewalk:both:bicycle",
"sidewalk:right:bicycle",
"sidewalk:left:bicycle",
length)]
[timeout:120];
area["de:amtlicher_gemeindeschluessel"=08421000]->.a;
way(area.a)["highway"];
convert result ::=::,::geom=geom(),length=length();
out geom;
rainerU's Diary
Recent diary entries
Mapillary-Overlay für Garmin-Geräte
Posted by rainerU on 7 July 2021 in German (Deutsch). Last updated on 8 July 2021.Wenn ich mit der Kamera am Fahrrad unterwegs bin, um Bildsequenzen für Mapillary aufzunehmen, ist es oft hilfreich zu wissen, für welche Straßenabschnitte schon aktuelle Bilder auf Mapillary vorhanden sind. Ich kann dann die Fahrtstrecke so anpassen, dass ich bevorzugt Straßen und Wege abfahre, für die noch keine aktuellen Aufnahmen existieren. Dafür nutze ich eine Overlay-Karte auf meinem Garmin Etrex 30s, auf der alle Mapillary-Sequenzen als grüne Linie angezeigt werden, die ab einem bestimmten Datum erzeugt wurden. Abgesehen davon, dass dabei die Aufnahmewinkel nicht angezeigt werden, hat sich dieses Overlay in der Praxis gut bewährt. Mit QMapShak kann ich das Overlay auch für die Planung am PC nutzen. Nachfolgend beschreibe ich, wie ich das Overlay erstelle.
Die Karte wird für ein geografisches Rechteck (Bounding Box, BBox) erzeugt, das durch die Koordinaten (in Dezimalgrad) der linken unteren und der rechten oberen Ecke definiert ist. Verwendet werden Kommandozeilen-Tools unter Linux/Bash. Die Karte wird in drei Schritten erstellt:
- Herunterladen der Bildsequenzen von mapillary.com
- Erzeugen einer OSM-XML-Datei
- Erstellen der Garmin-Karte
Herunterladen der Bildsequenzen
Seit der Umstellung auf die API-Version V4 können die Daten der Bildsequenzen als Vektorkacheln im Mapbox Vector Tile Format herunter geladen werden. Die hier verwendeten Coverage Tiles enthalten eine Ebene image mit den einzelnen Bildpunkten und deren Daten und eine Ebene sequence mit den Bildsequenzen als Polygonzüge. Diese Ebene wird im Folgenden verwendet, um die Sequenzen als Linien über einer Grundkarte darzustellen.
Extrahieren von Objekten anhand der Tag-Historie und der beteiligten User
Posted by rainerU on 29 March 2021 in German (Deutsch). Last updated on 6 May 2021.Extrahieren von Objekten anhand der Tag-Historie
Mit dem Werkzeug osmium-tool kann man OSM-Extrakte nach Schlüssel/Wert-Kombinationen filtern. Das funktioniert auch mit History-Dateien. Dabei werden alle Objekte herausgefiltert, bei denen es einen Version mit der gesuchten Schlüssel-Wert-Kombination gibt. Auf diese Weise ist es z.B. möglich, alle Objekte zu extrahieren, bei denen der Wert eines Schlüssel in der Versionshistorie des Objekts in einer bestimmten Weise geändert wurde, z.B. von highway=track auf highway=service|unclassified|tertiary:
# Create data file from history file to ensure consistency between data and history files:
osmium time-filter extract.osh.pbf -o extract.osm.pbf
# Get all ways with highway=track in any version
# (Discard nodes in the first step in order to eliminate nodes that are no longer part of the current versions of the ways)
osmium tags-filter --omit-referenced extract.osh.pbf w/highway=track -o track-w.osm.pbf
osmium getid --id-osm-file track-w.osm.pbf --add-referenced extract.osm.pbf -o track.osm.pbf
# Keep only ways that are now service,unclassified or tertiary:
osmium tags-filter track.osm.pbf w/highway=service,unclassified,tertiary -o no-track.osm
Die Datei no-track.osm
kann mit JOSM geöffnet werden.
Filtern nach User und Tag-Änderung
Manchmal ist es hilfreich, Objekte zu extrahieren, an denen der ursprüngliche oder der aktuelle Wert von einem bestimmten User gesetzt wurde. Mit osmium
ist das leider nicht möglich, da nicht nach den Schlüsseln user
und uid
gefiltert werden kann.osmium
kann aber die History-Datei in eine OPL-Datei umwandeln, ein Textformat mit einer Zeile pro Objektversion, in der auch der Username enthalten ist. Eine andere Möglichkeit bietet das Tool
osm-tag-csv-history. Beide Wege werden nachfolgend beschrieben. In beiden Fällen wird zunächst eine History-Datei der bisher herausgefilterten Objekte erstellt:
osmium getid --id-osm-file no-track.osm --with-history extract.osh.pbf -o no-track.osh.pbf