Geojson格式
GeoJSON是基于JavaScript 对象表示法的地理空间信息数据交换格式。
5. 附录
5.1 附录A.集合例子
下面例子中的每一个都表示一个完整的GeoJSON对象。注意JSON对象里的结尾的空白字符没有意义。例子里所用的空白符有助于说明这个数据结构,不过不是必需的。
5.1.1 点
点坐标是按照x,y顺序的(投影坐标的东向、北向,地理坐标的长度、高度)。
{ "type": "Point", "coordinates": [100.0, 0.0] }
5.1.2 线
线的坐标是位置数组==(见2.1.1.位置)==。
{ "type": "LineString",
"coordinates": [ [100.0, 0.0], [101.0, 1.0] ]
}
5.1.3 面
面的坐标是线性环坐标数组的数组。这个数组的第一个元素表示的是外部环。其他后续的元素表示的内部环(或者孔)。
- 没有孔的。
{ "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] ]
]
}
5.1.4 多点
多点的坐标是位置数组。
{ "type": "MultiPoint",
"coordinates": [ [100.0, 0.0], [101.0, 1.0] ]
}
5.1.5 多线
多线的坐标是线坐标数组的数组。
{ "type": "MultiLineString",
"coordinates": [
[ [100.0, 0.0], [101.0, 1.0] ],
[ [102.0, 2.0], [103.0, 3.0] ]
]
}
5.1.6 多面
多面的坐标是面坐标数组的数组。
{ "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]]]
]
}
5.1.7 几何集合
几何集合的几何数组里的每个元素都是上面所描述的几何对象之一。
{ "type": "GeometryCollection",
"geometries": [
{ "type": "Point",
"coordinates": [100.0, 0.0]
},
{ "type": "LineString",
"coordinates": [ [101.0, 0.0], [102.0, 1.0] ]
}
]
}
5.2 附录B.贡献者
GeoJSON的格式规格说明是GeoJSON邮件列表即 http://lists.geojson.org/listinfo.cgi/geojson-geojson.org讨论的结果。