Слой Википедии Google Maps

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

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
0
1 303
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Да, это возможно. Сложная часть:

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

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

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

Я решил немного похожую проблему, используя Веб-сервисы GeoNames.

Вы можете использовать веб-сервис для запроса городов и т. д. Вы не можете превышать ограничение для каждого IP-адреса.

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

Другой вариант - использовать интерфейс 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"

Другие вопросы по теме