用於描述地理空間資訊的資料格式,語法是基於 JSON 格式的。
每一個 GeoJSON 物件都有一個 type
屬性:
- Point:點
- MultiPoint:多點
- LineString:線
- MultiLineString:多線
- Polygon:面
- MultiPolygon:多面
- GeometryCollection:幾何體集合
- Feature:特徵
- FeatureCollection:特徵集合
分類
-
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]] ] } 複製程式碼
-
type:GeometryCollection
則該物件必須有屬性
geometries
,其值是一個陣列,每一項都是一個 GeoJSON 的幾何物件。{ 'type': 'GeometryCollection', 'geometries': [ { 'type': 'Point', 'coordinates': [100, 40] }, { 'type': 'LineString', 'coordinates': [[100, 30], [100, 35]] } ] } 複製程式碼
-
type:Feature
則該物件必須有屬性
geometry
,其值為一個幾何物件;此外還有一個屬性properties
,可以是任意 JSON 或 null{ 'type': 'Feature', 'properties': { 'name': '北京' }, 'geometry': { 'type': 'Point', 'coordinates': [116.3671875, 39.977120098439634] } } 複製程式碼
-
type:FeatureCollection
則該物件必須有屬性
features
,其值為一個陣列,每一項都是一個 Feature 物件。{ 'type': 'FeatureCollection', 'features': [ { 'type': ..., 'properties': ..., 'geometry': ... }, ... ] } 複製程式碼
參考
- 《精通D3.js:互動式資料視覺化高階程式設計》