簡體   English   中英

Google Maps Wikipedia圖層

[英]The Google Maps Wikipedia Layer

有沒有辦法以編程方式列出長/緯度半徑內所有帶有地理標簽的Wikipedia條目? 我認為使用Google Maps API可以實現,但我對任何方法都感興趣。 注意:我不想顯示googlemap。

是的,有可能。 困難的部分是:

(1)屏幕抓取的Wikipedia(不好的主意,除非您已經有(較小的)目標頁面列表)
(2)下載並解析大量Wikipedia數據集 (更好的主意)

一旦有了緯度/經度坐標(我認為該坐標是Wiki頁面的geotag格式),就可以使用大圓公式計算相對距離,並完全繞過Google的API。

這個故事的寓意? 當您處理如此龐大的數據集時,您將需要盡可能多地離線進行處理。

我已經通過使用GeoNames webservices解決了一個稍微相似的問題。

您可以使用Web服務來請求城市等等。 每個IP限制都不能超過。

我進行了進一步搜索,您會發現一些有趣的東西。 該Web服務稱為findNearByWikipedia 可能是您要尋找的東西...

另一個選擇是使用DbPedia SPARQL接口。 例如,以下SPARQL查詢將在受坐標限制的邊界框中獲取Wikipedia文章。

SPARQL庫廣泛可用,例如用於SPARQL Endpoint與Python的接口

要對其進行測試,只需將以下查詢粘貼到此在線查詢編輯器中:

http://dbpedia.org/sparql

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"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM