ArcMap 1 矢量数据和栅格数据

摘要:
GIS概念中有相当多的数据文件格式,我们经常遇到的数据格式可以大致分为“光栅数据”和“矢量数据”。将这两种数据格式放在一起,从数据结构、编码方法、访问、优缺点等方面进行比较,系统地描述矢量数据和光栅数据。数据结构网格数据:它是一种将空间划分为规则网格的数据形式,每个网格称为一个单元格,相应的属性值分配给每个单元格以表示实体。它是将光栅数据从矢量数据转换为光栅数据的理想方法。

GIS概念中有相当多的数据文件格式,我们经常接触到的数据格式可以大致分为“栅格数据”与“矢量数据”这两类。这两类数据分别对应着不同的应用场景,我们通常使用“栅格数据”来当作底图,示意地理构造物(如山地、河流、湖泊、建筑物、道路等)的空间形态(如形状、位置、大小等),并可以进行一些简易的空间分析;使用“矢量数据”来参与业务逻辑的实现与分析,进行复杂的空间分析。

把这两种数据格式放在一起,分别从数据结构、编码方法、获取途径、优缺点这几个方做对比,来系统说一下矢量数据和栅格数据。
ArcMap 1 矢量数据和栅格数据第1张

数据结构

栅格数据:

将空间分割成有规律的网格,每一个网格称为一个单元,并在各单元上赋予相应的属性值来表示实体的一种数据形式。以规则的阵列来表示空间地物或现象分布的数据组织,组织中的每个数据表示地物或现象的非几何属性特征。

栅格结构的显著特点:属性明显,定位隐含。

矢量数据:

矢量数据结构是对矢量数据模型进行数据的组织。通过记录实体坐标及其关系,尽可能精确地表现点、线、多边形等地理实体,坐标空间设为连续,允许任意位置、长度和面积的精确定义。矢量数据结构直接以几何空间坐标为基础,记录取样点坐标。

矢量结构的显著特点:定位明显,属性隐含。


编码方法

栅格数据:

1. 直接栅格编码,就是将栅格数据看作一个数据矩阵,逐行(或逐列)逐个记录代码;

2. 压缩编码,包括链码(弗里曼链码)比较适合存储图形数据;

3. 游程长度编码通过记录行或列上相邻若干属性相同点的代码来实现;

4. 块式编码是有成长度编码扩展到二维的情况,采用方形区域为记录单元;

5. 四叉树编码是最有效的栅格数据压缩编码方法之一,还能提高图形操作效率,具有可变的分辨率。

6. 八叉树与十六叉树编码

前面的数据结构都是基于二维的,在相当多的情况下,如地下资源埋藏、地下溶洞的空间分布,二维的坐标体系根本无法表达。因此需要有三维数据结构,如果考虑空间目标随时间变化,那还需要4维数据结构。较好的表达三维与四维结构是在四叉树基础上发展起来的八叉树(三维)和十六叉树(四维)。

矢量数据:

1. 实体数据结构,对于点实体和线实体,直接记录空间信息和属性信息;

2. 坐标序列法是由多边形边界的x,y坐标对集合及说明信息组成,是最简单的一种多边形矢量编码法,文件结构简单,但多边形边界被存储两次产生数据冗余,而且缺少邻域信息;

3. 树状索引编码法是将所有边界点进行数字化,顺序存储坐标对,由点索引与边界线号相联系,以线索引与各多边形相联系,形成树状索引结构,消除了相邻多边形边界数据冗余问题;

4. 拓扑结构编码法是通过建立一个完整的拓扑关系结构,彻底解决邻域和岛状信息处理问题的方法,但增加了算法的复杂性和数据库的大小。

ArcMap 1 矢量数据和栅格数据第2张

获取途径

栅格数据:

1. 栅格法:在待输入的图形上均匀划分栅格单元,逐个栅格地决定其属性代码,最后形成栅格数字地图文件。这是人工编码,当数据量太大时,该法费工费时,工作量相当大。

2. 转换法:用手扶跟踪数字化或自动跟踪数字化得到矢量结构数据,再转换为栅格结构。栅格数据

由矢量数据向栅格数据转换是理想的方法。

3. 扫描数字化:逐点扫描待输入的专题地图,对扫描数据重新采样与再编码,从而得到栅格数据文件。

4.  分类影像输入:将经过分类解译的遥感影像数据直接或重新采样后输入系统,这是高效获取数据的方法。

矢量数据:

1. 现有地图转化为矢量,如通过扫描仪把现有纸质地图数字化,再使用绘图设备(手扶跟踪)或者绘图软件(屏幕跟踪)转化为矢量数据;

2. 实测数据,如数字测图。野外实地测量等获取的数据转换后可以直接进入GIS的地理数据库;

3. 遥感数据,遥感数据通校正、配准等一系列操作,使用手动矢量化或者自动矢量化的方式将遥感数据转化为矢量数据;

4. 其他格式数据转换为矢量数据,如文字材料、统计数据、记录表格等;

5.空间分析,空间叠加、缓冲分析等产生新的矢量数据;


优缺点

栅格数据:

优点

1. 属性明显,定位隐含,即数据直接记录属性的指针或数据本身,而所在位置则根据行列号转换为相应的坐标;

2. 数据结构更加简单,即由像元组成矩阵结构,其中的像元值表示坐标,有时与属性表相关联;

