Diskussion:RelatedTerms

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche

Projekt RelatedTerms in OSM 2011

Idee/Koordination: Stefan

Dies ist die Realisierung des Lösungsansatzes Ende 2011.

Das Projektvorhaben lässt sich in folgende Teilprojekte gliedern:

  1. Teilprojekt RelatedTerm-Ersterfassung .
  2. Teilprojekt Taginfo API 'relatedterms' (vgl. unten).
  3. Teilprojekt Verbesserte Tag-Suche im TagFinder / POI-Service.

Auf diesen Arbeiten aufbauend - insbesondere dem Taginfo API 'relatedterms' und der laufenden Aktualisierung durch die OSM-Community - kann dann z.B. auch in JOSM eine verbesserte Tags- bzw. Presets-Suche realisiert werden.

Teilprojekt RelatedTerm-Ersterfassung

Projekt-Teilnehmer/innen:

  • Daniela
  • Marc

Das Ziel dieses Teilprojekts ist das Erfassen von Synonymen, bzw. alltemein verwandte Begriffe als RelatedTerm-Templates (v.a. englisch) von häufigsten OSM-Tags im Wiki (ca. 1000).

Etappierung:

  1. In einer ersten Phase werden nur dort RelatedTerms erfasst, wo (englische oder deutsche) Wiki-Seiten vorhanden sind.
  2. In einer späteren Phase wird aufgrund z.B. eine Liste das OSM Wiki gezielt mit neuen Wiki-Seiten ergänzt, die das dokumentieren, was schon in den Daten ist und verwandte Begriffe (Related Terms) dazu erfasst.

Stand: Fortschrittsanzeige: http://wiki.openstreetmap.org/wiki/Special:WhatLinksHere/Template:RelatedTerm

Infos/Regelungen:

Quellen:

Help:Template on MediaWiki.

Teilprojekt Taginfo API 'relatedterms'

Projekt-Teilnehmer/innen:

  • Michel
  • Mirko

Extrahieren/Preprocessing:

  • Idee: pro Wiki-Seite wird nach der Vorlage 'RelatedTerm' geparst und in die wiki-Tabelle der taginfo-db abgelegt.
  1. taginfo-wiki.db um ein weiteres Feld "related_terms" (o.ä.) erweitern und dort die Terms Strichpunkt-separiert ablegen ("de:Schloss, de:Prachtbau, en:castle"). Ruby-Code erweitern ([1]), wo MediaWiki-Templates schon ausgelesen werden, zurzeit jedoch nur die Templates "Key" und "Tag".
  2. API 1 sucht nach Synonymen und gibt Liste von Tags (= Key/Values) zurück. Dabei soll das existierende Ruby-Script erweitert werden. Vgl. ([2]).
  3. API 2 gibt alle Synonyme zurück.
  4. Taginfo-Suche mit Synonym-Lookup erweitern.

Stand: offen.

Task List:

  1. Preprocessing
    1. Erweitern der DB-Tabelle "wikipages" um ein Attribut "related_terms"
    2. Ergänzen des "INSERT"-Statements im get_wiki_data.rb Script (Methode: def insert(db))
    3. evtl. Anpassung von weiteren Methoden.
  2. API 1
    1. Anbieten einer neuen API-Methode (bspw. 'wiki/kvrp' oder ähnliches)
      • Input: q -> String (required), lang -> ISO (optional), rp -> integer(optional), page -> Integer (optional), sortorder -> {asc, desc} (optional), sortname -> String (optional)
      q = Query String
      rp = Results per Page
      sortname = one of the result attribute
      • Output: (tags_linked attribute muss zusätzlich berücksichtigt werden)
 {"total":INT, 
  "rp":INT, 
  "page":INT, 
   "data":[{
     {"key":"historic","value":"castle"},
     {"key":"amenity","value":"building"},
     ...
   }] 
 }
  1. API 2
    1. (bspw. 'wiki/relatedterms')
      • Input: q -> String (required), lang -> ISO (optional), rp -> integer(optional), page -> Integer (optional), sortorder -> {asc, desc} (optional), sortname -> String (optional)
      • Output:
 {"total":INT, 
  "rp":INT, 
  "page":INT, 
   "data":[{
     {"term":"castle","lang":"EN"},
     {"term":"Schloss","lang":"DE"},
     ...
   }] 
 }