GeoJson格式說明

GeoJSON是基于JavaScript 對象表示法的地理空間信息數(shù)據(jù)交換格式叉袍。

一、簡介

GeoJSON是一種對各種地理數(shù)據(jù)結(jié)構(gòu)進(jìn)行編碼的格式刽酱。GeoJSON對象可以表示幾何喳逛、特征或者特征集合。GeoJSON支持下面幾何類型:點(diǎn)棵里、線润文、面姐呐、多點(diǎn)、多線典蝌、多面和幾何集合曙砂。GeoJSON里的特征包含一個幾何對象和其他屬性,特征集合表示一系列特征骏掀。
一個完整的GeoJSON數(shù)據(jù)結(jié)構(gòu)總是一個(JSON術(shù)語里的)對象麦轰。在GeoJSON里,對象由名/值對--也稱作成員的集合組成砖织。對每個成員來說款侵,名字總是字符串。成員的值要么是字符串侧纯、數(shù)字新锈、對象、數(shù)組眶熬,要么是下面文本常量中的一個:"true","false"和"null"妹笆。數(shù)組是由值是上面所說的元素組成。

1.1舉例

{ "type": "FeatureCollection",
  "features": [
    { "type": "Feature",
      "geometry": {"type": "Point", "coordinates": [102.0, 0.5]},
      "properties": {"prop0": "value0"}
      },
    { "type": "Feature",
      "geometry": {
        "type": "LineString",
        "coordinates": [
          [102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0]
          ]
        },
      "properties": {
        "prop0": "value0",
        "prop1": 0.0
        }
      },
    { "type": "Feature",
       "geometry": {
         "type": "Polygon",
         "coordinates": [
           [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0],
             [100.0, 1.0], [100.0, 0.0] ]
           ]
       },
       "properties": {
         "prop0": "value0",
         "prop1": {"this": "that"}
         }
       }
     ]
   }

二娜氏、GeoJson對象

GeoJSON總是由一個單獨(dú)的對象組成拳缠。這個對象(指的是下面的GeoJSON對象)表示幾何、特征或者特征集合贸弥。

  • GeoJSON對象可能有任何數(shù)目成員(名/值對)窟坐。
  • GeoJSON對象必須由一個名字為"type"的成員。這個成員的值是由GeoJSON對象的類型所確定的字符串绵疲。
  • type成員的值必須是下面之一:"Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon", "GeometryCollection", "Feature", 或者 "FeatureCollection"哲鸳。這兒type成員值必須如這兒所示。
  • GeoJSON對象可能有一個可選的"crs"成員盔憨,它的值必須是一個坐標(biāo)參考系統(tǒng)的對象徙菠。
  • GeoJSON對象可能有一個"bbox"成員,它的值必須是邊界框數(shù)組郁岩。

2.1 幾何對象

幾何是一種GeoJSON對象婿奔,這時type成員的值是下面字符串之一:"Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon", 或者"GeometryCollection"。

除了“GeometryCollection”外的其他任何類型的GeoJSON幾何對象必須由一個名字為"coordinates"的成員问慎。coordinates成員的值總是數(shù)組萍摊。這個數(shù)組里的元素的結(jié)構(gòu)由幾何類型來確定。

2.1.1 位置

位置是基本的幾何結(jié)構(gòu)蝴乔。幾何對象的"coordinates"成員由一個位置(這兒是幾何點(diǎn))记餐、位置數(shù)組(線或者幾何多點(diǎn)),位置數(shù)組的數(shù)組(面薇正、多線)或者位置的多維數(shù)組(多面)組成片酝。

位置由數(shù)字?jǐn)?shù)組表示。必須至少兩個元素挖腰,可以有更多元素雕沿。元素的順序必須遵從x,y,z順序(投影坐標(biāo)參考系統(tǒng)中坐標(biāo)的東向、北向猴仑、高度或者地理坐標(biāo)參考系統(tǒng)中的坐標(biāo)長度审轮、緯度、高度)辽俗。任何數(shù)目的其他元素是允許的---其他元素的說明和意義超出了這篇規(guī)格說明的范圍疾渣。

2.1.2 點(diǎn)

對類型"Point"來說,“coordinates"成員必須是一個單獨(dú)的位置崖飘。

{ 
  "type": "Point", 
  "coordinates": [100.0, 0.0] 
}
2.1.3 多點(diǎn)

對類型"MultiPoint"來說榴捡,"coordinates"成員必須是位置數(shù)組。

{ 
  "type": "MultiPoint",
  "coordinates": [ [100.0, 0.0], [101.0, 1.0] ]
  }
2.1.4 線

對類型"LineString"來說朱浴,“coordinates"成員必須是兩個或者多個位置的數(shù)組吊圾。

線性環(huán)市具有4個或者更多位置的封閉的線。第一個和最后一個位置是相等的(它們表示相同的的點(diǎn))翰蠢。雖然線性環(huán)沒有鮮明地作為GeoJSON幾何類型项乒,不過在面幾何類型定義里有提到它。

