GeoJSON是一种地理数据的描述格式。GeoJSON可以描述的对象包括:几何体,要素和要素集。这里几何体(Geometry)的类型(type)有我们熟悉的点(Point),线(LineString),面(Polygon), 多点(MultiPoint),多线(MultiLineString),多面( MultiPolygon)和几何体集合(GeometryCollection)。要素(Feature)包含了几何体信息以及附加的一些属性信息。要素集(a collection of features)即为要素的集合。
下面例子中的每一个都表示一个完整的GeoJSON对象。 >注意: JSON对象里的结尾的空白字符没有意义。 例子里所用的空白符有助于说明这个数据结构,不过不是必需的。
点坐标是按照x,y顺序的(投影坐标的东向、北向,地理坐标的长度、高度):
1
|
{
"type"
:
"Point"
,
"coordinates"
: [
100.0
,
0.0
] }
|
线的坐标是位置数组(见2.1.1.位置):
1
2
3
|
{
"type"
:
"LineString"
,
"coordinates"
: [ [
100.0
,
0.0
], [
101.0
,
1.0
] ]
}
|
面的坐标是线性环坐标数组的数组。这个数组的第一个元素表示的是外部环。其他后续的元素表示的内部环(或者孔)。
1
2
3
4
5
|
{
"type"
:
"Polygon"
,
"coordinates"
: [
[ [
100.0
,
0.0
], [
101.0
,
0.0
], [
101.0
,
1.0
], [
100.0
,
1.0
], [
100.0
,
0.0
] ]
]
}
|
1
2
3
4
5
6
|
{
"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
] ]
]
}
|
多点的坐标是位置数组:
1
2
3
|
{
"type"
:
"MultiPoint"
,
"coordinates"
: [ [
100.0
,
0.0
], [
101.0
,
1.0
] ]
}
|
多线的坐标是线坐标数组的数组:
1
2
3
4
5
6
|
{
"type"
:
"MultiLineString"
,
"coordinates"
: [
[ [
100.0
,
0.0
], [
101.0
,
1.0
] ],
[ [
102.0
,
2.0
], [
103.0
,
3.0
] ]
]
}
|
多面的坐标是面坐标数组的数组:
1
2
3
4
5
6
7
|
{
"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
]]]
]
}
|
几何集合的几何数组里的每个元素都是上面所描述的几何对象之一:
1
2
3
4
5
6
7
8
9
10
|
{
"type"
:
"GeometryCollection"
,
"geometries"
: [
{
"type"
:
"Point"
,
"coordinates"
: [
100.0
,
0.0
]
},
{
"type"
:
"LineString"
,
"coordinates"
: [ [
101.0
,
0.0
], [
102.0
,
1.0
] ]
}
]
}
|