RFC 7946 - geoJSON format
摘要
geoJSON 是一种基于JSON的地理空间格式。它定义了数种JSON对象以及他们的组合方式来描述地理空间的属性,空间幅度。它使用的坐标系统是WGS1984小数点坐标系。
介绍
GeoJSON是一种用JSON格式定义各种各样空间数据结构的格式。一个GeoJSON对象可能被用来描述一个空间范围(Geometry),或者是一个有限的空间实体(Feature),或者是有限空间实体的集合(FeatureCollection)。GeoJSON支持以下数据类型:
- Point
- LineString
- Polygon
- Multiport
- MultiLineString
- MultiPolygon
- GeometryCollection
这种格式广义上来说就是一种地理空间数据。凡是具有地理空间特性的,不管它是否是真实的物体都可以算作一种Feachture。GeoJSON 并不是新东西,这套标准来源于现有的开放地理信息系统标准,并且已经简化,使得其更适合用户web应用程序的开发。
GeoJSON包含7种定义在SFSQL(OpenGIS Simple Features Implementation Specification)的地理类型(如上)。
GeoJSON同样支持Featrue 和 FeatureCollection类型。Feature类型是包含一个上述其中7种类型的地理空间对象和额外的成员。而FeatureCollection 则是Feature类型的数组。自2008年首次发布以来[GJ2008], GeoJSON格式规范在流行中稳步增长。它广泛应用于JavaScript web映射库、基于json的文档数据库和web api。
一个Feature 的例子
{ "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", "coordinates": [102.0, 0.5] }, "properties": { "prop0": "value0" } }, { "type": "Feature", "geometry": { "type": "LineString", "coordinates": [ [102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0] ] }, "properties": { "prop0": "value0", "prop1": 0.0 } }, { "type": "Feature", "geometry": { "type": "Polygon", "coordinates": [ [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ] ] }, "properties": { "prop0": "value0", "prop1": { "this": "that" } } }] }
Point
Point 包含一组描述地理位置的坐标。(经纬度,x,y坐标或者东/北投影)
{ "type": "Point", "coordinates": [100.0, 0.0] }
LineString
由一组Point描述的路径
{ "type": "LineString", "coordinates": [ [100.0, 0.0], [101.0, 1.0] ] }
Polygon
由一组Point描述的封闭空间。其起点必须和终点重合。
//No holes: { "type": "Polygon", "coordinates": [ [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ] ] } //With holes: 类似于一个环 { "type": "Polygon", "coordinates": [ [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ], [ [100.8, 0.8], [100.8, 0.2], [100.2, 0.2], [100.2, 0.8], [100.8, 0.8] ] ] }
MultiPoint
{ "type": "MultiPoint", "coordinates": [ [100.0, 0.0], [101.0, 1.0] ] }
MultiLineString
{ "type": "MultiLineString", "coordinates": [ [ [100.0, 0.0], [101.0, 1.0] ], [ [102.0, 2.0], [103.0, 3.0] ] ] }
MultiPolygon
{ "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.2, 0.8], [100.8, 0.8], [100.8, 0.2], [100.2, 0.2] ] ] ] }
GeometryCollection
eometryCollection的“geometries”数组中的每个元素都是上述其中一种几何对象
{ "type": "GeometryCollection", "geometries": [{ "type": "Point", "coordinates": [100.0, 0.0] }, { "type": "LineString", "coordinates": [ [101.0, 0.0], [102.0, 1.0] ] }] }
相关推荐
geojson需要先制作shp,然后导入下面网站生成geojson。geojson,最好放后台,前台通过异步请求去加载json,然后显示。this.map.flyTo;将地图的视野范围添加到相应区域。