Diskussion:OpenPOIMap

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche

Tasklist

Verschiedenes:

  • Umstellung auf den schnelleren EOSMBBOne.

GUI/Webfrontend:

  • Signalisieren, wenn DB offline ist und generell JavaScript optimieren, dass immer etwas dargestellt wird (via about-db-query.php)
  • "Search Tag" (rechts oben) neu links vom HSR-Logo.
  • Webservice-Tab: Übernahme der aktuellen Query als WFS-URL (Benutzerwunsch vom GISpunkt-Lunch vom 11.12.2011).
  • Permalink: Permalinks (auch) als Shortlink anbieten (wegen langen URLs durch FE/XML-Queries) (Benutzerwunsch vom GISpunkt-Lunch vom 11.12.2011)

POI Clusters:

  • BUG(?): Keine Infobox (oder erst nach langer Zeit?)
  • BUG: Keine Ersetzung der Markers durch Cluster beim Herauszoomen.

Infowindow bei POIs:

  • Weblinks anzeigen. Aus Tags herauslesen, v.a. folgende (vgl. [1],[2]):
    • "Buttons": | Zoom in | Detail | (Zoom in=>Level 17, Detail=>OSM)
    • 'name'
    • 'url', 'website' oder 'wikipedia'
    • 'addr', also z.B. addr:street = Oberseestrasse, addr:housenumber = 10, addr:postcode = 8640, addr:city = Rapperswil.
    • => 'Details': Link direkt auf den Node/Way (oder Ausschnitt) der OSM-Website; dafür muss das Feld osm_id vorhanden und richtig gefüllt sein (abhängig von gtype pt, li und po).
    • (Nice-to-have/Wishlist: Öffnungszeiten! Siehe 'key:opening_hours').
    • (Nice-to-have/Wishlist: 'image' (Bsp.: [3]).

Markers: schöne Punktsymbole (Icons):

(Ev. weitere gemäss Michel's Tasklist...)

Features/Ideen

  • Webapplikation optimiert für Smartphones (iPhone und Android) z.B. mit Hilfe von OpenLayers plus Sencha Touch oder JQuery Mobile
  • "Query Builder"-Tab aufheben und in Download integrieren (falls XML/FE-Sicht hineinpasst) (Benutzerwunsch vom GISpunkt-Lunch vom 11.12.2011)

History

Verschiedenes:

  • BUG Gruppierungsfehler.
  • Klären, ob Abfrage statt auf osm_point neu auf neu osm_poi funktioniert (könnte noch langsam sein; aber dann findet es auch "landuse=vineyard" und alle Kernkraftwerke :->)?
    • Durchaus möglich. Jedoch sollten mehrere Attribute definiert werden. Ausschliesslich 'name' ist ein bisschen zu wenig, da bspw. die Frage nach allen Busstationen der VBZ nicht funktioniert.
    • FeatureServer-DataStore für PostGIS erweitern und auf hstore mappen.
  • BUG in Query Builder: Wenn man bei Value einen Wert eingibt (z.B. Hotel), dann kommt die gute Hilfe (tourism->hotel). Doch wird dann Key/Value falsch eingefügt.
  • BUG in Home und Query Builder: Group Frame scrollt nicht. Damit erreicht man den ganzen unteren Teil nicht (mit "Done" etc.). Test: Man gebe 7 Key-Values ein, z.B. tourism={camp_site, hotel, hostel, guest_house, chalet, motel, caravan_site}.
  • Tagsearch: mit XML reaktivieren (SQLite)
  • Anzeigen Datum und neu Zeit (via about-db-query.php)
  • Kleiner Mini-Tooltip bei POIs
  • Permalink: BUG (mit Zoom/Level und ev. Query).
  • Query-Tab in Home: XML/FE-Sicht zuklappbar (Default: ausgeklappt) (Benutzerwunsch vom GISpunkt-Lunch vom 11.12.2011).
  • Kontext-Menu (= "Right Click") in der Karte entweder disablen oder idealerweise mit Funktinen belegen (ähnlich Google Maps) wie "Was ist hier?", Zoom in, Zoom out, "Karte hier zentrieren", sowie ev. "Route von hier" / "Route hierher".
  • Der IE Explorer 8 gibt Javascript Errors und stellt das CSS und die Karte nicht richtig dar.
  • ähnlich wie das Google Maps kann (Infowindow etwas kleiner als bei Google Maps; besser von Infowindow und nicht von Balloon-Tips reden); vgl. [5].
  • Darauf achten, dass sich die Karte möglichst nicht verschiebt, also das Infowindow so lassen auch wenn es oben über den Rand ragt.
  • Nur eine Infobox aufs Mal (beim Klicken auf einen anderen POI verschwindet die erste).
  • Redirect von www.openpoimap.ch auf http://openpoimap.ch

Query Builder:

  • Unnötige Leerzeichen im Filter-Parameter der URL löschen - es wird ja sowieso wieder formattiert (vgl. [6]).
  • im Wizard das "[X]" durch "[-]" oder "[Delete]" ersetzen.
  • "Add group" => "Add Group":
  • Beispiele rechts: Besserer Name für "Like test"
  • Neuer Text anstelle:
 Filter Encoding
 
 The wizard below assists you to build a query conforming to the OGC Filter Encoding Standard v2.0.0.
 
 To start, use the Add Group button. After you have finished building the query, click parse and the query is displayed as XML in the text box below. To display results you can use the search button.
 ... 
 
 Add your query to the box below (supported standard: OGC Filter Encoding v2.0.
 ...

neu (dann mit Fliesstext; "*" steht für Fett):

 Query
 
 The *wizard* assists you in building a query expression conforming to the OGC Filter Encoding 2.0 Encoding Standard.
 To start the wizard, use the *Add Group* button and *Add* key and value. 
 Click *Parse* and the query is displayed as XML in the Query Expression box. 
 You can enter or modify the *Query Expression* directly (use Filter Encoding syntax). 
 When finished, click on *Show* to visualize the result of the query expression on a map.
 
 Wizard
 ... 
 
 Query Expression
 ...

TagFinder:

  • Zurzeit kommt da bei einer Suche ohne Treffer [7] nur der Key ohne Value; und wenn weil man shon/trotzdem auf "[X]" klicken kann (und dort der Value fehlt), kommt ein Error. Das würde ich abfangen und entweder [X] disablen - oder aber zum QueryBuilder wechseln, wo man den Value noch eintragen kann. Noch besser würds dann natürlich über die neue Tag-Suchstrategie.
  • Das "[X]" im TagFinder ist verwirrend. Würde ich ersetzen durch "[+]" oder "[Choose]" oder ähnlich.

Tag-Suchstrategie

Begriffliches:

  • Term: meist identisch mit Wort, jedoch möglicherweise zusammengesetz bzw. mit Space getrennt
  • Tag: Kombination von Key und Value.

Software/Daten:

  • Infos zu Linguistik-Tools, inkl. Synonyme, Thesaurus und Übersetzungen.
  • Taginfo API, geplant neu mit Set von RelatedTerms aus beliebigen OSM-Wiki-Seiten (deutschen und englischen).

Input: Suchbegriff (z.B. "Schloss" mit Sprachcode, z.B. "DE")

Preprocessing:

  1. Add RelatedTerms to AnyLanguage-Termlist: RelatedTerms zu "Schloss" auslesen. Die DE-Termliste enthält nun "Schloss, Villa, Ruine" (via neue Taginfo API, Resultat: AnyLanguage-Termlist)
  2. Translate (AnyLanguage=>EN): Im Beispiel ergibt das eine EN-Termliste "castle, villa, ruin" (mit Bing API, Resultat: EN-Termlist)
  3. Add RelatedTerms to EN-Termlist: EN-Termliste mit RelatedTerms erweitern: EN-Termliste hat nun nebst "castle, villa, ruin" palace" zusätzlich "manor, bunker, chateau, citadel" (via neue Taginfo API, Resultat: Erweiterte EN-Termlist)
  4. Statistik zu EN-Termliste sammeln:
    1. Terms je als Keys und als Values abfragen (bestehende Taginfo API).
    2. Eigennamen ("name = Schloss X") herausfiltern.
  5. Falls Termlists praktisch leer, mit "Fuzzy Match" ersetzen?

Ranking (Vorschlag SK):

  1. Kommt urspr. Suchbegriff als Key vor?
    1. falls value "YES/NO" ist => Rückgabe. Z.B. Suche nach DE:Bank => "EN:bench" ergibt "bench=yes" und "amenity=bench".
    2. ansonsten => Rückgabe Liste mit allen zugehörigen Values (z.B. z.B. Suche nach "EN:amenity" ergibt "amenity=parking; amenity=restaurant; amenity=bench; ...".
  2. Kommt urspr. Suchbegriff als Value vor?
    1. => Rückgabe Value mit entsprechendem KEy. Z.B. Suche nach DE:Bank => "EN:bench" ergibt "amenity=bench".
    2. Zusätzliche positive Gewichtung falls es eine Wiki-Seite zum Suchbegriff gibt.
  3. Dann dasselbe wiederholen mit der EN-Wortliste im Sinne von schwächerem Ranking und "Meinten Sie..."?

Taginfo-Beispiele siehe Taginfo.

Weblinks

Notizen

  • Eine Tag=Value-Paar-Statistik kann auch aktuell und direkt aus der OSM-DB berechnet werden. Das dauert lange - nur schon für CH z.Zt. drei Minuten! - die Daten ändern sich aber nicht so schnell grundlegend). Das bietet auch die TagInfo API.