{ 
  "type": "LineString",
  "coordinates": [ [100.0, 0.0], [101.0, 1.0] ]
  }
2.1.5 多線

對類型“MultiLineString"來說梁沧,"coordinates"成員必須是一個線坐標(biāo)數(shù)組的數(shù)組檀何。

{ 
  "type": "MultiLineString",
  "coordinates": [
      [ [100.0, 0.0], [101.0, 1.0] ],
      [ [102.0, 2.0], [103.0, 3.0] ]
    ]
  }
2.1.6 面

對類型"Polygon"來說,"coordinates"成員必須是一個線性環(huán)坐標(biāo)數(shù)組的數(shù)組廷支。對擁有多個環(huán)的的面來說埃碱,第一個環(huán)必須是外部環(huán),其他的必須是內(nèi)部環(huán)或者孔酥泞。
無孔的:

{ 
  "type": "Polygon",
  "coordinates": [
    [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ]
    ]
 }

有孔的:

 { 
  "type": "Polygon",
  "coordinates": [
    [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ],
    [ [100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8], [100.2, 0.2] ]
    ]
 }
2.1.7 多面

對類型"MultiPlygon"來說砚殿,"coordinates"成員必須是面坐標(biāo)數(shù)組的數(shù)組。

{ 
  "type": "MultiPolygon",
  "coordinates": [
    [[[102.0, 2.0], [103.0, 2.0], [103.0, 3.0], [102.0, 3.0], [102.0, 2.0]]],
    [[[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0]],
     [[100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8], [100.2, 0.2]]]
    ]
  }
2.1.8 幾何集合

類型為"GeometryCollection"的GeoJSON對象是一個集合對象芝囤,它表示幾何對象的集合似炎。

幾何集合必須有一個名字為"geometries"的成員。與"geometries"相對應(yīng)的值是一個數(shù)組悯姊。這個數(shù)組中的每個元素都是一個GeoJSON幾何對象羡藐。

{
  "type": "GeometryCollection",
  "geometries": [
      { 
      "type": "Point",
      "coordinates": [100.0, 0.0]
      },
      { 
      "type": "LineString",
      "coordinates": [ [101.0, 0.0], [102.0, 1.0] ]
      }
  ]
}

2.2 特征對象

類型為"Feature"的GeoJSON對象是特征對象。

  • 特征對象必須由一個名字為"geometry"的成員悯许,這個幾何成員的值是上面定義的幾何對象或者JSON的null值仆嗦。
  • 特征對戲那個必須有一個名字為“properties"的成員,這個屬性成員的值是一個對象(任何JSON對象或者JSON的null值)先壕。
  • 如果特征是常用的標(biāo)識符瘩扼,那么這個標(biāo)識符應(yīng)當(dāng)包含名字為“id”的特征對象成員谆甜。

2.3 特征對象集合

類型為"FeatureCollection"的GeoJSON對象是特征集合對象。

類型為"FeatureCollection"的對象必須由一個名字為"features"的成員集绰。與“features"相對應(yīng)的值是一個數(shù)組规辱。這個數(shù)組中的每個元素都是上面定義的特征對象。

參考原文:GeoJSON格式規(guī)范說明

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末栽燕,一起剝皮案震驚了整個濱河市罕袋,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌碍岔,老刑警劉巖浴讯,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蔼啦,居然都是意外死亡榆纽,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門询吴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來掠河,“玉大人,你說我怎么就攤上這事猛计∵肽。” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵奉瘤,是天一觀的道長勾拉。 經(jīng)常有香客問我,道長盗温,這世上最難降的妖魔是什么藕赞? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮卖局,結(jié)果婚禮上斧蜕,老公的妹妹穿的比我還像新娘。我一直安慰自己砚偶,他們只是感情好批销,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著染坯,像睡著了一般均芽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上单鹿,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天掀宋,我揣著相機(jī)與錄音,去河邊找鬼。 笑死劲妙,一個胖子當(dāng)著我的面吹牛湃鹊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播是趴,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼涛舍,長吁一口氣:“原來是場噩夢啊……” “哼澄惊!你這毒婦竟也來了唆途?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤掸驱,失蹤者是張志新(化名)和其女友劉穎肛搬,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體毕贼,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡温赔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了鬼癣。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片陶贼。...
    茶點(diǎn)故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖待秃,靈堂內(nèi)的尸體忽然破棺而出拜秧,到底是詐尸還是另有隱情,我是刑警寧澤章郁,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布枉氮,位于F島的核電站,受9級特大地震影響暖庄,放射性物質(zhì)發(fā)生泄漏聊替。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一培廓、第九天 我趴在偏房一處隱蔽的房頂上張望惹悄。 院中可真熱鬧,春花似錦肩钠、人聲如沸泣港。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽爷速。三九已至,卻和暖如春霞怀,著一層夾襖步出監(jiān)牢的瞬間惫东,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留廉沮,地道東北人颓遏。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像滞时,于是被迫代替她去往敵國和親叁幢。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容