有没有一种方法来编程列出所有地理标记的维基百科条目在长/拉特半径范围内?我认为这可能与谷歌地图API,但我对任何方法感兴趣。注意:我不想显示googlemap。谷歌地图维基百科图层
2
A
回答
3
是的,这是可能的。困难的部分可以是:
(1)屏幕抓取维基百科(坏主意,除非你已经有目标页面的(小)名单)
(2)下载并解析了大量Wikipedia data sets(好主意)
一旦你有纬度/经度坐标,我以为是在维基页面的地理标记格式,你可以使用great circle formula来计算相对距离,并绕过谷歌的API完全。
这个故事的寓意是什么?当你处理这么庞大的数据集时,你会希望尽可能地使它离线。
2
我已经通过使用GeoNames webservices解决了一个稍微类似的问题。
您可以使用web服务来请求城市等。有一个每IP限制,你可能不会超过。
我搜索远一点,有对你一些有趣的事情。该webservice被称为findNearByWikipedia
。这可能是你正在寻找...
1
另一种选择是使用DBpedia的SPARQL接口的东西。例如,以下SPARQL查询将获取由坐标限制的边界框内的维基百科文章。
SPARQL库广泛使用,例如用于SPARQL Endpoint interface to Python
为了测试它,只需粘贴下面这个网上查询编辑器查询:
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX onto: <http://dbpedia.org/ontology/>
SELECT * WHERE {
?s a onto:Place .
?s geo:lat ?lat .
?s geo:long ?long .
FILTER (?long > 30.3 && ?long < 30.5 && ?lat > 50.4 && ?lat < 50.5)
}
LIMIT 100
得到以下结果:
"s","lat","long"
"http://dbpedia.org/resource/Kotsiubynske","50.48972320556641","30.32888793945312"
"http://dbpedia.org/resource/Akademmistechko_%28Kiev_Metro%29","50.46555709838867","30.35499954223633"
"http://dbpedia.org/resource/Zhytomyrska_%28Kiev_Metro%29","50.45583343505859","30.36416625976562"
"http://dbpedia.org/resource/Sviatoshyn_Airfield","50.47833251953125","30.38500022888184"
相关问题
- 1. 谷歌地图v3维基百科图层
- 2. 谷歌地图/维基百科AJAX调用循环问题
- 3. 谷歌地图基层可在IE
- 4. 维基百科页面视图statistcs
- 5. 维基百科API
- 6. 谷歌地图API(KML层)
- 7. 谷歌地图KML层
- 8. 谷歌地图覆盖层
- 9. Android谷歌地图海图图层
- 10. 从维基百科获取维基百科主题标题
- 11. 定制路况图层谷歌地图
- 12. Ionic2谷歌地图图像层
- 13. 谷歌地图热图层点半径
- 14. 谷歌地图图层效果
- 15. 谷歌地图定制图层
- 16. 显示谷歌地图图层的onclick
- 17. 删除谷歌地图热图层
- 18. 谷歌地图 - 基于ID
- 19. 谷歌地图API - 基于
- 20. API为维基百科的
- 21. wikitools,维基百科和python
- 22. 脚本从维基百科
- 23. 寻找从维基百科
- 24. 维基百科与Python
- 25. 解析XML维基百科
- 26. 解析维基百科类
- 27. 维基百科人物API
- 28. 维基百科第一段
- 29. 提取维基百科
- 30. 维基百科web框架?