使用 GeoJSON 描述空間資料
GeoJSON 是以 JavaScript 物件標記法 (JSON) 為基礎的網際網路標準地理空間資料格式。 若要將圖層新增至地圖控制項,您需要定義包含 GeoJSON 資料的資料來源。 地圖控制項會使用資料,根據位置建立重疊。 例如,您可以使用 GeoJSON 資料來源,定義地圖上泡泡圖層中的特徵位置。
注意
GeoJSON 定義為網際網路工程任務推動小組 (IETF) RFC 7946 \(英文\) 中的標準。
GeoJSON 物件
GeoJSON 格式會定義三個物件:
- 幾何
- 功能
- 功能集合
幾何
「幾何」是空間中的一個區域。 幾何可以是:
- 由經度和緯度定義的單一點。
- 描述線條的多個點。
- 描述多邊形外框的多個點。
- 多個幾何的集合。
幾何 GeoJSON 物件有兩個屬性:
type
:指定幾何的類型,例如Point
或Polygon
。coordinates
:包含座標作為兩個項目陣列中的經度和緯度值。 第一個項目是經度,第二個項目是緯度。 點在陣列中具有單一值。 線條和多邊形在陣列中具有多個值。 多邊形必須是封閉圖形,所以,最後一個座標必須和第一個座標相同。
下列幾何物件範例包含位於美國華盛頓州雷德蒙德的 Microsoft 總部的單一點:
{
"type": "Point",
"coordinates": [-122.136866, 47.642472]
}
下列多邊形範例是法國巴黎附近的正方形:
{
"type": "Polygon",
"coordinates": [
[
[2.2580337524414062, 48.81251594581751],
[2.4262619018554688, 48.81251594581751],
[2.4262619018554688, 48.90377176147872],
[2.2580337524414062, 48.90377176147872],
[2.2580337524414062, 48.81251594581751]
]
]
}
此正方形有五個座標:四個角落及最後一個座標,後者需與第一個座標相同,才能形成正方形。
功能
「特徵」是空間界限的實體。 因此,其是具有一組屬性的幾何,可描述該位置中的內容。 屬性可以是地點名稱或溫度之類的資料。
特徵 GeoJSON 物件有三個屬性:
type
:指定物件類型,且特徵一律為Feature
。geometry
:GeoJSON 幾何物件,可定義特徵的位置。properties
:任何有效的 GeoJSON 物件,其會定義特徵的屬性。
以下是法國巴黎的範例特徵:
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[2.2580337524414062, 48.81251594581751],
[2.4262619018554688, 48.81251594581751],
[2.4262619018554688, 48.90377176147872],
[2.2580337524414062, 48.90377176147872],
[2.2580337524414062, 48.81251594581751]
]
]
},
"properties": {
"city_name": "Paris",
"population": 2148271
}
}
功能集合
「特徵集合」,如其名所示,是特徵的集合。
特徵集合 GeoJSON 物件有兩個屬性:
type
:指定物件類型,且特徵集合一律為FeatureCollection
。features
:GeoJSON 特徵物件的陣列。
以下是兩個歐洲城市的特徵集合範例:
{
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[2.2580337524414062, 48.81251594581751],
[2.4262619018554688, 48.81251594581751],
[2.4262619018554688, 48.90377176147872],
[2.2580337524414062, 48.90377176147872],
[2.2580337524414062, 48.81251594581751]
]
]
},
"properties": {
"city_name": "Paris",
"population": 2148271
}
},
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[-0.5287170410156249, 51.26019611626714],
[0.26641845703125, 51.26019611626714],
[0.26641845703125, 51.70916142932303],
[-0.5287170410156249, 51.70916142932303],
[-0.5287170410156249, 51.26019611626714]
]
]
},
"properties": {
"city_name": "London",
"population": 8908081
}
}
]
}
在此單元中,您已了解用來儲存空間資料及其三個物件類型的 GeoJSON 格式。 接下來,您使用 API 來取得空氣品質資料、將資料轉換為 GeoJSON,然後在地圖上顯示資料。