Diverse Wünsche zu Kartendarstellungen und Koordinaten

Auf

http://wiki.openstreetmap.org/wiki/DE:Overpass_API/Language_Guide
http://wiki.openstreetmap.org/wiki/DE:Overpass_API/Beispielsammlung

ist dokumentiert, dass “~” benutzt werden kann um “ungefähre” Ergebnisse (durch reguläre Ausdrücke) zu berücksichtigen
und nicht nur “genaue” Treffer mit “=”.

Frag dich doch bitte mal, was das Teil bei “name=Frankfurt” machen wird?

Tip: suche mal unter “Wildcard”.

Gruss
walter

Die Overpass Abfrage sieht etwas unvollständig aus, da fehlen mindestens noch Ways und Relations. Außerdem geht da keine Ähnlichkietssuche bei Tippfehlern!

Ich würd dafür einen Geocoder benutzen, z.B. Photon: https://photon.komoot.de/

Geht auch per API, http://photon.komoot.de/api/?q=Frankfurt&limit=50

Hi,

das ist leider für meine Zwecke völlig unbrauchbar. Ich bekomme da entweder riesige Listen mit viel Informationen. Oder es findet viel zu wenig Orte. Bei “Try Me” z.B. mit “Reute” nur 5 gelistete Treffer.

Auf jeden Fall kann ich mit den Ergebnissen nichts anfangen.

Danke trotzdem

Es soll mir alle Frankfurts anbieten. Egal was da noch als Optionen dranhängt. Wie z.B. “Frankfurt (Oder)”

Die meisten Suchen machen das automatisch “richtig”.

Ok - Mit Wildcards geht es wohl. Muss ich mich reinarbeiten.

Danke

Danke - Super! Das war’s

Warum einfach wenn es auch kompliziert geht. Ich hasse die “regulären Ausdrücke” und stehe mit den auf Kriegsfuß.

Hat aber jetzt doch bei ein paar Versuchen geklappt.

Jetzt wäre halt noch eine passende GUI schön. Oder wenigstens eine Kommandozeile (URL)

Aber zumindest bekomme ich jetzt schon mal brauchbare Ergebnisse. Zum Glück brauche ich es nicht alle paar Minuten.

Danke an alle

Das ist wohl Absicht, die Menge ist auf 5 Treffer beschränkt, deshalb habe ich auch die URL gepostet.

Geschenkt:


http://overpass-turbo.eu/?w=type:node and place=* and name like "Frankfurt" in Germany 

(ganze Zeile samt aller Leerzeichen kopieren und ins Browserfenster einfügen!)

Du meinst ins URL-Fenster?

Habe ich gemacht. Siehe unten. Bringt aber gar kein Ergebnis. Und ich verstehe diese Abfragesprache überhaupt nicht


/*
This has been generated by the overpass-turbo wizard.
The original search was:
“type:node and place=* and name like "Frankfurt" in Germany”
*/
[out:json][timeout:25];
// fetch area “Germany” to search in
{{geocodeArea:Germany}}->.searchArea;
// gather results
(
  // query part for: “place=* and name~Frankfurt”
  node["place"]["name"~"Frankfurt"](area.searchArea);
);
// print results
out body;
>;
out skel qt;

Hast du auch auf “ausführen” gedrückt?

Die Syntax oben ist overpass turbo wizard, ist einfacher zu verstehen. Vielleicht ist dir aufgefallen dass der wizard genau die query generiert hat, die du oben schon verwendet hast.

Doku: http://wiki.openstreetmap.org/wiki/Overpass_turbo/Wizard

:slight_smile: - ich bin es gewöhnt dass Programme beim Aufruf über Kommandozeile den Befehl auch ausführen. Sonst brauche ich ja keine Kommandozeile. Das geht es ja schneller wenn ich den Code reinkopiere bzw. vorhandenen Code entsprechend meines Ortswunsches manuell abändere.

Hätte ich aber wohl probieren können.

Das wird dann meine Feierabendlektüre.

Danke

OK, dafür gibt es den Parameter &R - das steht aber auch in der Doku.

Genau das solltest du, denn für sowas sind die da.

Für einfache Queries dürfte das wohl reichen. Es gibt aber noch ganz andere Ansätze, die allerdings die Overpass wohl nicht beherrscht.
Stichwort “Fuzzy Queries” - für “unscharfe Abfragen”. Damit lassen sich auch Schreibfehler abfangen oder nach Wörtern mit ähnlicher Aussprache suchen.

