2010-11-16 14 views
28

È possibile utilizzare le API di Wikipedia esistenti per ottenere un elenco di articoli attorno a una posizione geografica? Un po 'come come fa Google maps?API di Wikipedia per geolocalizzazioni

Vorrei dire che sono "qui" e scoprire cosa c'è intorno a me su Wikipedia.

posso vedere su articoli come this si possono vedere le "coordinate" sul lato destro della strada, quindi mi piacerebbe fare una query su queste coordinate ...

ogni pensiero?

+1

Potresti persino essere in grado di utilizzare l'API di Google Maps per ottenere risultati dal loro livello Wikipedia. –

+2

appena trovato questo: http://www.geonames.org/export/wikipedia-webservice.html#findNearbyWikipedia che potrebbe aiutarmi ... – Mark

+0

@BennyJobigan Puoi elaborare? –

risposta

13

Non reinventare la ruota, utilizzare DBpedia.
Pagina di esempio con dati "lat" e "lon" extracted.
E può essere interrogato con SPARQL.

+1

Interessante, non sapevo che quel progetto esistesse! Grazie Ill guardo bene :) – Mark

+0

@jpatokal: come usare dbpedia per risolvere i problemi OP pubblicati? puoi far luce su questo? – Abhinav

+0

@Abhinav Se i link sopra non aiutano, non posso aiutarti neanche ... – jpatokal

4

Sembra che non v'è alcuna API Wikipedia per questo, ma this Wikipedia page descrive come altri fanno uso di queste informazioni:

Tutte le coordinate sono disponibili per il download in Wikipedia database di discariche. Per ottenere le coordinate dalla XML formato dump di tutti gli articoli (enwiki-latest-pagine-articles.xml.bz2, 4 GB), la discarica deve essere analizzato per pagine contenenti le coordinate nei formati di ingresso quotate sopra. La maggior parte degli articoli in Wikipedia sono conformi a questi formati e le coordinate sono facili da analizzare dal wikitext con le espressioni regolari per le sequenze di carattere semplice . Poiché tutte le coordinate si collegano allo stesso strumento PHP, possono anche essere trovati nella tabella del formato SQL dei link esterni (enwiki-latest-externallinks.sql.gz, 725 MB). Questo secondo metodo sarà ma non tutte le informazioni disponibili sulle coordinate , come la loro posizione tra il corpo dell'articolo e l'area del titolo.

+0

Grazie Philipp, sono riuscito a ottenere alcuni dump di DB, è un peccato che tu debba percorrere questa strada. Ma come ho commentato, potrei semplicemente usare il http://www.geonames.org/export/wikipedia-webservice.html#findNearbyWikipedia per ora ... – Mark

+1

Le coordinate sono in realtà abbastanza lunghe da analizzare perché vengono in pochi diversi formati. Vedi http://en.wikipedia.org/wiki/Template:Coord per ulteriori dettagli sui formati. – Filip

3

Soluzione jquery e geonames API:

a, b = longitudine, latitudine, tweet -> HTML div

function getcontent(a,b) { 
    jQuery(function($) { 
     $.getJSON('http://api.geonames.org/findNearbyWikipediaJSON?formatted=true&lat='+ a +'&lng='+ b +'&username=username&style=full&lang=de&wikipediaUrl&thumbnailImg', function(json) { 
      for(var i = 0; i < json.geonames.length; i++) { 
       $("#tweet").prepend('<span style="font-family: geneva, arial, helvetica, sans-serif;"><br><br><img src="wikilogo.gif"><br>' + json.geonames[i].summary + '<br><a href="http://'+ json.geonames[i].wikipediaUrl +'" target="_blank">'+ json.geonames[i].wikipediaUrl +'</a><br></span>'); 
      } 
     }); 
    }); 
} 
8

Dai un'occhiata alla Wikilocation, potrebbe essere utile.

+2

AGGIORNAMENTO: Wikilocation è stato ritirato e ora c'è un [API UFFICIALE WIKIPEDIA] (https://www.mediawiki.org/ wiki/Estensione: GeoData # API) – ZJR

1

DBpedia e SPARQL non sono buone opzioni, almeno non per la Wikipedia tedesca: la copertura è troppo piccola.

Sto provando ad analizzare tutti i diversi formati di coordinate geografiche da solo in questo momento (dai dump), ma questo è abbastanza difficile in quanto ci sono davvero molte varianti differenti.

Problemi correlati