Pergunta

Existe uma maneira para programaticamente listar todos geo-tags entradas da Wikipedia num raio de um longo ponto / lat? Eu estou pensando que isso é possível com a API do Google Maps, mas estou interessado em qualquer método. NOTA:. Eu não quero para exibir um googlemap

Foi útil?

Solução

Sim, é possível. A parte difícil é:

(1) Tela raspagem Wikipedia (má idéia, a menos que você já tem uma lista (pequena) de páginas de destino)
(2) Fazer o download e analisar o enorme conjuntos de dados Wikipédia (melhor idéia)

Depois de ter latitude / longitude coordenadas, que eu suponho que estão no formato geotag da página de wiki, você pode usar o grande círculo fórmula para calcular distâncias relativas, e ignorar a API do Google por completo.

A moral desta história? Quando você lidar com conjuntos de dados deste enorme, você vai querer fazer o máximo de-lo offline quanto possível.

Outras dicas

Eu já resolveu um problema um pouco semelhante usando a GeoNames webservices .

Você pode usar o webservice para solicitar cidades e assim por diante. Há uma per-ip-limitação que você não pode exceder.

Eu procurei um pouco mais e há algo interessante para você. O webservice é chamado findNearByWikipedia . Pode ser a coisa que você está procurando ...

Outra opção é usar interface de DBpedia SPARQL. Por exemplo, a seguinte consulta SPARQL recebe wikipedia artigos dentro da caixa delimitadora limitado por coordenadas.

SPARQL bibliotecas amplamente disponíveis, por exemplo, para SPARQL Endpoint interface para Python

Para testar, basta colar a consulta a seguir a este editor de consulta on-line:

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

Obtém o seguinte 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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top