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




Да, это возможно. Сложная часть:
(1) Википедия со сканированием экрана (плохая идея, если у вас еще нет (небольшого) списка целевых страниц)
(2) Скачивание и разбор массивного Наборы данных Википедии (идея получше)
Если у вас есть координаты широты и долготы, которые, как я полагаю, находятся в формате геотега вики-страницы, вы можете использовать формула большого круга для вычисления относительных расстояний и полностью обойти API Google.
Мораль этой истории? Когда вы имеете дело с такими огромными наборами данных, вам захочется делать как можно больше в автономном режиме.
Я решил немного похожую проблему, используя Веб-сервисы GeoNames.
Вы можете использовать веб-сервис для запроса городов и т. д. Вы не можете превышать ограничение для каждого IP-адреса.
Я поискал немного дальше и есть кое-что интересное для вас. Веб-сервис называется findNearByWikipedia. Возможно, это то, что вы ищете ...
Другой вариант - использовать интерфейс DbPedia SPARQL. Например, следующий запрос SPARQL получает статьи из Википедии в ограничивающей рамке, ограниченной координатами.
Широко доступны библиотеки SPARQL, например для Интерфейс конечной точки SPARQL для Python
Чтобы проверить это, просто вставьте запрос ниже в этот онлайн-редактор запросов:
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"