2013-06-03 37 views
0

是否有代表等GIS數據作爲道路,地方,sublocalities,國家,建築物開放的數據格式等格式表示GIS數據

我期望的格式將定義地址結構和名稱地址的組成部分。
我需要的是響應反向地理編碼請求而返回的數據格式。
我在因特網上查找它,但似乎每個地理編碼提供商都定義了自己的格式。

我應該設計自己的格式嗎?

難道我的問題作出任何意義? (我是GIS的新手)。 如果我沒有明確自己的意思,我不會尋找像GeoJSON,GML或WKT這樣的數據格式,因爲它們定義了幾何並且沒有定義任何地址結構。

UPD。我正在嘗試使用不同的地理編碼服務,並嘗試將它們分離爲單獨的模塊。我需要爲它們提供一個通用接口,而且我不想再補充一種數據格式(因爲一方面我不完全理解域,另一方面該域本身似乎已經得到了很好的研究)。該模塊的職責是採用部分地址(或座標),如「96,Dubininskaya,莫斯科」,並返回包含門牌號碼(96),街道名稱(Dubininskaya),次級地址(Danilovsky),城市(莫斯科),行政管理地區(莫斯科州),國家(俄羅斯)。問題在於,在不同的國家可能會有更多/更少的分區(更多/更少的地址組件),我需要將這些組件統一到不同的國家/地區。

+1

你能解釋一下你想要完成什麼嗎?它會更好地幫助人們回答你。 – Jeffrey

+0

[Google Geocoding API](https://developers.google.com/maps/documentation/geocoding/#JSON)應該已經足夠或至少是一個好的開始。 –

回答

0

沒有不幸的是沒有。

爲什麼你會問

怎麼一回事,因爲不同的民族和國家有很大的不同格式和存儲地址的需求。

在這裏,在英國,例如,限定郵編有相當複雜的規則,其中,如在美國郵政編碼,是用簡單的2信狀態的代碼前綴4位數字。

然後,你必須要考慮的問題究竟是什麼構成的地址?這種差異不僅來自不同的國家,而且有時在同一領土內大幅度增加。

例如:(在英國)

Smith and Sons Butchers 
10 High street 
Some town 

Mr smith 
10 High street 
Some town 

The Occupier 
10 High Street 
Some Town 

Smith and Sons Butchers 
High Street 
Some Town 

在英國所有的有效地址,並在所有情況下後會在正確的到達目的地,但是一個GPS可能會遇到麻煩。

一個GPS數據庫可能設置,使每個建築是幾何形狀的方位,與ID是門牌號碼。

也就是說,會給我們說正是10號的,這意味着會在最後的查找是要失敗的能力。

圖可以通過業務的名稱進行索引,再次證明,直到你開始使用人名,或一般的標題很好。

有這麼多的變化,這簡直是不可能的創建可以包括允許地球上的任何應用程序才能正常格式化任何地理編碼地址需要每一個可能的規則一個統一的格式。

那麼我們如何解決這個問題呢?

簡單,縮小範圍。

  • 僅處理您需要使用的特定的一組定義實體。
  • 只保留描述你需要描述的信息(永遠記住YAGNI *在這裏)
  • 使用標準的數據傳輸格式,例如JSON,XML和CSV,這將增加你減少工作的機會代碼你不控制,使其能夠讀取你的數據輸出

(* YAGNI =你是不是要去需要它)

然而現在,在更深的挖掘:

當涉及到實際的地理信息數據,有很多的標準格式的文件,其中最常用的有:

  • ESRI的形狀文件(* .SHP)
  • 鎖孔標記語言(* .KML)
  • 逗號分隔值(* .CSV)

所有的免費和付費的可以與任何這些3種文件類型的工作,和許多主要停留GIS包。

形狀文件是目前爲止最常見的形狀文件,幾乎所有地理空間數據在我的IT年中都遇到過,一直存在於一個形狀文件中,但我不建議存儲您的其中的數據進行處理,它們是一個相當複雜的格式,通常是緩慢和順序訪問。

但是,如果您的幾何文件要在其他系統中使用,則不會出錯。

他們也有額外的獎勵,你可以附加屬性數據的每一個項目也是如此,如詳細地址,名稱等

的問題是,沒有標準的,以你會打電話屬性列,或者你將包括,而且可能更厲害,列名被限制爲大寫和長度限制在32個字符。

KML文件是另外一個廣爲人知的文件,因爲基於XML的Google使用並且使用了基於XML的文件,所以您可以在其中包含大量額外的數據,這在技術上是自我描述的。

不幸的是,即使僅僅爲幾個簡單的幾何圖形,文件大小也可能令人難以置信的龐大,但這種折衷的確意味着它們在這個星球上的任何編程語言都很容易處理。

,並把我們帶到不起眼的CSV。

自從時間開始以來,數據傳輸的主要停留時間(不僅僅是地理空間)。

如果您可以將數據放入數據庫表或電子表格中,則可以將其放入CSV文件中。

再次,沒有標準,除了列可能引用或不引用以及分隔點是什麼,但讀者必須提前知道每列代表什麼。

此外,沒有「預製」地理存儲元件(實際上根本沒有數據類型),所以您的閱讀應用程序也需要事先知道列數據類型的意義是什麼適當地解析它們。

然而,從各方面來看,一切都可以讀懂它們,不管它們能否理解它們都是一個不同的故事。