GeoJSON格式規範說明

2021-07-06 01:43:43 字數 3727 閱讀 8733

geojson是一種對各種地理資料結構進行編碼的格式。geojson物件可以表示幾何、特徵或者特徵集合。geojson支援下面幾何型別:點、線、面、多點、多線、多面和幾何集合。geojson裡的特徵包含乙個幾何物件和其他屬性,特徵集合表示一系列特徵。

乙個完整的geojson資料結構總是乙個(json術語裡的)物件。在geojson裡,物件由名/值對--也稱作成員的集合組成。對每個成員來說,名字總是字串。成員的值要麼是字串、數字、物件、陣列,要麼是下面文字常量中的乙個:"true","false"和"null"。陣列是由值是上面所說的元素組成。

geojson特徵集合:

,

"properties": },,

"properties": },,

"properties": }}

]}

geojson總是由乙個單獨的物件組成。這個物件(指的是下面的geojson物件)表示幾何、特徵或者特徵集合。

幾何是一種geojson物件,這時type成員的值是下面字串之一:"point", "multipoint", "linestring", "multilinestring",  "polygon", "multipolygon", 或者"geometrycollection"。

除了「geometrycollection」外的其他任何型別的geojson幾何物件必須由乙個名字為"coordinates"的成員。coordinates成員的值總是陣列。這個陣列裡的元素的結構由幾何型別來確定。

位置是基本的幾何結構。幾何物件的"coordinates"成員由乙個位置(這兒是幾何點)、位置陣列(線或者幾何多點),位置陣列的陣列(面、多線)或者位置的多維陣列(多面)組成。

位置由數字陣列表示。必須至少兩個元素,可以有更多元素。元素的順序必須遵從x,y,z順序(投影座標參考系統中座標的東向、北向、高度或者地理座標參考系統中的座標長度、緯度、高度)。任何數目的其他元素是允許的---其他元素的說明和意義超出了這篇規格說明的範圍。

2.1.2.點

對型別"point"來說,「coordinates"成員必須是乙個單獨的位置。

2.1.3.多點

對型別"multipoint"來說,"coordinates"成員必須是位置陣列。

2.1.4.線

對型別"linestring"來說,「coordinates"成員必須是兩個或者多個位置的陣列。

線性環市具有4個或者更多位置的封閉的線。第乙個和最後乙個位置是相等的(它們表示相同的的點)。雖然線性環沒有鮮明地作為geojson幾何型別,不過在面幾何型別定義裡有提到它。

2.1.5.多線

對型別「multilinestring"來說,"coordinates"成員必須是乙個線座標陣列的陣列。

2.1.6.面

對型別"polygon"來說,"coordinates"成員必須是乙個線性環座標陣列的陣列。對擁有多個環的的面來說,第乙個環必須是外部環,其他的必須是內部環或者孔。

2.1.7.多面

對型別"multiplygon"來說,"coordinates"成員必須是面座標陣列的陣列。

2.1.8.幾何集合

型別為"geometrycollection"的geojson物件是乙個集合物件,它表示幾何物件的集合。

幾何集合必須有乙個名字為"geometries"的成員。與"geometries"相對應的值是乙個陣列。這個陣列中的每個元素都是乙個geojson幾何物件。

型別為"feature"的geojson物件是特徵物件。

型別為"featurecollection"的geojson物件是特徵集合物件。

型別為"featurecollection"的物件必須由乙個名字為"features"的成員。與「features"相對應的值是乙個陣列。這個陣列中的每個元素都是上面定義的特徵物件。

geojson物件的座標參考系統(crs)是由它的"crs"成員(指的是下面的crs物件)來確定的。如果物件沒有crs成員,那麼它的父物件或者祖父物件的crs成員可能被獲取作為它的crs。如果這樣還沒有獲得crs成員,那麼預設的crs將應用到geojson物件。

crs物件可以通過名字來表明座標參考系統。在這種情況下,它的"type"成員的值必須是字串"name"。它的"properties"成員的值必須是包含"name"成員的物件。這個"name"成員的值必須是標識座標參考系統的字串。比如「urn:ogc:def:crs:ogc:1.3:crs84"的ogc crs的urn應當優先於舊的識別符號如"epsg:4326"得到選用:

"crs": 

}

crs物件也可以連線到網際網路上的crs引數。在這種情況下,它的"type"成員的值必須是字串"link",它的"properties"成員的值必須是乙個連線物件(見3.2.1.連線物件) 。 !

3.2.1.連線物件

連線物件由乙個必需的成員:"href",和乙個可選的成員:"type"。

必需的"href"成員的值必須是解引用的uri(統一資源標識)。

可選的"type"成員的值必須是字串,而且這個字串暗示了所提供的uri裡用來表示crs引數的格式。建議值是:"proj4","ogcwkt",esriwkt",不過可以使用其他值:

"crs": 

}

相對連線常常可以作為輔助檔案裡的crs的直接處理器:
"crs": 

}

為了包含幾何、特徵或者特徵集合的座標範圍資訊,geojson物件可能有乙個名字為"bbox的成員。bbox成員的值必須是2*n陣列,這兒n是所包含幾何物件的維數,並且所有座標軸的最低值後面跟著最高者值。bbox的座標軸的順序遵循幾何座標軸的順序。除此之外,bbox的座標參考系統假設匹配它所在geojson物件的座標參考系統。

特徵物件上的bbox成員的例子:

...}

特徵集合物件bbox成員的例子:

下面例子中的每乙個都表示乙個完整的geojson物件。注意json物件裡的結尾的空白字元沒有意義。例子裡所用的空白符有助於說明這個資料結構,不過不是必需的。

點座標是按照x,y順序的(投影座標的東向、北向,地理座標的長度、高度):

線的座標是位置陣列(見2.1.1.位置):

面的座標是線性環座標陣列的陣列。這個陣列的第乙個元素表示的是外部環。其他後續的元素表示的內部環(或者孔)。

沒有孔的:

有孔的:
多點

多點的座標是位置陣列:

多線

多線的座標是線座標陣列的陣列:

多面

多面的座標是面座標陣列的陣列:

幾何集合

幾何集合的幾何陣列裡的每個元素都是上面所描述的幾何物件之一:

,

]}

附錄b.貢獻者geojson的格式規格說明是geojson郵件列表即

討論的結果。

shp與geojson格式轉換

有兩種方法,第一種是用arcgismap自帶的toolbox裡的工具,路徑為 system toolboxes conversion tools json json to features與features to json。這裡shp轉json一般不會報錯。主要說明一下json轉shp。1.首先你的...

日誌說明以及格式統一規範

fatal error warn info debug trace,級別越高儲存優先順序越高,原則上對於error及以上級別的日誌永久保留,對於此級別以下的,級別越高保留時間越長。request response 系統操作行為 讀寫檔案 定時任務等 不符合業務邏輯預期 列印關鍵的引數,要能從這些引數...

格式與規範

格式與規範 用來格式程式 的基本技術是換行,空格符和縮排及利用注釋來解釋 的作用功能等.分行符 換行符 即底線 前加空格,使用它可以使用程式 不會延伸到 程式 視窗右邊緣以外的地方,容易檢視 空行 空格符 它用來區分每個不同的邏輯塊.縮排它用來凸顯程式的結構,至於縮排多少,如何縮排,這個沒有根本性的...