Ответ 1
Не изобретайте велосипед, используйте DBpedia.
Пример страницы с данными "lat" и "lon" извлечен.
И можно запросить SPARQL.
Возможно ли, используя существующий API Википедии, получить список статей вокруг географического местоположения? Как, как это делают карты Google?
Я хотел бы сказать, что я "здесь" и узнаю, что вокруг меня в Википедии.
Я вижу на таких статьях, как этот, вы можете увидеть "Координаты" справа, поэтому я хотел бы сделать запрос на этих координатах...
любые мысли?
Не изобретайте велосипед, используйте DBpedia.
Пример страницы с данными "lat" и "lon" извлечен.
И можно запросить SPARQL.
ОБНОВЛЕННЫЙ ОТВЕТ:
Wikilocation был удален, и теперь существует ОФИЦИАЛЬНАЯ ВИКИПЕДИЯ API
? action=query
& list=geosearch
& gsradius=<radius-in-meters>
& gscoord=<lat>|<lon>
Посмотрите Wikilocation, может быть полезно.
В настоящее время это встроено в Википедию через специальное: рядом.
Кажется, что для этого не существует API Wikipedia, но на этой странице Wikipedia описывается, как другие используют эту информацию:
Все координаты доступны для скачивания в базе данных дампов Википедии. Чтобы получить координаты из дампа формата XML всех статей (enwiki-latest-pages-article.xml.bz2, 4 ГБ), необходимо проанализировать дамп для страниц, содержащих координаты, в форматах ввода, перечисленных выше. Большинство статей в Википедии соответствуют этим форматам, а координаты легко анализировать из викистекста с помощью регулярных выражений для простых последовательностей символов. Поскольку все координаты связаны с одним и тем же инструментом PHP, их также можно найти в таблице внешних ссылок в формате SQL (enwiki-latest-externallinks.sql.gz, 725MB). Этот второй метод, однако, не будет включать всю доступную информацию о координатах, такую как их положение между телом статьи и областью заголовка.
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>');
}
});
});
}
DBpedia и SPARQL не являются хорошими вариантами, по крайней мере, не для немецкой Википедии: охват слишком мал.
Я пытаюсь разобрать все разные геокоординатные форматы самостоятельно прямо сейчас (с дампов), но это довольно сложно, поскольку есть действительно много разных вариантов.
Я знаю, что это старый вопрос, но вот формат URL для аналогичного запроса:
после &gscoord=
вы должны поместить координаты, разделенные |
и после &gsradius=
радиус поиска в метрах, gslimit - это максимальное количество записей в ответе.
Ответ содержит JSON.