Подтвердить что ты не робот

API Википедии для геолокации

Возможно ли, используя существующий API Википедии, получить список статей вокруг географического местоположения? Как, как это делают карты Google?

Я хотел бы сказать, что я "здесь" и узнаю, что вокруг меня в Википедии.

Я вижу на таких статьях, как этот, вы можете увидеть "Координаты" справа, поэтому я хотел бы сделать запрос на этих координатах...

любые мысли?

4b9b3361

Ответ 1

Не изобретайте велосипед, используйте DBpedia.
Пример страницы с данными "lat" и "lon" извлечен.
И можно запросить SPARQL.

Ответ 3

Посмотрите Wikilocation, может быть полезно.

Ответ 5

Кажется, что для этого не существует API Wikipedia, но на этой странице Wikipedia описывается, как другие используют эту информацию:

Все координаты доступны для скачивания в базе данных дампов Википедии. Чтобы получить координаты из дампа формата XML всех статей (enwiki-latest-pages-article.xml.bz2, 4 ГБ), необходимо проанализировать дамп для страниц, содержащих координаты, в форматах ввода, перечисленных выше. Большинство статей в Википедии соответствуют этим форматам, а координаты легко анализировать из викистекста с помощью регулярных выражений для простых последовательностей символов. Поскольку все координаты связаны с одним и тем же инструментом PHP, их также можно найти в таблице внешних ссылок в формате SQL (enwiki-latest-externallinks.sql.gz, 725MB). Этот второй метод, однако, не будет включать всю доступную информацию о координатах, такую как их положение между телом статьи и областью заголовка.

Ответ 6

API jQuery и geonames:

a, b = долгота, широта, твит → html div

function getcontent(a,b) {
    jQuery(function($) {
        $.getJSON('http://api.geonames.org/findNearbyWikipediaJSON?formatted=true&lat='+ a +'&lng='+ b +'&username=username&style=full&lang=de&wikipediaUrl&thumbnailImg', function(json) {
            for(var i = 0; i < json.geonames.length; i++) {
                $("#tweet").prepend('<span style="font-family: geneva, arial, helvetica, sans-serif;"><br><br><img src="wikilogo.gif"><br>' + json.geonames[i].summary + '<br><a href="http://'+ json.geonames[i].wikipediaUrl +'" target="_blank">'+ json.geonames[i].wikipediaUrl +'</a><br></span>');
            }
        }); 
    }); 
}

Ответ 7

DBpedia и SPARQL не являются хорошими вариантами, по крайней мере, не для немецкой Википедии: охват слишком мал.

Я пытаюсь разобрать все разные геокоординатные форматы самостоятельно прямо сейчас (с дампов), но это довольно сложно, поскольку есть действительно много разных вариантов.

Ответ 8

Я знаю, что это старый вопрос, но вот формат URL для аналогичного запроса:

https://en.wikipedia.org/w/api.php?action=query&list=geosearch&format=json&gscoord=40.418670|-3.699389&gsradius=10000&gslimit=10

после &gscoord= вы должны поместить координаты, разделенные | и после &gsradius= радиус поиска в метрах, gslimit - это максимальное количество записей в ответе.

Ответ содержит JSON.