Google 地图维基百科图层
有没有一种方法可以以编程方式列出长/纬度点半径内的所有地理标记维基百科条目? 我认为这可以通过谷歌地图 API 实现,但我对任何方法都感兴趣。 注意:我不想显示谷歌地图。
Is there a way to programmatically list all geo-tagged Wikipedia entries within a radius of a long/lat point? I'm thinking this is possible with the google maps API but I am interested in any method. NOTE: I do not want to display a googlemap.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
是的,这是可能的。 困难的部分是:
(1)屏幕抓取维基百科(坏主意,除非你已经有一个(小)目标页面列表)
(2)下载并解析海量维基百科数据集(更好的主意)
一旦你有了lat/长坐标,我假设是维基页面的地理标记格式,您可以使用 大圆公式< /a> 计算相对距离,并完全绕过 Google 的 API。
这个故事的寓意是什么? 当您处理如此庞大的数据集时,您将希望尽可能多地离线处理。
Yes, it's possible. The hard part is either:
(1) Screen-scraping Wikipedia (bad idea, unless you already have a (small) list of target pages)
(2) Downloading and parsing the massive Wikipedia data sets (better idea)
Once you have lat/long coordinates, which I assume are in the wiki page's geotag format, you can use the great circle formula to compute relative distances, and bypass Google's API entirely.
The moral of this story? When you've dealing with datasets this massive, you're going to want to do as much of it offline as possible.
我通过使用 GeoNames webservices 解决了一个稍微类似的问题。
您可以使用网络服务来请求城市等。 每个 IP 有一个您不得超过的限制。
我进一步搜索了一下,发现了一些你感兴趣的东西。 该网络服务称为
findNearByWikipedia
。 这可能就是您正在寻找的东西......I've solved a slightly similar problem by using the GeoNames webservices.
You can use the webservice to request cities and so on. There is a per-ip-limitation you may not exceed.
I searched a little further and there's something interesting for you. The webservice is called
findNearByWikipedia
. It may be the thing you're searching for...另一种选择是使用 DbPedia SPARQL 接口。 例如,以下 SPARQL 查询获取受坐标限制的边界框中的维基百科文章。
SPARQL 库广泛可用,例如 Python 的 SPARQL Endpoint 接口
要测试它,只需粘贴下面的查询到此在线查询编辑器:
http://dbpedia.org/sparql
得到以下结果:
Another option is using DbPedia SPARQL interface. For example, the following SPARQL query gets wikipedia articles within bounding box limited by coordinates.
SPARQL libraries widely available, for example for SPARQL Endpoint interface to Python
To test it, just paste the query below to this online query editor:
http://dbpedia.org/sparql
Gets the following result: