Википедия geotagging a lot статьи. (Посмотрите в верхнем правом углу страницы.)
Существует ли какой-либо API для запроса всех геотегированных страниц в пределах указанного радиуса географического положения?
Update
Хорошо, поэтому, основываясь на ответе теории потерь, я попробовал это (на DBpedia explorer):
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
SELECT ?subject ?label ?lat ?long WHERE {
?subject geo:lat ?lat.
?subject geo:long ?long.
?subject rdfs:label ?label.
FILTER(xsd:float(?lat) - 57.03185 <= 0.05 && 57.03185 - xsd:float(?lat) <= 0.05
&& xsd:float(?long) - 9.94513 <= 0.05 && 9.94513 - xsd:float(?long) <= 0.05
&& lang(?label) = "en"
).
} LIMIT 20
Это очень близко к тому, что я хочу, за исключением того, что он возвращает результаты внутри (local) вокруг точки, а не круг. Также мне хотелось бы, если результаты будут отсортированы в зависимости от расстояния от точки. (Если возможно.)
Обновление 2
Я пытаюсь определить эвклидовое расстояние как приближение истинного расстояния, но у меня возникают проблемы с квадратичным числом в SPARQL. (Вопрос открыт здесь.) Когда я получу что-то полезное, я обновлю вопрос, но пока буду благодарен за любые предложения по альтернативным подходам.
Обновление 3
Окончательное обновление. Я отказался от использования SPARQL через DBpedia. Я написал простой синтаксический анализатор, который извлекает текст в новинке базы данных в Википедии и анализирует все статьи для геокодов. Это работает довольно красиво, и это позволяет мне хранить информацию о предметах, связанных с геотегоми, но я желаю.
Это, вероятно, решение, которое я буду продолжать использовать, и, если мне удастся создать хороший интерфейс, я мог бы рассмотреть возможность доступа к публичному API и/или публикации источника для синтаксического анализатора.