Hier mal eine Beschreibung für postgresql - nicht dass du das verwenden sollst, aber es kann nicht schaden zu wissen, was es sonst noch gibt: https://www.postgresql.org/docs/9.6/static/fuzzystrmatch.html

Gruss
walter

Das Ergebnis ist im GeoJSON Format, das kann man als Datei mit “.json” oder “.geojson” Endung gespeichert z.B. bei geojson.io öffnen.

Alternativ gibt es bei https://geocoder.opencagedata.com/ auch die Möglichkeit eine Karte als Ergebnis auszugeben (benötigt API Key).

Was ist denn dann das Kriterium den passenden Ort aus einer Karte auszuwählen? Gibt es evtl. noch einen Straßennamen oder -nummer (K 1234), die man in die Overpassabfrage mit einbauen könnte?

Danke - aber das ist mir echt zu viel. Ich habe schon genug Hobbies :slight_smile:

Sinngemäß: Ich will nur ein bischen Fahrrad fahren und keinen Lehrgang in Ferrari Reparatur.

Das ist echt ja viel Tolles - für den der brauchen kann. Aber total oversized für mich.

Overpass in der empfohlenen einfachen Funktion reicht mir völlig. Und selbst das ist für den Zweck fast zu viel Aufwand und Umstand.

Am Anfang des Threads war ein Link, über den ich mir alle Orte Deutschlands als CSV runtergeladen habe. Knapp über 61.000.

Habe mir das passend in Excel importiert. Und ein kleines EXCEL-UI und ein paar Makros. In wenigen Sekunden habe ich jeden Ort und gleichnamige gelistet. Teil der angezeigten Liste, der mich interessiert, markieren und per weiterem Makroklick als Wegepunktliste an Routekonverter übergeben.

Schwupps - habe ich alle in Frage kommenden Orte auf der Landkarte angezeigt.

Das Problem ist also gelöst.

Danke an alle

Wie gerade schon geschrieben ist das Problem gelöst. Besser und schneller geht es für meine Bedürfnisse wohl nicht.

Noch zu deiner Frage: Wenn ich mehr Infos hätte bräuchte ich diese Abfragerei ja nicht. Es geht um Folgendes: Schüler befragen Autofahrer im Rahmen von Verkehrsbefragungen woher sie kommen und wohin sie fahren. Ort und Strasse.

Neben konkreten eindeutigen Angaben kommen halt auch viele Orte wie z.B. “Hausen”, “Weiler”, “Reute” etc. Und die Schüler fragen selten nach, zu welchem Ort der angegebene Ort gehört oder was in der Nähe ist. “Kirchheim Teck” ist eindeutig. “Kirchheim” alleine hat viele Möglichkeiten.

Fragt sich dann beim Auswerten der Listen welcher Ort gemeint sein kann. Als Auswerter hat man auch selten ausreichende Ortskenntnisse. Also brauche ich den naheliegendsten passenden Ort in der Fahrtrichtung der Befragung. Oder aus der Herkunftsrichtung.

Gebe ich jetzt z.B. “Reute” ein, dann bekomme ich als Ergebnis meiner Excelabfrage eine Liste aller “Reute” bzw. nach einem weiterem Klick über “RouteKonverter” eine Karte mit allen Orten diesen Namens. Und da ich ja den Befragungsort und die Fahrtrichtung habe, bleibt dann i.d.R nur ein Ort übrig, der passen könnte.

Mit einer gewissen Fehlerquote muss man halt rechnen. Aber das spielt letztlich keine Rolle. Die Menge macht es bei einer Statistik.

Naja, aber wenn du den Ferrari unter den Fahrrädern willst, ist das halt nötig :wink: :stuck_out_tongue:

Danke für die Rückmeldung und schön, dass sich schon eine praktikable Lösung ergeben hat.

Genau das meine ich. Eine Suche nach einem Ort in dem es eine bestimmte Straße gibt ist halt schon deutlich eingeschränkter.

Und mit dem Befragungsort als Bezugspunkt lässt sich die Abfrage noch weiter räumlich einschränken. Die Ausgangsfrage bezog sich auf Deutschland, deshalb waren die Antworten und Beispiele entsprechend für ganz Deutschland, auch wenn du das zwischendrin erwähnt hast:

