Mitglieder-Karte

Achso, äh, schickst Du bei Nominatem noch Suchparameter voraus oder ist das immer nur derselbe Algorithmus?
 
Edit: gerade nochmal in zwei Profile geschaut, die in der Karte nicht im Zentrum angezeigt werden: Bei kapege.de steht "PLZ Stadt (Ortsteil)" drin, bei Joerg046 steht nur "PLZ". Bereitest Du die Angaben für die Abfrage irgendwie auf? Bei mir steht nämlich "PLZ Stadt" drin.
Achso, äh, schickst Du bei Nominatem noch Suchparameter voraus oder ist das immer nur derselbe Algorithmus?
Ich beschreibe mal den Algorithmus:
  • Wenn eine 4- oder 5-stellige Zahl gefunden wird, wird die Postleitzahl gesetzt (z.B. postcode=54321).
  • Wenn ein Länderkürzel noch dabei steht, auch noch das entsprechende Land (also „A-1234“ => country=at, postcode=1234).
  • Wenn eine sonstige Landesbezeichnung gefunden wird, wird auch das entsprechende Land gesetzt (z.B. „Schweiz“ => country=ch).
  • Wenn eine 5-stellige Postleitzahl gefunden wurde, aber kein Land, dann wird country=de gesetzt.
  • Dann wird ein Ortsname extrahiert, indem folgende Dinge entfernt werden:
    • 4- oder 5-stellige Zahl
    • bekannte Ländernamen
    • Punkte, Kommata, Ausrufezeichen etc.
  • Wenn ein Land oder eine Postleitzahl gefunden wurde, dann wird danach + nach dem extrahierten Ortsnamen gesucht.
  • Wenn dabei nichts gefunden wurde, wird nach dem extrahierten Ortsnamen gesucht + die Länder auf D/A/CH beschränkt (countrycodes=de,at,ch).
  • Wenn dabei immer noch nichts gefunden wird, wird eine Freitextsuche probiert (q=Suchbegriff).
Das ist der Versuch, so viele Informationen wie möglich rauszukitzeln und dabei zu vermeiden, dass Orte in Amerika oder Südafrika gefunden werden, wenn nur die PLZ oder ein zufällig ähnlicher Ortsname angegeben wurde.
 
Ich beschreibe mal den Algorithmus:
Danke, nach ein bisschen Herumprobieren ergibt sich eine mögliche Erklärung: Nominatim findet mit postcode= keine Postleitzahlen in Deutschland, erst in der Freitextsuche werden die mit ausgewertet.
Bei mir sucht er wohl nach "countrycodes=de&city=München&postcode=812149", und wegen der nicht ausgewerteten Postleitzahl ist das äquivalent zu "countrycodes=de&city=München" und liefert die Koordinaten des Marienplatzes. Bei kapege.de führt die analoge Suche wegen des mit angegebenen Ortsteils zu einer genaueren Zuordnung. Bei Joerg046 sucht er zunächst mit "countrycodes=de&postcode=80993" und findet nichts, deshalb fällt er auf den letzten Schritt durch, wo er mit der Postleitzahl im Freitext relativ genau trifft.
 
Vielleicht hab ich eben Quatsch probiert, aber ich hab halt die Links modifiziert, die Du für das Beispiel Konstanz angegeben hattest.
Mit "postcode=" findet er nichts. Mit "postalcode=" geht es.
 
Mit "postcode=" findet er nichts. Mit "postalcode=" geht es.
Du hast vollkommen Recht. Ich habe das immer überlesen. Mein altes Skript macht es schon richtig, nur hier in der Diskussion war es falsch.

Und vielen Dank für das Testen!
Nominatim liefert hier die selbe Ausgabe:
Und wenn man die Stadt weglässt, wird gar nichts gefunden. Und wenn man das Land hinzufügt, wird ganz Deutschland gefunden (bzw. dessen Mitte).
D.h. @crummel hatte schon Recht:
  • Bei beiden Suchen (mit postalcode statt postcode) wird der selbe Punkt gefunden.
  • Wenn man den Ort aber weglässt, sondern nur die PLZ verwendet, dann werden unterschiedliche Orte gefunden.
 
Auf der OSM-Seite kann man ja auch mit Nominatim suchen - interessanterweise wirft er bei den Ergebnissen SOWOHL postcode als auch postal code aus:

