alle Wohngebietsstraßen in Deutschland herunter. (Das klappt auch sehr gut!)
NUR: Ich brauche eigentlich nur den Straßentyp, Name und die Geometrie. Die overpass-api liefert mir allerdings auch alle Tags für z.B. die einzelnen den Straßenzugehörigen Nodes.
Weiß jemand, ob und wenn ja wie man soetwas unterbinden kann? Sprich, die overpass-api liefert nur die “nacken” Nodes der einzelnen Straßen!
Keine Ahnung, ob und wie man die Overpass API dazu bringen kann, aber ansonsten klingt es nach einer Aufgabe für osmfilter: http://wiki.openstreetmap.org/wiki/DE:Osmfilter#Tag-Filter
Alternativ geht es aber auch mit Kaugummi, einer Kugelschreibermine und etwas Rohrreiniger: z.B. tötet
sed '/^ *<node /,/^ *<way/{/^ *<tag/d}'
alle Tags an Knoten; Wege und Relationen von (allen außer) bestimmten Tags zu befreien ist aber genauso möglich. (Daß man derart verpfuschte Daten nicht mehr zum Editieren nehmen sollte, versteht sich von selbst.)
Verrätst Du uns, was Du vorhast?
Besten Dank Oli-Wan für die schnelle Antwort!
Ja an “osmfilter” hab ich auch schon gedacht, aber es hätte ja sein können, dass es eine Möglichkeit gib die Daten erst gar nicht runterladen zu müssen…
Ich hätte evtl. erwähnen sollen, dass der Spaß mit Windows erledigt wird! Das sieht mir doch sehr nach nach Linux aus. Gibt es sowas zufällig auch für Windows?
Och schade Nein, ehrenwort wird nicht hochgeladen,is doch klar…
Also hauptsächlich versuche ich mir eine “Adressvorschlagfunktion” für “meinen” OSMAddressCorrector zu basteln. Aber vor allem will ich mal wieder bisl “basteln” Kann also sein, dass ich mich bald öfters hier melde…
Das Programm hätte ich dir nun auch empfohlen. Eleganter wärs aber wirklich, wenn man die nicht benötigten Daten gar nicht erst runterladen muss. Vielleicht gibts da doch noch einen Weg.
Ja, die wichtigsten Linux-Kommandozeilenprogramme wie grep, wget usw. gibt es tatsächlich auch für Windows. sed z.B. hier: http://sed.sourceforge.net/
um gar keine Tags zu bekommen. Wenn nur die Nodes ihre Tags verlieren sollen, geht
http://www.overpass-api.de/api/interpreter?data=[timeout:86400];way[highway=residential][name](47.2,5.8,55.1,15.1);node(w)->.a;.a out skel;out;
In diesem Fall werden erst die Nodes der Ways mit der Ausgabeoption “skel” ausgegeben, dann die Ways im Standardformat. Damit die Nodes nicht die Ways überschreiben, werden sie in der separaten Variable “a” gespeichert.
Die Abfragemöglichkeiten der Overpass-API sind echt sehr beeindruckend. Wahrscheinlich bist du annähernd der einzige, der so richtig durchblickt(?). Gibt es irgendwelche “Deppenjobs” bei der Doku oder bei Beispielen, wo man dir helfen könnte?
Vielen Dank Roland für die “Aufklärung” meines Problems bzw. meines Wunsches!
Irgendwas, läuft da aber falsch, ich bekomme nur folgende Fehlermeldung:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" lang="en"/>
<title>OSM3S Response</title>
</head>
<body>
<p>The data included in this document is from www.openstreetmap.org. The data is made available under ODbL.</p>
<p><strong style="color:#FF0000">Error</strong>: line 1: parse error: ';' expected - '-' found. </p>
<p><strong style="color:#FF0000">Error</strong>: line 1: parse error: ';' expected - 'a' found. </p>
<p><strong style="color:#FF0000">Error</strong>: line 1: parse error: Unexpected end of input. </p>
</body>
</html>
Weißt du da nochmal Rat?
Vielen dank nochmal und auch schonmal “vielen Dank” im voraus!
gefunden. Da sind in und nach “node(w)-;.a” einige Zeichen verloren gegangen. Versuche es mit Wget an der Kommandozeile bitte mit einfachen Anführungszeichen um die URL, dann sollte die URL unverändert verarbeitet werden können.
Eine Frage hätte ich noch: Wie kann ich diese “Abfragefunktion” bei Relationen anwenden? Also sprich, ich erhalte von der overpass-api NUR die tags der Relation, aber trotzdem alle Ways und Nodes?
Hallo allerseits,
sorry, aber ich muss diesen hier nochmal nach oben holen.
Wenn ich per
wget "http://overpass-api.de/api/interpreter?data=[timeout:86400];(relation[postal_code](47.2,5.8,55.1,15.1););way(r)->.b;node(w)->.a;.b out skel;.a out skel;out;" -Opostcode.osm
alle Postleitzahlengebiete mir herunterladen möchte klappt das zwar, allerdings bekomme ich nur die Relation und die ways, ABER NICHT die Nodes.
Wahrscheinlich ein ganz einfaches Problem und ich bin einfach nur blind…
Könnte mir bitte jemand einen Schubs in die richtige Richtung geben…
Vielen Dank schon einmal und einen schönen Samstag noch
Das Problem liegt in “node(w)->.a;”. Die Wege, zu denen die Nodes geholt werden sollen, liegen in “.b”. Es müsste also “node(w.b)->.a;” und insgesamt
wget "http://overpass-api.de/api/interpreter?data=[timeout:86400];(relation[postal_code](47.2,5.8,55.1,15.1););way(r)->.b;node(w.b)->.a;.b out skel;.a out skel;out;" -Opostcode.osm