Eine Geocoding Anwendung die geeigneter wäre kenne ich leider auch nicht, aber hier mal ein Beispiel zur Veranschaulichung was ich meine:

  1. Suche nach “Weiler” nur in der Nähe von Stockach findet nur noch acht Treffer:
    http://nominatim.openstreetmap.org/search.php?q=Weiler&polygon_geojson=1&viewbox=8.42102%2C48.12760%2C9.69818%2C47.48194&bounded=1
  • Auf http://nominatim.openstreetmap.org auf Stockach zoomen, so dass Ravensburg noch in der Karte sichtbar ist
  • “apply viewbox” anhaken
  • nach “Weiler” suchen
  • in der URL den Parameter “&bounded=1” anhängen (ohne Anführungszeichen), um wirklich nur Ergebnisse innerhalb der Kartenansicht zu suchen
  1. Suche nach “Hauptstraße, Weiler” nur in der Nähe von Stockach findet nur noch einen:
    http://nominatim.openstreetmap.org/search.php?q=Hauptstraße%2C+Weiler&polygon_geojson=1&viewbox=8.42102%2C48.12760%2C9.69818%2C47.48194&bounded=1

Oder für Overpass Turbo (aus Beispielsammlung abgeleitet):


{{ort=Weiler}}
{{strasse=Hauptstraße}}
{{radius=1000}}

[out:json][timeout:25];

( 
  node["place"]["name"={{ort}}]({{bbox}});
)->.places;

(
  way["highway"]["name"="{{strasse}}"]
     (around.places:"{{radius}}");
)->.streets;

(
  node.places(around.streets:{{radius}});
)->.matchingPlaces;

(.streets;.matchingPlaces);
(._;>;);
out meta;

http://overpass-turbo.eu/s/quy

Danke für die viele Mühe - aber mir ist das zu kompliziert bzw. zu umständlich für den Praxiseinsatz und vielen Abfragen.
Ich bekomme, wenn ich deinen Beispielen folge, nur einen Ort in der Karte angezeigt und den Rest in der linken Liste.

Ich brauche aber bei den kleinen Käffern mit einem Blick alle Orte im Umkreis von bis zu ca. 100 km vom Befragungsort. Und auch nur im Bereich der entsprechenden Fahrtrichtung bzw. der nach Strassenführung. Im Einzelfall muss es auch wesentlich weiter reichen.

Und in sicher weniger als 5% der Orte habe ich mehr als nur den Ortsnamen. Oder sonstige Hilfsangaben.

Viele Autofahrer sind genervt, wenn sie durch so eine Befragung in einem Stau landen. Entsprechend dürftig sind oft die Herkunfts- oder Zielangaben. Und die Schüler sind auch oft frage- und schreibfaul. Oder schmieren ganz oder halb unleserliches Zeugs aufs Frageblatt.

Also hängt dann das Ratespiel beim Auswerter. Und da brauche ich mit meiner Excel-Lösung pro nötiger Abfrage keine 10 Sekunden. Es geht hier übrigens um einige zehntausend einzelne Abfragezeilen. Und so gefundene Orte kommen natürlich in eine befragungsstellenabhängige “Quickviewliste”, damit ich nicht dauernd neu suchen muss.

Nochmal danke für die Mühen.

Gerne. Ich finde die Fragestellung technisch interessant und wollte selbst wissen, wie weit die vorhandenen Tools da unterstützen könnten.

Hallo, das hier genannte Tool ist sicher sehr mächtig. Aber aufgrund der Handhabung auch sehr anspruchsvoll bezüglich Einarbeitung. Es kann sicher meine Aufgabe lösen. Ist aber dazu viel zu oversized.

Wie schon gesagt, habe ich mir meine Excel-Lösung gebastelt. Und das kann theoretisch jeder Helfer bei den Aktionen ohne große Einarbeitung sofort bedienen und hat in ein paar Sekunden die jeweilige Lösung. Ohne Kommandozeilenbasteleien.

Dann muss nur noch die hier hausinterne Kennziffer des Ortes aus einer anderen Tabelle zugeordnet werden. Die hausinternen Kennziffern sind abhängig von den Befragungsaktionen. Zum Teil straßengenau in der Nähe und nur bundeslandgenau in der Ferne.

Also ich sehe z.B. ein “Reute” bei Tübingen liegt in genauer Fahrtrichtung ab der Befragung. Und dann hole ich mir den Code des “Reute (Tübingen)”