【发布时间】:2009-09-09 16:30:37
【问题描述】:
维基百科是geotagginglotofitsarticles。 (查看页面右上角。)
有没有API可以查询某个地理位置指定半径内的所有geotagged pages?
更新
好的,根据 lost-theory 的回答,我尝试了这个(DBpedia query 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 中对数字进行平方时遇到了麻烦。 (Question opened here.) 当我得到有用的东西时,我会更新问题,但同时我会感谢任何关于替代方法的建议。
更新 3
最后一次更新。我放弃了通过 DBpedia 使用 SPARQL。我编写了一个简单的解析器,它获取 Wikipedia 文章文本夜间数据库转储并解析所有文章的地理编码。它工作得相当好,它允许我存储有关地理标记文章的信息,但我希望如此。
这可能是我将继续使用的解决方案,如果我有时间为其创建一个不错的接口,我可能会考虑允许公共 API 访问和/或将源代码发布到解析器。
【问题讨论】:
-
顺便说一句,在维基数据上:opendata.stackexchange.com/a/11673/16193
标签: api geolocation sparql wikipedia geotagging