【GIS】GIS矢量空间分析(上)

0、GIS的基本概念

栅格数据与矢量数据

image.png
上图中,a为图形模拟表示的地理对象,b为控件对象对应的栅格数据模型表示,c为对应的矢量数据模型表示。

矢量模型的表达源于原型空间实体本身,通常以坐标来定义。一个点的位置可以二维或者三维中的坐标的单一集合来描述。一条线通常由有序的两个或者多个坐标对集合来表示。特定坐标之间线的路径可以是一个线性函数或者一个较高次的数学函数,而线本身可以由中 间点的集合来确定。一个面通常由一个边界来定义,而边界是由形成一个封闭的环状的一条或多条线所组成。如果区域有个洞在其中,那么可以采用多个环以描述它。

基于栅格的空间模型把空间看作像元(Pixel)的划分,每个像元都与分类或者标识所包含的现象的一个记录有关。像元与“栅格”两者都是来自图像处理的内容,其中单个的图像可以通过扫描每个栅格产生。GIS 中栅格数据经常是来自人工和卫星遥感扫描设备中,以及用于数字化文件的设备中。采用栅格模型的信息系统,通常应用了前面所述 的分层的方法。在每个图层中栅格像元记录了特殊的现象的存在。每个像元的值表明了在已知类中现象的分类情况。

下图表示矢量数据结构
在这里插入图片描述
下图表示栅格数据模型
在这里插入图片描述
总的来说,栅格图是一个规则的阵列,包含着一定数量的像元或者栅格;而矢量图是由一组描述点、线、面,以及它们的色彩、位置的数据,通过软件算法计算得到的图形。
常用的栅格图格式有:tif,png,jpeg/jpg等,处理软件如PS;
常用的矢量图格式有:shp、eps、dwg、dxf等,处理软件如AutoCAD、AI等。
ArcGIS可以同时处理栅格数据与矢量数据,常用的栅格数据格式为tif,常用的矢量数据格式为shapefile、coverage、TIN等。

GIS中常用的矢量数据格式
shapefile

shapefile 是一种用于存储地理要素的几何位置和属性信息的非拓扑简单格式。shapefile 中的地理要素可通过点、线或面(区域)来表示。shapefile 格式在应存储在同一项目工作空间且使用特定文件扩展名的三个或更多文件中定义地理配准要素的几何和属性
image.png

coverage

Coverage 是一种用于存储矢量数据的地理相关数据模型,它包含地理要素的空间(位置)数据和属性(描述性)数据。Coverage 使用一组要素类来表示地理要素。每个要素类存储一组点、线(弧)、面或注记(文本)。Coverage 可以具有拓扑,用于确定要素间的关系。
Coverage文件包括两个文件夹,一个是info文件夹,一个是以文件名命名的文件夹(文件夹中重要文件包括AAT.DBF、BND.DBF、PAT.DBF、TIC.DBF、PRJ和ARC等。其中,ARC是用于定义地物空间位置和关系的拓扑数据结构;PRJ是投影文件;TIC是一个控制点文件;BND是一个边界文件;PAT是一个多边形属性或点属性表;AAT是一个弧段属性。)
image.png

geojson

geojson是一种基于json的地理空间数据交换格式,它定义了几种类型JSON对象以及它们组合在一起的方法,以表示有关地理要素、属性和它们的空间范围的数据。geojson是非常常见的地图服务前后端传输格式。
image.png

topojson

topojson是 geojson 按拓扑学编码后的扩展形式,对拓扑进行编码。相比 geojson 直接使用 polygon、point 之类的几何体来表示图形的方法,topojson 中的每一个几何体都是通过将共享边(被称为arcs)整合后组成的。
image.png

GIS中矢量数据的数据层级

image.png
GIS中矢量数据可以分为地图层、数据层、要素层、几何层及属性层。
image.png
image.png
对于ArcGIS,当我们打开一个包含矢量数据的MXD文件,会看到数据框及图层。数据框将显示以特定顺序绘制的一系列图层。每个图层都会引用存储在地理数据库、coverage、shapefile 和栅格等中的数据集。每个图层对应着一个要素类。比如在GIS中直接打开CAD文件,可以看到GIS将标注、点、线、面、多面体等按类分为单独的图层。对于每个矢量图层来说,里面存储的要素类只能有一种,或是点或是线或是面。
image.png
打开图层中的属性表,会看到图层中各要素的shape、其他属性字段及属性值。shape即几何,对应着显示的矢量图像。