1620135202069.png

Netterweise setzt er den Marker dann zwischen den drei fünf Ortschaften mit der selben PLZ in den Wald. Da kommen dann solche Kalenderfotos wie das mit den 4 VMs vom April-Kalenderblatt bei heraus... :LOL:
 
Zuletzt bearbeitet:
Mein altes Skript macht es schon richtig, nur hier in der Diskussion war es falsch.
Damit dürfte meine Vermutung zur Ursache hinfällig sein.
Meistens wird offenbar mit der "city="-Angabe die Postleitzahl ignoriert (probiert bei den schon zitierten Beispielen für Konstanz, zwei aus Münster und zwei aus München). In speziell meinem Fall liefert "city=München" die Stadt, "postalcode=81249" den Stadtbezirk und beides zusammen nichts. Ich habe noch ein paar andere Münchner Postleitzahlen durchprobiert, meist liefert die Kombination aus PLZ und Stadt einen Treffer im Stadtzentrum, manchmal liefert sie nichts.

PLZ und Stadt zugleich in die Abfrage zu setzen scheint demnach nicht viel Sinn zu haben, da kann man die PLZ auch weglassen. Bleibt die Frage, wie man Ort und PLZ gegeneinander priorisiert, also in welcher Reihenfolge man die Abfragen durchprobiert, bis man einen Treffer hat. In größeren Städten ist die PLZ genauer, wenn kein Ortsteil angegeben ist. Auf dem Land ist oft der Ort genauer.
 
PLZ und Stadt zugleich in die Abfrage zu setzen scheint demnach nicht viel Sinn zu haben, da kann man die PLZ auch weglassen. Bleibt die Frage, wie man Ort und PLZ gegeneinander priorisiert, also in welcher Reihenfolge man die Abfragen durchprobiert, bis man einen Treffer hat. In größeren Städten ist die PLZ genauer, wenn kein Ortsteil angegeben ist. Auf dem Land ist oft der Ort genauer.
Ja. Vor allem ist es ein Problem von Nominatim; ich mache da eigentlich nichts falsch.

Meine Workarounds sind schon sinnvoll, wenn sie helfen, bei mehrdeutigen Angaben die Suche in die richtige Richtung zu lenken („suche erst einmal in D/A/CH, und erst wenn du da wirklich nichts findest, am Ende der Welt“). Aber extra Dinge weglassen, damit die Suche genauer wird, das kann es eigentlich nicht sein.

D.h. ich würde es so lassen; außer jemandem fällt eine elegante Lösung ein, mit der man die Suche genauer machen kann, und die auch getestet ist. Ich habe eigentlich damals schon genug im Nebel gestochert und bin bei einer Lösung gelandet, die zumindest gut genug funktioniert.
 
Ausdiskutieren der Begriffe sinnvoll?
Kann sein.
Mein #knicky -Hashtag funktioniert jedenfalls noch nicht, auch #flevo tuts nicht. Ich hab die Mitglieder-Seite neu geladen und mein Profil überprüft. Trotzdem kein Eintrag auf der Karte :(
Ich schreib trotzdem mal in den Knickylutenstammtisch, dass und wie man sich eintragen könnte, wenn man will.
Gruß Krischan
 
Wenn man auf den "postal code" in dem oben dargestellten Bild klickt, sieht man mit einer roten Linie umrahmt die Grenze dieses PLZ-Bereiches - und der Marker sitzt, wenn ich das nach ein paar Vergleichen mit anderen PLZs so beurteilen kann, in der Mitte der Ausdehnung dieses Bereiches.

Oder ein anderes Beispiel: Wenn ich "78465 Wallhausen" suche, dann findet er sofort das richtige von mehreren Wallhausen, die es in Deutschland verteilt gibt, und setzt den Marker irgendwo links oben in die Dorfecke - warum denn nicht in die Ortsmitte? Aber mal ehrlich, woher soll Nominatim denn wissen, wo die Ortsmitte ist? Wenn man aber mal auf die Links klickt, wird das klar: es ist, wie oben bereits erwähnt, die Mitte der Nord-Süd- und West-Ost-Ausdehnung, wie man hier schön sehen kann:

1620137481724.png
 
