1

我正在爲德國和法國用戶設計網絡表單。在這種形式下,用戶必須多次輸入街道名稱。以編程方式查找常見的歐洲街道名稱

我想盡量減少對用戶的煩惱,並提供基於普通法語和德語街道名稱的自動完成功能。

任何想法,我可以免費的名單?

多謝,

亞當

回答

2

您的用戶是否必須多次輸入相同的街道名稱?因爲你可以很容易地通過編寫預填場的東西來防止這種情況。

另一個選擇可能是將您的用戶數據庫用作資源。查詢現有用戶輸入的所有可用街道名稱,並使用該名稱生成建議。 當然,如果你有相當多的用戶,這隻會有效。

[編輯]你可以看看OpenStreetMap和他們的Planet.osm愚蠢(或者看看here包含數據的歐洲轉儲)。這基本上是OSM數據庫及其所有的地圖信息,包括街道名稱。這些都是XML格式,街道似乎被存儲爲Ways。有一些工具(即Osmosis)可以提取數據並將其放入數據庫中,或者您可以編寫一些內容來查看數據並過濾數據庫的街道名稱。

+0

+1這是計劃的一部分,但能夠從一開始就很好。 – 2010-02-11 16:55:54

1

您可以通過通過谷歌API拉動名稱開頭(只要找到如經/緯外部邊界 - 巴黎,去中心) - 但由於谷歌的限制API使用,這可能需要很長時間才能完成。

我曾經聯繫過布拉迪斯拉發市的街道名單,他們把它寄給我作爲XLS。也許你可以嘗試爲你的首選城市做這件事。

1

開始於http://en.wikipedia.org/wiki/Category:Streets_in_Germanyhttp://en.wikipedia.org/wiki/Category:Streets_in_France。您可能想要驗證維基百科的版權不是更適合您的需求的保護。

編輯(從我自己的意見合併):當然,要回答你的問題的「編程」部分:弄清楚如何蜘蛛和刮那些維基百科分類頁面。有禮貌的事情是緩存它,而不是每次你需要獲得街道名單時都打它;每個月左右刷新一次應該足夠了,因爲信息不太可能發生顯着變化。

+0

+1謝謝!這些文章很小,我會盡力找到他們的法文\德文等值。 – 2010-02-11 16:17:01

+0

好點 - 法國/德國的等值確實有更多的街道名稱。對於德國:http://de.wikipedia.org/wiki/Kategorie:Straße_in_Deutschland和法國:http://fr.wikipedia.org/wiki/Catégorie:Liste_de_rues_de_commune_française。正如我上面提到的,你想要遍歷這些類別中包含的類別頁面。例如,您可以點擊http://de.wikipedia.org/wiki/Kategorie:Straße_in_Berlin在柏林的街道。 – stack 2010-02-11 16:22:04

+0

需要考慮的另一件事是,維基百科可能(我沒有證實這一點)傾向於具有歷史意義的街道,並且*絕對不會提供完整的列表。當然,這裏的問題在於,具有歷史意義的一組街道可能沒有足夠大的交叉口(沒有雙關語意圖),預計最常在您的窗體上輸入一組街道。 – stack 2010-02-11 16:28:03

0

@dusoft可能是一些東西 - 也許有人在政府一級可以幫助?我不認爲街道名稱的簡單列表不能被版權保護,也不會收取任何版稅。如果是這樣的話,也許你甚至可以從TomTom這樣的東西中挖出一些映射數據?

1

我喜歡Tom van Enckevort的建議,但我會更具體一點,只是看看Planet內部。OSM的聯繫,因爲他們大多需要一些工具的使用,以應對支持的格式(PBF,OSM XML等)

事實上,在下面的鏈接看看 http://download.gisgraphy.com/openstreetmap/

的文件有全部爲.txt格式,如果它只是您想使用的街道名稱,只需提取第二個字段(名稱)即可完成。

作爲一個項目,我沒有使用我的項目中的法文文件,但挖掘德文文件後(在標準化後)在多於380K的獨特條目(〜6 MB大小)中產生了