Diskussion:POI-Service

Aus Geoinformation HSR
Version vom 28. August 2011, 12:28 Uhr von Stefan (Diskussion | Beiträge) (Taginfo-Beispiele)

Wechseln zu: Navigation, Suche

Allgemeines

...


Tag-Suchstrategie

Begriffliches:

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

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

Services:

  • Taginfo API (inkl. neu: get RelatedTerms).
  • Bing Translation API (sonst Chemnitzer Tools).
  • Taginfo API mit Set von RelatedTerms aus beliebigen OSM-Wiki-Seiten (deutschen und englischen).
  • (Weitere Linguistik-Tools:
    • Wortübersetzung: Bing API (Google Translate API wird kostenpflichtig). Chemnitzer Dictionary (en=>de). Google Translate API (ist obsolet).
    • OpenOffice/WordNet-Synonyme (englisch und andere Sprachen) oder OpenThesaurus.de (Deutsch).
    • Ontologie, z.B. SKOS: => zu komplex für OSM-Leute?)

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: Terms je als Keys und als Values abfragen (bestehende Taginfo API).

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

Beispiele für das Taginfo API

Values-Suche: Allg. Suche nach Vorkommen in Values (Taginfo API "search mit #values") search/values - Gegeben value, gib alle Tags ("key=value") mit Rangierung zurück:

Keys-Suche: Allg. Suche nach Vorkommen in Keys (Taginfo API "search mit #keys"):

Values-of-Key-Suche: Gegeben key, gib alle values mit Rangierung zurück (Taginfo API "keys"):

Tag-Suche: Gegeben Tags ("key=value"), gib Infos zurück (Taginfo API "tags/overview", falls welche im Wiki):

Key-Statistics-Suche: Gegeben key, gib nodes/ways/relations-Statistik zurück (Taginfo API "keys/overview"):

Gegeben key, gib Wiki-Seiten zurück (Taginfo API "db/keys":

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.