2010-11-16 4 views
28

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

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

я могу видеть на статьи как this вы можете увидеть «Координаты» на правой стороне, так что я хотел бы сделать запрос по этим координатам ...

какие-нибудь мысли?

+1

Возможно, вы даже сможете использовать API карт Google для получения результатов со своего уровня в Википедии. –

+2

только что нашел это: http://www.geonames.org/export/wikipedia-webservice.html#findNearbyWikipedia, который мог бы помочь мне ... – Mark

+0

@BennyJobigan Можете ли вы уточнить? –

ответ

13

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

+1

Интересно, я не знал, что проект даже существовал! Спасибо, я хорошо смотрю на это :) – Mark

+0

@jpatokal: как использовать dbpedia для решения проблем OP? может ли пролить свет на это? – Abhinav

+0

@Abhinav Если ссылки выше не помогают, я не могу вам помочь ... – jpatokal

4

Похоже, нет Википедия API для этого, но this Wikipedia page описывает, как другие используют эту информацию:

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

+0

Спасибо, Филипп, мне удалось получить несколько дампов DB, ​​жаль, что вам нужно идти по этому пути. Но, как я прокомментировал, я мог бы просто воспользоваться http://www.geonames.org/export/wikipedia-webservice.html#findNearbyWikipedia-службой на данный момент ... – Mark

+1

Координаты на самом деле довольно трудоемки для синтаксического анализа, поскольку они приходят в нескольких в разных форматах. См. Http://en.wikipedia.org/wiki/Template:Coord для получения более подробной информации о форматах. – Filip

3

Решение JQuery и GeoNames API:

а, Ь = долгота, широта, чирикать -> 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>'); 
      } 
     }); 
    }); 
} 
8

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

+2

UPDATE: Wikilocation был удален, и теперь существует [ОФИЦИАЛЬНЫЙ API WIKIPEDIA] (https://www.mediawiki.org/ вики/Extension: GeoData # API) – ZJR

1

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

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

Смежные вопросы