7.GeoJSON和TopoJSON

7.GeoJSON和TopoJSON 17:11

思維導圖.png

GeoJSON 和 TopoJSON 是符合 JSON 語法規(guī)則的兩種數(shù)據(jù)格式,用于表示地理信息枝笨。

一争便、 GeoJSON

(一)概念:

GeoJSON 是用于描述地理空間信息的數(shù)據(jù)格式。GeoJSON 不是一種新的格式富纸,其語法規(guī)范是符合 JSON 格式的审姓,只不過對其名稱進行了規(guī)范珍特,專門用于表示地理信息。

GeoJSON 的最外層是一個單獨的對象(object)魔吐。這個對象可表示:

  • 幾何體(Geometry)扎筒。
  • 特征(Feature)。
  • 特征集合(FeatureCollection)酬姆。

最外層的 GeoJSON 里可能包含有很多子對象嗜桌,每一個 GeoJSON 對象都有一個 type 屬性,表示對象的類型辞色,type 的值必須是下面之一骨宠。

  • Point:點。
  • MultiPoint:多點相满。
  • LineString:線层亿。
  • MultiLineString:多線。
  • Polygon:面立美。
  • MultiPolygon:多面匿又。
  • GeometryCollection:幾何體集合。
  • Feature:特征建蹄。
  • FeatureCollection:特征集合碌更。

(二)下面舉幾個例子。

1) 如果 type 的值為 Point躲撰、MultiPoint针贬、LineString、MultiLineString拢蛋、Polygon、MultiPolygon 之一蔫巩,則該對象必須有變量 coordinates谆棱。

點對象:

{
"type": "Point",
"coordinates": [ -105, 39 ]
}

線對象:

{
"type": "LineString",
"coordinates": [[-105, 39 ], [-107, 38 ]]
}

面對象:

{
"type": "Polygon",
"coordinates":[[ [30, 0], [31, 0], [31, 5], [30, 5], [30, 0] ]]
}

由以上格式可以發(fā)現(xiàn)快压,每一個對象都有一個成員變量 coordinates。

2) 如果 type 的值為 GeometryCollection(幾何體集合)垃瞧,那么該對象必須有變量 geometries蔫劣,其值是一個數(shù)組,數(shù)組的每一項都是一個 GeoJSON 的幾何對象个从。例如:

{
    "type": "GeometryCollection",
    "geometries": [
        {
            "type": "Point",
            "coordinates": [100, 40]
        },
        {
            "type": "LineString",
            "coordinates": [ [100, 30], [100, 35] ]
        }
    ]
}

3) 如果 type 的值為 Feature(特征)脉幢,那么此特征對象必須包含有變量 geometry,表示幾何體嗦锐,geometry 的值必須是幾何體對象嫌松。此特征對象還包含有一個 properties,表示特性奕污,properties 的值可以是任意 JSON 對象或 null萎羔。例如:

{
    "type": "Feature",
    "properties": {
        "name": "北京"
    },
    "geometry": {
        "type": "Point",
        "coordinates": [ 116.3671875, 39.977120098439634]
    }
}

4) 如果 type 的值為 FeatureCollection(特征集合),則該對象必須有一個名稱為 features 的成員碳默。features 的值是一個數(shù)組贾陷,數(shù)組的每一項都是一個特征對象。

二嘱根、 TopoJSON

TopoJSON 是 GeoJSON 按拓撲學編碼后的擴展形式髓废,是由 D3 的作者 Mike Bostock 制定的。相比 GeoJSON 直接使用 Polygon该抒、Point 之類的幾何體來表示圖形的方法瓦哎,TopoJSON 中的每一個幾何體都是通過將共享邊(被稱為arcs)整合后組成的。

  • TopoJSON 消除了冗余柔逼,文件大小縮小了 80%蒋譬,因為:

  • 邊界線只記錄一次(例如廣西和廣東的交界線只記錄一次)。

  • 地理坐標使用整數(shù)愉适,不使用浮點數(shù)犯助。

三、 在線工具

在線生成 GeoJSON:http://geojson.io/

簡化维咸、轉(zhuǎn)換 GeoJSON 和 TopoJSON:http://mapshaper.org/

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末剂买,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子癌蓖,更是在濱河造成了極大的恐慌瞬哼,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件租副,死亡現(xiàn)場離奇詭異坐慰,居然都是意外死亡,警方通過查閱死者的電腦和手機用僧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門结胀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赞咙,“玉大人,你說我怎么就攤上這事糟港∨什伲” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵秸抚,是天一觀的道長速和。 經(jīng)常有香客問我,道長剥汤,這世上最難降的妖魔是什么颠放? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮秀姐,結(jié)果婚禮上慈迈,老公的妹妹穿的比我還像新娘。我一直安慰自己省有,他們只是感情好痒留,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蠢沿,像睡著了一般伸头。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上舷蟀,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天恤磷,我揣著相機與錄音,去河邊找鬼野宜。 笑死扫步,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的匈子。 我是一名探鬼主播河胎,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼虎敦!你這毒婦竟也來了游岳?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤其徙,失蹤者是張志新(化名)和其女友劉穎胚迫,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體唾那,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡访锻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片朗若。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡恼五,死狀恐怖昌罩,靈堂內(nèi)的尸體忽然破棺而出哭懈,到底是詐尸還是另有隱情,我是刑警寧澤茎用,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布遣总,位于F島的核電站,受9級特大地震影響轨功,放射性物質(zhì)發(fā)生泄漏旭斥。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一古涧、第九天 我趴在偏房一處隱蔽的房頂上張望垂券。 院中可真熱鬧,春花似錦羡滑、人聲如沸菇爪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凳宙。三九已至,卻和暖如春职祷,著一層夾襖步出監(jiān)牢的瞬間氏涩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工有梆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留是尖,地道東北人。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓泥耀,卻偏偏與公主長得像饺汹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子爆袍,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

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