Kurz zum Hergang. Zum einen hat es mich schon immer geärgert, dass es kein einfaches Beispiel gibt, wie man eine Nominatim Ortssuche in OpenLayers einbindet. Zum anderen spiele ich auch schon eine Weile mit sprachlokalisierten Karten rum. Beides steht jetzt - zumindest als Prototyp
1) Einbindung von Nominatim in eine OL Karte
Erstmal möchte ich auch hier Max (a.k.a. maxbe) danken, der das programmiert hat. Ohne ihn hätte ich das nicht hinbekommen. Ich habe nur rumgemeckert, wenn mir was nicht gepasst hat.
Die Suche ist mehrsprachig. Die Eingaben können in jeder Sprache erfolgen. Der Suchbegriff muss nur in in OSM als name(:xx) eingetragen sein. Ist halt so wie in OSM. Die Ausgabesprache kann in der index.html festgelegt werden. Sofern die gewünschte Sprache nicht vorhanden ist, wird name= ausgegeben. Die Anzeige der Resultate wurde etwas gekürzt (verglichen mit osm.org). Das ist in 99% der Fälle gut.
Die Kategorien werden in einer speziellen Datei übersetzt. Bspw gibt Nominatim Kategorien wie city, town, place_of_worship zurück. Wer sich nicht die Arbeit machen will und bei null anfangen, hier mal ein erster Entwurf. german.osm4people.org/nominatim-i8n.csv
Falls Bedarf besteht, könnte ich alle nötigen Files zusammen packen. Müsste out-of-the-box laufen
2 Sprachlokalisierte Karte
Für uns ist es nicht so wild. In den meisten Gegenden ausserhalb ex-Sowietunion, Arabien und Asien können wir die Karten lesen. Anderen geht es nicht so. Daher habe ich mal ein paar Karten in lokalen Sprachen erstellt. Hier ein Beispiel in kyrillisch (serbisch) inkl angepasster Nominatim Suche http://serbia.osm4people.org/
Zum Layer Српски springen.
Wenn man bspw nach “Moskau” sucht, findet man die Stadt Moskau (1) und als zweites ein Weiler in DE. Man sieht, dass nicht alles in allen Sprachen übersetzt ist…klar, wer übersetzt schon ein Weiler in NRW.
Es ist nur Europa geladen. Es ist bis zu Zoom Level 10 vorgerendert. 11 ist noch recht langsam in Gegenden mit viel Daten. Die Tiles werden gecacht. Der nächste, der das Gebiet anschaut, bekommt die Tiles wesentlich schneller. Ab Level 12 ist es für meinen Geschmack meist akzeptabel.
Auch wenn sich jetzt viele drauf stürzen, kann es langsam werden, da ich keine Tiles a la “more osm is coming soon” nutze.
Achja, die Übersetzung der Kategorien ins Serbische ist noch fehlerhaft. Ich kann kein serbisch und warte noch auf Feedback von der lokalen Community…nur falls es jemand bemerkt
@Edwin
Du nimmst bitte http://german.osm4people.org/ und schaltest ins Layer DE-OSM. Dort findest Du alles in Deutsch - sofern in OSM eingegeben.
10.727542874312 53.8726678070735 Verwaltungsgrenze: Schleswig-Holstein (Landmasse) Administrative: Lübeck, Ostholstein, Schleswig-Holstein (Landmasse) 10.6847384 53.8664436 Stadt: Lübeck, Schleswig-Holstein, Germany City: Lübeck, Ostholstein, Schleswig-Holstein, Germany, Europa -81.6264926892373 39.2276586850205 Verwaltungsgrenze: Lubeck, West Virginia, Vereinigte Staaten von Amerika Administrative: Lubeck, Washington, West Virginia, Vereinigte Staaten von Amerika /* end */ *
Nein, Du kannst auch mit Umlauten suchen. Auch Chinesisch geht 北京
Der Link ist nur zum testen ob das php Skript geht. Vermutlich liegts an der fehlenden curl Unterstützung. Das sollte ich auf der Wiki-Seite als Vorrausetzung ergänzen
hab mapquestjs.php korrigiert. in Zeile 75 fehlte ein Semicolon. Daher kam der Fehler mit “Parse error: syntax error, unexpected T_VARIABLE in …\deu\mapquestjs.php on line 77”
Gruss
Walter
p.s. Das ist aber nicht der OSM-Nominatiḿ Server. Das ist doch ein N-Server bei MapQuest mit OSM-Daten, oder?
und eine vernünftige nominatim-i8n.csv zumindest en/de wäre auch nicht schlecht.
Ja. Der richtige Nominatim-Server hat recht enge Vorstellungen von bestimmungsgemässem Gebrauch, die “Du darfst nicht mehr als 1x pro Sekunde fragen”-Regel ist schon sehr knapp. Das Ding arbeitet ja praktisch als Proxy, “Du darfst…” heisst in diesem Fall “alle Deine Besucher zusammen dürfen…”.
Das hat Mapquest nicht, Daten sollten dort auch hinreichend aktuell sein und der Preis der kleinen Danksagung unterm Suchknopf ist ok, finde ich
Ich bau den gerade in mein PLZ-Tool ein. Da kommen nicht allzuviele Requests rein - schätzte mal 1-2 pro Tag
Was mich derzeit erschüttert, ist die Qualität der Mapquest-Suche. Einfache Städte (“Nordhorn”) oder auch etwas schwierige (“castrop-rauxel”,“bad homburg”) findet er nicht; von Strassen mit Hausnummern nicht zu reden.
Kann aber auch ein “Starter-Problem” sein, da ich das Beispiel fast 1-1 übernommen habe.
Ich werd mal nen Switch zur Auswahl der Suchmaschine einbauen; dann weiss ich wenigstens wer “spinnt”.
Da müsstest Du dann das sehen
13.4023051674614 52.5014783395417 Administrative: Berlin Administrative: Berlin 13.4023271 52.5015955 State: Berlin, Germany State: Berlin, Germany, Europe 13.3888548 52.5170397 City: Berlin, Berlin, Germany City: Berlin, Berlin, Stadt, Mitte, Berlin, Germany, Europe /* end */
sowas kann man ja eigentlich nicht übersehen. das ist das allererste was mich gestern nacht gestört hat.
ok, mach ich mich mal an meine Karte ran.
Gruss
walter