#伪代码
shp_datatset = ogr.Open(input_shape)
layer = shp_datatset.GetLayer()
feat = layer.GetFeature(0)
polygon_shp = feat.GetGeometryRef()
outring = polygon_shp.GetGeometryRef(0)
outring.GetPoints(0)

而在GDAL中,我们可以通过ogr读取矢量文件,调用封装的方法读取图层,接着调用方法可以读取要素,最后可以读取到多边形的外环及外环对应的点。

1、ArcGIS矢量空间分析

image.png
矢量数据的空间分析。矢量空间分析,主要包括缓冲区分析、叠加分析、网络分析及追踪分析。其中网络分析虽然也是利用矢量数据进行分析的,但其数据模型与缓冲区分析和叠加分析所使用的数据模型有所区别,在进行网络分析前需要构建网络数据集。以下主要介绍缓冲区分析和叠加分析。

缓冲区分析

缓冲区程序将遍历输入要素的每个折点并创建缓冲区偏移。通过这些偏移创建输出缓冲区要素。ArcGIS中缓冲区分析可以使用缓冲向导或缓冲区工具进行操作。在ArcGIS中,构建缓冲区有两种基本方法,欧式方法和测地线方法。

  • 如果输入要素位于投影坐标系中,则将创建欧氏缓冲区。
  • 如果输入要素位于地理坐标系中且指定的缓冲距离单位为线性单位(米、英尺等,而非诸如度之类的角度单位),则会创建测地线缓冲区。

欧氏缓冲区是更常见的缓冲区类型,特别适合于分析投影坐标系中要素周围的距离,这些距离侧重于相对较小的区域(如一个 UTM 带)。当输入要素处于分散状态(覆盖多个 UTM 带、大面积区域甚至整个地球),或
输入要素的空间参考(地图投影)为保留其他属性(如面积)使距离发生变形。则应始终考虑创建测地线缓冲区
具体可以参见官方文档说明:https://desktop.arcgis.com/zh-cn/arcmap/latest/tools/analysis-toolbox/how-buffer-analysis-works.htm
image.png

叠加分析

叠加分析包括擦除(Erase)、标识叠加(Identify)、图层相交(Intersect)、交集取反(Symmetrical Difference)、联合(Union)、更新修正(Update)。
image.png
image.png
其中可能比较不好理解的可能是标识叠加和更新修正,建议实际操作一下。我这里简单举例说明一下。
首先是标识叠加,顾名思义,可以理解为通过叠加另一要素对原要素进行标识。通常是用多边形要素来标识其他要素。比如我们用test1图层来标识test11,标识叠加后,test11中的先要素会被切分为两部分,相交部分,未相交部分。(ALL情况)test11属性会全部增加到线test1上,并有一个独特的标识属性(值为负1或1),该方法可以用来筛选在面上或线上的点要素。
image.png
而对于更新修正,我的理解是修正更新会将两者相交的部分要素的字段属性值修正为更新要素,更新要素无对应字段时,该字段修正为空。
image.png
通常我们使用用某一个多边形图层的部分图斑来修正该图层,比如用test1的部分更新test1,可以看到,直接将覆盖test1的对应属性的值。
image.png

3、实例练习

操作视频见:https://www.bilibili.com/video/BV1zP4y1278K
实例练习材料及本文PPT链接(exe为自解压文件):
https://www.aliyundrive.com/s/vt9dQUHMi7s 提取码: 9a5a

4、参考资料:

科普 | GIS数据格式汇总解析
关于地理数据格式—ArcMap | 文档
GDAL中文文档
ArcGIS地理信息系统空间分析实验教程/汤国安,杨昕编著.—北京∶科学出版社,2006
ArcGIS地理信息系统空间分析实验教程/汤国安,杨昕编著.—2版.—北京∶科学出版社,2012
地理信息系统导论/(美)张康聪(Chang,K.T.)著;陈健飞,张筱林译. —5版.—北京∶科学出版社,2010
ArcGIS 地理信息系统分析与应用 / 晁怡,郑贵洲,杨乃编著. —北京:电子工业出版社,2018.6 高等学校教材

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KmBase

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值