Trotzdem kein Eintrag auf der Karte
Dafür muss Christoph erst sein Abfrageksript neu laufen lassen.
Ich hab jetzt auch Eintragungen geändert. Mal sehen, was beim nächsten Sync passiert.
D.h. ich würde es so lassen; außer jemandem fällt eine elegante Lösung ein, mit der man die Suche genauer machen kann, und die auch getestet ist. Ich habe eigentlich damals schon genug im Nebel gestochert und bin bei einer Lösung gelandet, die zumindest gut genug funktioniert.
Sorry, falls sich meine Beiträge so lasen, als würde ich da irgendwelche Forderungen stellen. das war nicht beabsichtigt. Testen kann ich selber schon mangels Wissen nicht.
Wer hier mitliest, kann seinen Ortseintrag austesten und bei Bedarf anpassen, wer nicht, der landet möglicherweise als Karteileiche irgendwo, wo er nicht hin wollte.
 
Und das soll ohne Zustimmung jedes Mitglieds DSGVO-konform sein?
Lies doch mal ein bisschen in diesem Thread...:
Das Thema ist rechtlich sagen wir mal umstritten ...
Prinzipiell sehe ich kein Problem mit Usern auf eine Landkarte, weil in unserem Fall der User den Ort selbst angibt. Was er/sie dort einträgt ist individuell und kann auch einfach nichts sein ...
Dieses „ungefragt absaugen“ tut bereits jede Suchmaschine. Das kann man weder verhindern, noch dürfte es da rechtlich eine Handhabe geben, denn hier wurden ja keine internen Daten verwendet – sondern nur solche, die komplett auch einem externen Besucher ohne Account zugänglich sind. §202a StGB kommt hier nicht zur Anwendung, weil das weder unbefugt ist, noch die Daten nicht für die Öffentlichkeit bestimmt sind, noch irgendwie gesichert sind. Die nur eingeloggten Mitgliedern sichtbare Mitgliederliste vereinfacht zwar den Prozess, aber man käme an die selben Information auch ohne diese Liste.
 
Dafür muss Christoph erst sein Abfrageksript neu laufen lassen.
Genau. Mache ich nachher.
Sorry, falls sich meine Beiträge so lasen, als würde ich da irgendwelche Forderungen stellen. das war nicht beabsichtigt. Testen kann ich selber schon mangels Wissen nicht.
Nein, keine Angst, hatte ich nicht so verstanden.

Bei so etwas ist ja immer die Frage, wie sehr man es optimieren soll. Macht viel Arbeit, macht den Code schlechter verständlich, und bei Änderungen kann es schneller kaputt gehen. Und ich glaube, es war einerseits richtig, ein paar Textverarbeitungen zu machen, um grobe Fehler auszuschließen (wir haben ja Hintergrundwissen, z.B. dass die meisten Mitglieder in D/A/CH sind). Andererseits, wenn alle PLZs einer Stadt zur gleichen Koordinate führen, dann ist das ein Problem von Nominatim, nicht von mir. Und deshalb finde ich es falsch, dort viel Arbeit in einen Workaround zu stecken.
Wie macht man das? Bei mir kommt kein OSM-Nominatim-Ergebnis.
Die ganz normale Openstreetmap-Suche.

Anscheinend ist das die Freitext-Suche; und bei den Ergebnissen wird auch immer der Typ des Ergebnisses angezeigt. Daraus schließe ich:
  • Wenn ich nach „city“ suche, dann werden nur Ergebnisse vom Typ Stadt oder Verwaltungsgrenzen etc. gefunden.
  • Mit Freitextsuche wird alles gefunden. (Z.B. hat jemand „Fränkische Schweiz“ eingetragen, und da es keinen Ort mit diesem Namen gibt, wurde ein gleichnamiges Restaurant gefunden, das zum Glück in der Fränkischen Schweiz liegt.)
  • Entsprechend werden mit der Freitextsuche auch Postleitzahlen-Objekte gefunden.
  • D.h. wenn man nach administrativen Einheiten sucht, dann werden nur deren Koordinaten gefunden, aber keine PLZ-Objekte berücksichtigt. Und mit Freitextsuche bekommt man manchmal PLZ-Objekte, die wiederum nichts mit administrativen Einheiten zu tun haben.
  • Und wie @Fanfan richtig sagt, man kann nicht pauschal sagen, welche Suche besser ist.
 
Zurück
Oben Unten