Geoinformationen aus der Wikipedia rausholen

NetzUnity und Informatik-forum wurden zusammengelegt. Eine entsprechende Ankündigung wird demnächst noch folgen. Für 2025 ist hier einiges geplant! Bei Fragen bitte per DM an Maximilian Rupp wenden.
  • Kennt jemand von Euch eine API um Daten aus der Wikipedia halbwegs brauchbar rauszuholen? Ich muß für meine Diplomarbeit die Geokoordinaten aus Wikipediaartikeln rausholen und täte mir es gerne sparen, manuell alles zu machen.

    lg Bernhard

    I used to be an owl...

    881 :rock:

  • Wikimedia stellt die Daten eh maschinenlesbar zur Verfuegung: http://download.wikimedia.org/ .

    Thx.

    Nur wenn ich mir das so anschau, schauts aus, als könnte ich da nur die gesamte wikipedia in einer sprache runterladen? was ich brauch ist:

    * Artikel in gegebener Sprache suchen
    * Schauen ob Geokoordinaten dafür eingepflegt
    * Wenn ja die Daten als Lat/Long bekommen.

    Wenns sowas fertig als Open Source gäbe, wärs super.

    Also genau genommen brauch ich sowas wie http://mapki.com/getLonLat.php nur halt per API :)

    I used to be an owl...

    881 :rock:

  • Du brauchst dir doch nur den Wikitext der Seite holen und dort drin nach dem Koordinaten-Template suchen...

    Wenn du dir zB http://de.wikipedia.org/wiki/Stonehenge ansiehst, steht rechts oben

    Code
    Koordinaten: [URL='http://tools.wikimedia.de/%7Emagnus/geo/geohack.php?language=de&params=51_10_44_N_1_49_35_W_type:landmark_region:GB']51° 10′ 44" n. Br., 1° 49′ 35" w. L.[/URL]


    Im Wikitext entspricht das der Zeile

    Code
    {{Koordinate Artikel|51_10_44_N_1_49_35_W_type:landmark_region:GB|51° 10′ 44" n. Br., 1° 49′ 35" w. L.}}
  • bissi was selbst programmiern würd auch nicht schaden für die diplomarbeit;)

    In wiki gibts eh normen wie was geschrieben werden soll

    Daher musst du dich einfach daran orientieren und aus der ganzen wiki seite einfach die geo daten rausfiltern.

    Ich denk mal nicht dass dir das selbst programmieren nicht erspart bleibt.

    Probier einfach mal den gesamten "wikitext" mit deinem programm in eine datei runterzuladen.

  • bissi was selbst programmiern würd auch nicht schaden für die diplomarbeit;)

    Das ist auch nicht das Problem, etwas selbst zu programmieren :) Nur ist es halt leider so, daß eigener Code da sehr mühsam ist. Natürlich ist es kein Problem, eine Wikipediaseite per http downzuloaden, zu parsen und die Koordinaten rauszukletzeln. Sind ca 20 Zeilen Code.

    Das Problem fängt aber mit Mehrsprachigkeit an... Im Deutschen muß ich die Edit Seite nach "Koordinate" suchen. In der Englischen nach "Coordiante" usw usf.

    Zitat von Stefan Kögl


    Du brauchst dir doch nur den Wikitext der Seite holen und dort drin nach dem Koordinaten-Template suchen...

    Was wiederum für schreibgeschützte Artikel (siehe zum Beispiel Rom - nicht funktioniert.... http://de.wikipedia.org/w/index.php?title=Rom&action=edit

    Ich such einfach eine generische Lösung, die mehrsprachenfähig ist.

    I used to be an owl...

    881 :rock:

  • das tut es doch schon fast:

    Zum Beispiel:

    PHP
    ben@kafka: ruby fetchGeoFromWikipedia.rb Stonehenge
    {{Coord|51.178889|-1.826389|type:landmark_region:FR|format=dms|display=title}}
    {{Koordinate Artikel|51_10_44_N_1_49_35_W_type:landmark_region:GB|51° 10′ 44" n. Br., 1° 49′ 35" w. L.}}
    {{coor title dms|51|10|44|N|1|49|34|W|region:GB-WIL_type:landmark_scale:2000}}
    ben@kafka:

    Jetzt noch fuer jede Sprache eine Regex zum hash dazu, um die Ergebniszeilen zu parsen. Das ganze gibst du dann z.b. als CSV aus, oeffnest das in einem Spreadsheet und fahrst nochmal mit dem Auge drueber.

    Wenn Du ALLE geodaten aus der Wikipedia moechtest, dann wiederhole ich mich gerne: Saug die ein Dump in einem maschinenlesbaren Format, und schmeiss sie in ein RDBMS oder einen Suchindex wie Lucene/Solr. Dann kannst du da blitzschnell drinnen suchen bzw mit einem Script drueber fahren.

    Praktisch gesehen geht damit natuerlich trotzdem irgendwie ein Arbeitstag drauf. Also ich versteht schon warum du dich nach einem fertigen Tool umschaust. Aber sieh es doch mal so: Wenn Du damit fertig bist, kannst Du ja eine Luecke fuellen und die API online stellen. ;) Und vermutlich macht sich das in der Arbeit auch nicht schlecht.


  • Praktisch gesehen geht damit natuerlich trotzdem irgendwie ein Arbeitstag drauf. Also ich versteht schon warum du dich nach einem fertigen Tool umschaust.

    Hey, Dein Code ist ein guter Ansatz, danke. Tool deshalb, weil ich flexibler sein will als hardcoded URL irgendwo reinzuschreiben.


    Aber sieh es doch mal so: Wenn Du damit fertig bist, kannst Du ja eine Luecke fuellen und die API online stellen. ;) Und vermutlich macht sich das in der Arbeit auch nicht schlecht.

    Dafür, daß das mit der geographischen Suche nur ein kleiner Gimmick von der Software ist, hab ich mir das wesentlich einfacher vorgestellt. Eigentlich gehts ja um die Verarbeitung digitaler Photos nach geographischen Merkmalen.

    Ich halt Euch auf jeden Fall am Laufenden!

    I used to be an owl...

    881 :rock:

  • Sowas gibt es als tolle App fürs iPhone: http://www.iphonefaq.org/archives/97405
    Es ortet dich per Funkzelle / WiFi Netz und zeigt dir die Wikipedia Artikel bzw. Flickr Bilder in deiner Nähe an. Sehr nett gemacht.

    Hast Du eine Ahnung, WIE es das macht? Zumindest bei den WLans muß er ja irgendwo eine Liste der WLan und geographische Zuordnung haben. Und ihre Location Area IDs werden die Telkos ja auch nicht einfach so zur Verfügung stellen.

    I used to be an owl...

    881 :rock:

  • Das müsste die Google Maps API hergeben. Technisch basiert das wohl auf einer Datenbank mit Funkzellen, die je nach Aufenthaltsort den zu dir nächst gelegenden Mobilfunkmasten ausspuckt bzw. dich durch die Sendestärke und einer Art "Kreuzpeilung" (nenn es mal laienhaft so) im Aufenthaltsradius eingrenzt.
    Bei WiFi Netzen gibt es auch eine ziemlich große Datenbank mit allen möglichen Hotspots (Freewave, Fon!, beim Wardriving eingetragenen Netzen, usw.) die dir in Zusammenhang mit der Mobilfunkortung recht gute Ergebnisse beschert.

    http://www.google.com/mobile/gmm/index.html
    http://www.skyhookwireless.com/

  • Das müsste die Google Maps API hergeben. Technisch basiert das wohl auf einer Datenbank mit Funkzellen, die je nach Aufenthaltsort den zu dir nächst gelegenden Mobilfunkmasten ausspuckt bzw. dich durch die Sendestärke und einer Art "Kreuzpeilung" (nenn es mal laienhaft so) im Aufenthaltsradius eingrenzt.

    Und genau diese Datenbank ist ja das Problem. Weil die Telkos geben die Daten ziemlich sicher nicht freiwillig raus.

    Außerdem kannst Du lediglich aus der Location Area in der Du bist sehr schwer errechnen, wo Du bist. Dazu brauchst Zugriff auf die Daten der BTSen in der Location Area um zu triangulieren.

    IIRC gab's dazu auch eine österreichische (!) Judikatur, wonach die möglicherweise ausgelesenen Daten nicht so ohne weiteres verwendet werden dürfen, weil Eigentum der Telko.


    Bei WiFi Netzen gibt es auch eine ziemlich große Datenbank mit allen möglichen Hotspots (Freewave, Fon!, beim Wardriving eingetragenen Netzen, usw.) die dir in Zusammenhang mit der Mobilfunkortung recht gute Ergebnisse beschert.

    *G* Über die Eindeutigkeit der ESSID brauch ich hier zum Glück nicht philosophieren :)

    I used to be an owl...

    881 :rock:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!