博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RFC 7946 - geoJSON format
阅读量:6606 次
发布时间:2019-06-24

本文共 4437 字,大约阅读时间需要 14 分钟。

摘要

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]             ]         }]}

转载地址:http://bubso.baihongyu.com/

你可能感兴趣的文章
win10 uwp 访问解决方案文件
查看>>
Linux安装mysql——源码安装
查看>>
分配的访问权限的展台应用:最佳做法
查看>>
Jquery Ajax调用asp.net后台方法
查看>>
[Android6.0][RK3399] 双屏异显代码实现流程分析(二)【转】
查看>>
DOS命令 学习笔记
查看>>
如何通过Node.js启动cesium
查看>>
Mac本地环境配置以及安装织梦CMS,增加新的坑解决办法
查看>>
[HTML]html读取本地文件并显示
查看>>
cs331n 线性分类器损失函数与最优化
查看>>
LindDotNetCore~授权中间件的介绍
查看>>
Appium 设置手机连接方式
查看>>
《android开发艺术探索》读书笔记(五)--RemoteViews
查看>>
XPath轴(XPath Axes)总结
查看>>
Linux内核同步 - sleepable RCU的实现
查看>>
文件的读写、二进制文件的读写、文件随机读写
查看>>
[转载]正确解决:坑爹的0xc000007b——应用程序无法正常启动
查看>>
TouchID 指纹解锁
查看>>
swagger常用注解说明
查看>>
Win8 Metro(C#)数字图像处理--2.73一种背景图像融合特效
查看>>