3. 可以表示连续表面以及执行表面分析,现势性较强;

4. 点、线、面和表面都可同样存储;

5. 对复杂数据集也可执行快速叠置;

6. 有利于遥感数据的匹配应用和分析;

7. 格式更加强大,高级的空间和统计分析较容易实现;

缺点

1. 由于栅格数据集的像元尺寸具有局限性,所以可能会带来空间误差;

2. 栅格数据集可能会非常大,冗余度较高,需要压缩处理。虽然分辨率会随着栅格像元大小的减小而提高,但这会占用更多的磁盘空间,而且会拖慢处理速度。对于给定区域,将栅格像元大小更改为现有大小的一半时,所需的存储空间会增大为原来的四倍,具体情况取决于所使用的数据类型和存储技术;

3. 将数据重建到固定间距的栅格像元边界时也会损失一定的精度;

定位精度比矢量低,拓扑关系难以表达;

 

矢量数据:

优点

1. 定位明显,属性隐含,通过记录坐标的方式尽可能精确地表示点、线和多边形等地理实体,坐标空间设为连续,允许任意位置、长度和面积的精确定义;

2. 通过记录实体坐标及其关系,尽可能精确地表示点、线、多边形等地理实体,放大不失真,可以任意放大或缩小图形而不会影响出图的清晰度;

3. 具有精度高、存储空间小等特点,是一种高效的图形数据结构;

4. 允许任意位置、长度和面积的精确定义;

5. 利于网络、检索分析,提供有效的拓扑编码,对需要拓扑信息的操作更有效;

缺点

1. 存储方式造成相邻多边形的公共边界被数字化并存储两次,出现数据冗余和细碎多边形,导致数据不一致;点位字典存储可保证公共边的唯一性;

2. 自成体系,缺少多边形的邻接信息,邻域处理复杂,需追踪出公共边;

3. 处理岛或洞等嵌套问题较麻烦,需要计算多边形的包含等;

4. 数据结构复杂,各自定义,不便于数据标准化和规范化,数据交换困难;

5. 多边形叠置分析困难,没有栅格有效,表达空间变化性能力差;

6. 不能像数字图像那样做增强处理,数学模拟比较困难;

7. 软硬件技术要求高,显示与绘图成本较高;
————————————————

原文链接:https://blog.csdn.net/gis0911178/java/article/details/88636466

免责声明:文章转载自《ArcMap 1 矢量数据和栅格数据》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇前缀树及C++实现GNU长选项命令行解析getopt_long()下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

巧用 BootStrap -- 栅格系统(布局)轻松搞定网页响应式布局!

  摘要:Bootstrap 为我们提供了一套响应式、移动设备优先的流式栅格系统,合理的使用栅格系统将会使得网站页面布局变得更加简单,在设置了媒体查询之后,响应式网站也无需再单独写了。接下来我以Bootstrap的中文官网首页为模板进行展示其栅格布局的使用方法以及相关知识点。相信在看完这篇文章之后,你完全可以轻松使用栅格布局。 网站效果图如下所示: P...

初识大数据(三. Hadoop与MPP数据仓库)

  MPP代表大规模并行处理,这是网格计算中所有单独节点参与协调计算的方法。 是将任务并行的分散到多个服务器和节点上,在每个节点上计算完成后,将各自部分的结果汇总在一起得到最终的结果。 MPP DBMS是建立在这种方法之上的数据库管理系统。在这些系统中的每个查询都会被分解为由MPP网格的节点并行执行的一组协调进程,它们的运行时间比传统的SMP RDBMS系...

Mac中解决windows中GBK编码的文件乱码现象

问题描述:   在我们使用window系统进行程序设计编码时,基本默认都是GBK,但是传到Mac系统时会出现乱码现象(一般开发时会统一编码,修改为UTF-8)。 Mac环境下如下操作:   打开终端操作,首先需要跳转到该java所在的目录,然后执行下面的操作   a.java是需要修改的文件,a.java.utf8是修改编码后的文件。   单个文件转换代码...

Netlink机制详解

使用netlink机制在内核与应用程序之间通信 https://blog.csdn.net/zhongbeida_xue/article/details/79026398 转载:https://blog.csdn.net/zoe6553/article/details/8026033 前一段时间,在开发一个驱动程序的过程中,需要在驱动程序与应用程序之间进行...

如何完成大数据测试-从功能测试角度分析

大数据,已经成为了这个时代的代名词。当今的互联网属于大数据时代,大数据时代的到来,颠覆了以往对数据的惯性思考方式,要保证数据执行,软件质量,测试质量,数据使用场景等,都需要重新变换一个新的角度,对软件进行更全方面的思考。 今天我想从功能测试的角度,讨论大数据的功能测试要怎么做,用例怎么设计,才能覆盖面更广,更好的保证其正确性。 之前大数据很少有测试,开发会...

python数据挖掘介绍

目录 一:什么是数据挖掘 二:数据挖掘的基本任务 三:数据挖掘流程 四:数据挖掘建模工具   在python对数据的处理方式中,数据挖掘和数据分析是两个重要的方式,目的是为了从数据中获取具有科研或者商业价值的信息。而数据挖则掘是从大量的数据中通过算法搜索隐藏在数据中隐含的、先前未知的并有潜在使用价值的信息的过程。本篇将讨论数据挖掘的一些入门知识。...