Google Maps Wikipedia Layer - PullRequest
       9

Google Maps Wikipedia Layer

2 голосов
/ 06 января 2009

Есть ли способ программно составить список всех записей Википедии с геотегами в радиусе точки long / lat? Я думаю, что это возможно с API Google Maps, но меня интересует любой метод. ПРИМЕЧАНИЕ. Я не хочу отображать карту Google.

Ответы [ 3 ]

3 голосов
/ 06 января 2009

Да, это возможно. Тяжелая часть либо:

(1) Википедия с скринингом экрана (плохая идея, если у вас нет (небольшого) списка целевых страниц)
(2) Загрузка и анализ массивных наборов данных Википедии (лучшая идея)

Если у вас есть координаты широты / долготы, которые, как я полагаю, находятся в формате геотега вики-страницы, вы можете использовать формулу большого круга , чтобы вычислить относительные расстояния и полностью обойти API Google.

Мораль этой истории? Когда вы имеете дело с такими массивами данных, вам захочется делать как можно больше в автономном режиме.

2 голосов
/ 06 января 2009

Я решил немного похожую проблему с помощью GeoNames веб-сервисов .

Вы можете использовать веб-сервис для запроса городов и так далее. Существует ограничение per-ip, которое вы не можете превышать.

Я искал немного дальше, и есть кое-что интересное для вас. Веб-сервис называется findNearByWikipedia. Это может быть то, что вы ищете ...

1 голос
/ 08 февраля 2012

Другой вариант - использование интерфейса DbPedia SPARQL. Например, следующий запрос SPARQL получает статьи в википедии в пределах ограничивающего прямоугольника.

библиотеки SPARQL широко доступны, например, для SPARQL-интерфейс конечной точки для Python

Чтобы проверить это, просто вставьте запрос ниже в этот онлайн-редактор запросов:

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

Получает следующий результат:

"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"
...