Pregunta

¿Hay una manera de enumerar de manera programática todas las entradas de Wikipedia con etiquetas geográficas dentro de un radio de un punto largo / latido? Estoy pensando que esto es posible con la API de Google Maps, pero estoy interesado en cualquier método. NOTA: No quiero mostrar un googlemap.

¿Fue útil?

Solución

Sí, es posible. La parte difícil es:

(1) Wikipedia de raspado de pantalla (mala idea, a menos que ya tenga una lista (pequeña) de páginas de destino)
(2) Descargar y analizar los enormes conjuntos de datos de Wikipedia (mejor idea)

Una vez que tenga coordenadas lat / long, que supongo que están en el formato de geoetiqueta de la página wiki, puede usar fórmula de gran círculo para calcular distancias relativas y omitir por completo la API de Google.

¿La moraleja de esta historia? Cuando se trata de conjuntos de datos tan grandes, querrá hacer la mayor cantidad de datos fuera de línea posible.

Otros consejos

He resuelto un problema ligeramente similar utilizando los servicios web GeoNames .

Puede utilizar el servicio web para solicitar ciudades, etc. Existe una limitación por IP que no puede superar.

Busqué un poco más y hay algo interesante para ti. El servicio web se llama findNearByWikipedia . Puede ser lo que estás buscando ...

Otra opción es usar la interfaz SPARQL de DbPedia. Por ejemplo, la siguiente consulta SPARQL obtiene artículos de Wikipedia dentro del cuadro delimitador limitado por coordenadas.

Bibliotecas SPARQL ampliamente disponibles, por ejemplo para Interfaz SPARQL Endpoint para Python

Para probarlo, simplemente pegue la consulta a continuación en este editor de consultas en línea:

http://dbpedia.org/sparql

PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> 
PREFIX onto: <http://dbpedia.org/ontology/> 

SELECT * WHERE {
?s a onto:Place .
?s geo:lat ?lat .
?s geo:long ?long .
FILTER ( ?long > 30.3 && ?long < 30.5 && ?lat > 50.4 && ?lat < 50.5)
} 

LIMIT 100

Obtiene el siguiente resultado:

"s","lat","long"
"http://dbpedia.org/resource/Kotsiubynske","50.48972320556641","30.32888793945312"
"http://dbpedia.org/resource/Akademmistechko_%28Kiev_Metro%29","50.46555709838867","30.35499954223633"
"http://dbpedia.org/resource/Zhytomyrska_%28Kiev_Metro%29","50.45583343505859","30.36416625976562"
"http://dbpedia.org/resource/Sviatoshyn_Airfield","50.47833251953125","30.38500022888184"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top