自动驾驶-GeoJson学习

自动驾驶学习过程中-geojson学习记录

简介

GeoJSON是一种基于JSON的地理空间数据交换格式,它定义了几种类型JSON对象以及它们组合在一起的方法,以表示有关地理要素、属性和它们的空间范围的数据。
2015年,互联网工程任务组(IETF)与原始规范作者组建了一个GeoJSON工作组,一起规范GeoJSON标准。在2016年8月,推出了最新的GeoJSON数据格式标准规范RFC 7946。
GeoJSON使用唯一地理坐标参考系统WGS1984和十进制度单位,一个GeoJSON对象可以是Geometry, Feature或者FeatureCollection。
其几何对象包括有点(表示地理位置)、线(表示街道、公路、边界)、多边形(表示国家、省、领土),以及由以上类型组合成的复合几何图形。

示例

GeoJSON是用于对各种地理数据进行编码一种JSON格式。 一个GeoJSON对象可能代表一个空间区域(Geometry),一个空间有限的实体(Feature),或是一个Feature列表(FeatureCollection)。对象有三个值 1.类型(type) 2.结构(geometory) 3.特性(properties) type的类型可以是,Point MultiPoint LineString MultiLineString Polygon MultiPolygon 或者GeometryCollection。

GeoJSON支持如下几何类型:

  • Point 点
  • LineString 线段
  • Polygon 多边形
  • MultiPoint 多个点
  • MultiLineString 多个线段
  • MultiPolygon 多个多边形
  • GeometryCollection 几何集合

格式涉及最广义的地理数据;任何具有地理空间界限的特质都可能是一个Feature,不论它是否是一个物理结构。GeoJSON中的这些概念都不是新创建出来的,而是从预先已经存在的开放地理信息系统标准中派生出来的,转化成更符合web程序开发的JSON格式。

线要素LineString

线要素就是指线段,记录的是线的端点坐标,可视化时会按照记录顺序联结。对于曲线(如贝塞尔曲线)目前还没有很好的表达,但是在地理数据中,曲线一般会用LineString去拟合,现实地理世界中也没有标准的曲线地理要素。

多边形Polygon

注:单个多边形是一个3维数组,可以包含多个二维数组,这种情况和MultiPolygon效果很像。

可视化软件qgis

作用:QGIS是我们常用的编辑地理数据的工具。使用QGIS,可以对多种地理数据格式的数据进行可视化、编辑、互转格式。

在GIS中,图层(Layer)定义了空间数据在地图窗口中的显示机制,是地理空间数据的可视化表达。图层通常与具体的数据源关联,采用符号和标签等制图元素将空间数据绘制在地图中。

多个图层叠加得到内容丰富的地图。

QGIS为图层提供的操作包括:添加/删除图层、调整图层顺序、设置/调整图层坐标参照系、设置/调整/管理图层符号、添加标签、图层浏览、图层复制、提取图层要素、设置可见比例尺、编辑图层等。

展示geojson数据:可以直接拖拽,也可以在browser中找到geojson打开,然后可以在Layers中选择展示的图层

参考:

  1. Qgis软件使用: https://www.bilibili.com/video/BV1PW411N7vH?p=24&spm_id_from=pageDriver
  2. 矢量和格栅数据区别
  • 格栅数据(JPG、BMP、TIF等等)
    • 是通过空间点的密集而规则的排列表示整体的空间现象的一种数据格式。其数据结构简单,定位存取性能好,可以与影像和DEM数据进行联合空间分析,数据共享容易实现,对栅格数据的操作比较容易。
    • 栅格数据的数据量与格网间距的平方成反比,较高的几何精度的代价是数据量的极大增加。以像素大小来衡量数据的清晰度。
  • 矢量数据(cad数据、gis数据、coreldraw数据等)
    • 是通过记录坐标的方式尽可能精确地表示点、线和多边形等地理实体,坐标空间设为连续,允许任意位置、长度和面积的精确定义。
      矢量结构的显著特点:定位明显,属性隐含。可无限放大或缩小。