2.5矢量与栅格数据结构的比较

在计算机辅助制图和地理信息系统发展早期,最初引用的是矢量处理技术,栅格数据处理始于70年 代中期。几年以前,这两种数据结构势不两立,很难兼容,因此给数据利用带来许多不便。近年来,人们越来越清楚地认识到:原先把栅格和矢量数据结构的差别当 成重要的概念差别,事实上都是技术问题。计算机技术的发展使运算速度、存储能力、地理数据的空间分辨率等大大提高。为了更有效地利用GIS,人们面临的问题之一是栅格和矢量数据结构的选择。

2.5.1 矢量与栅格数据结构的比较

地理信息系统的数据范围十分广泛,数据保存方式多种多样,数据结构类型复杂。空间数据的矢量结构和栅格结构是模拟地理信息系统的截然不同的两种方法,它们各有千秋,相互补充、相互促进。矢量数据与栅格数据结构详细比较见表2-5。

表2-5 矢量与栅格数据的比较

矢量数据 栅格数据
        数据存储量小 数据存储量大
        空间位置精度高 空间位置精度低
        用网络连接法能完整描述拓扑关系 难于建立网络连接关系
        输出简单容易,绘图细腻、精确、美观 输出速度快,但绘图粗糙、不美观
        可对图形及其属性进行检索、更新和综合 便于面状数据处理
        数据结构复杂 数据结构简单
        获取数据慢 快速获取大量数据
        数学模拟困难 数学模拟方便
        多种地图叠合分析困难 多种地图叠合分析方便
        不能直接处理数字图像信息 能直接处理数字图像信息
        空间分析不容易实现 空间分析易于进行
        边界复杂、模糊的事物难以描述 容易描述边界复杂、模糊的事物
        数据输出的费用较高 技术开发费用低

2.5.2 矢量、栅格数据一体化

新一代集成化的地理信息系统,要求能够统一管理图形数据、属性数据、影像数据和数字高程模型(DEM)数据,称为四库合一。关于图形数据与属性数据的统一管理,近年来已取得突破性的进展,不少GIS软件商先后推出各自的空间数据库引擎(SDE),初步解决了图形数据与属性数据的一体化管理。而矢量与栅格数据,按照传统的观念,认为是两类完全不同性质的数据结构,当利用它们来表达空间目标时,对于线状实体,人们习惯使用矢量数据结构。对于面状实体,在基于矢量的GIS中,主要使用边界表达法,而在基于栅格的GIS中, 一般用元子空间填充表达法。因此,人们联想到对用矢量方法表示的线状实体,是不是也可以采用元子空间填充法来表示,即在数字化一个线状实体时,除记录原始 取样点外,还记录所通过的栅格。同样,每个面状地物除记录它的多边形边界外,还记录中间包含的栅格。一方面,它保留了矢量的全部性质,以目标为单元直接聚 集所有的位置信息,并能建立拓扑关系;另一方面,它建立了栅格与地物的关系,即路径上的任一点都直接与目标建立了联系。这样,既保持了矢量特性,又具有栅 格的性质,就能将矢量与栅格统一起来,这就是矢量与栅格一体化数据结构的基本概念(臧淑英,2003)。

2.5.3 矢量数据和栅格数据的选择

根据上述比较,在GIS建 立过程中,应根据应用目的要求、实际应用特点、可能获得的数据精度以及地理信息系统软件和硬件配制情况,在矢量和栅格数据结构中选择合适的数据结构。矢量 数据结构是人们最熟悉的图形表达形式,对于线划地图来说,用矢量数据来记录往往比用栅格数据节省存贮空间。相互连接的线网络或多边形网络则只有矢量数据结 构模式才能做到,因此矢量结构更有利于网络分析(交通网,供、排水网,煤气管道,电缆等)和制图应用。矢量数据表示的数据精度高,并易于附加上对制图物体 的属性所作的分门别类的描述。矢量数据只能在矢量式数据绘图机上输出。目前解析几何被频繁地应用于矢量数据的处理中,对于一些直接与点位有关的处理以及有 现成数学公式可循的针对个别符号的操作计算,用矢量数据有其独到的便利之处。矢量数据便于产生各个独立的制图物体,并便于存贮各图形元素间的关系信息。

栅 格数据结构是一种影像数据结构,适用于遥感图像的处理。它与制图物体的空间分布特征有着简单、直观而严格的对应关系,对于制图物体空间位置的可探性强,并 为应用机器视觉提供了可能性,对于探测物体之间的位置关系,栅格数据最为便捷。多边形数据结构的计算方法中常常采用栅格选择方案,而且在许多情况下,栅格 方案还更有效。例如,多边形周长、面积、总和、平均值的计算、从一点出发的半径等在栅格数据结构中都减化为简单的计数操作。又因为栅格坐标是规则的,删除 和提取数据都可按位置确定窗口来实现,比矢量数据结构方便得多。最近以矢量数据结构为基础发展起来的栅格算法表明存在着一种比以前想象中更为有效的方法去 解决某些栅格结构曾经存在的问题。例如,栅格结构的数据存储量过大的问题可用本章2.1节提出的压缩方法使其减少。

栅 格结构和矢量结构都有一定的局限性。一般来说,大范围小比例的自然资源、环境、农业、林业、地质等区域问题的研究,城市总体规划阶段的战略性布局研究等, 使用栅格模型比较合适。城市分区或详细规划、土地管理、公用事业管理等方面的应用,矢量模型比较合适。当然,也可以把两种模型混合起来使用,在同一屏幕上 同时显示两种方式的地图。

目前GIS的 开发者和使用者都积极研究这两类数据结构的相互转换技术,而且已开发出栅格数据结构和矢量数据结构相互转换的软件。矢量到栅格的转换是简单的,有很多著名 的程序可以完成这种转换。而且有许多显示屏幕中可以自动完成转换工作。栅格到矢量的转换也很容易理解,但具体算法要复杂得多。实现两种数据结构的相互转 换,可大大提高地理信息系统软件的通用性,近年来,也有人在试验用一个软件同时实现栅格和矢量两种模型,以方便用户使用。

ref:

2.5矢量与栅格数据结构的比较

gis-矢量与栅格数据结构的比较的更多相关文章

  1. Python GDAL矢量转栅格详解

    前言:挺久没有更新博客了,前段时间课程实验中需要用代码将矢量数据转成栅格,常见的点栅格化方法通过计算将点坐标(X,Y)转换到格网坐标(I,J),线栅格化方法主要有DDA算法.Bresenham算法等, ...

  2. Python中使用面状矢量裁剪栅格影像,并依据Value值更改矢量属性

    本文整体思路:在Python中使用Geopandas库,依次读取shp文件的每一个面状要素,获取其空间边界信息并裁剪对应的栅格影像,计算所裁剪影像Value值的众数,将其设置为对应面状要素的NewTY ...

  3. acrgis 解决矢量转栅格分辨率过大造成连续值变离散且出现空白

    目标:解决北京河流矢量polygon 转栅格的问题 设置栅格大小和影像一致30*30----结果发现,因为cell过大,原本连续的是矢量面变得不连续了,特别细的河流会出现间断(如下图所示): 1号 网 ...

  4. GIS中栅格数据结构的显示与计算

    在GIS中,根据数据存储的表现形式不同,通常将空间数据分为矢量数据和栅格数据.最简单的区别是:当栅格数据放大到一定程度时,就会呈现出我们熟悉的讨厌的"马赛克". 栅格数据存储 最简 ...

  5. GIS矢量数据化简:一种改进的道格拉斯-普克算法以及C++实现

    GIS领域的同志都知道,传统的道格拉斯-普克算法都是递归实现.然而有时候递归的层次太深的话会出现栈溢出的情况.在此,介绍一种非递归的算法. 要将递归算法改为非递归算法,一般情况下分为两种场景.第一种是 ...

  6. python gdal 矢量转栅格

    data = gdal.Open(templateTifFileName, gdalconst.GA_ReadOnly)geo_transform = data.GetGeoTransform()x_ ...

  7. GDAL 矢量裁剪栅格

    本节将介绍如何在Python中用GDAL实现根据矢量边界裁剪栅格数据. from osgeo import gdal, gdal_array import shapefile import numpy ...

  8. GIS矢量大数据采集

    1.使用什么工具采集 2.在哪个网站采集 3.采集哪一种数据 >>地理大数据公众号 >>大数据公众号 >>智能数据湖公众号 点.线.面.体 可视化 >> ...

  9. 【GDAL】GDAL栅格数据结构学习笔记(一): 关于Metadata

    在维护一段代码时看到前任程序员写的获取栅格数据的CellSize的功能,竟然在知道GDAL的情况下去调用AE的接口来解算,觉得费解. 原来的思路是使用AE的Raster对象读取出Raster的文件大小 ...

随机推荐

  1. BZOJ 3196 二逼平衡树

    Description 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:1.查询k在区间内的排名2.查询区间内排名为k的值3.修改某一位值上的数值4.查询k在区间内的 ...

  2. Maven实战二

    简述: 现需要 在Eclipse中配置Maven插件 安装maven应用,配置Maven环境变量 建立Maven管理的工程 用Maven导入Gson包, 编写简易Json输出程序 步骤: 1. 首先到 ...

  3. 【HDOJ】2222 Keywords Search

    AC自动机基础题. #include <iostream> #include <cstdio> #include <cstring> #include <cs ...

  4. Unity NGUI Tween的用法

    unity版本:4.5 NGUI版本:3.6.5 参考链接:http://www.colabug.com/thread-1029974-1-1.html,作者:COLABUG.COM 橘虞   htt ...

  5. 【转】onPrepareOptionsMenu 和onCreateOptionsMenu 的区别

    原文网址:http://blog.csdn.net/allenjy123/article/details/7467084 @Override public boolean onCreateOption ...

  6. 数据结构(主席树,Bit):XTU 1247/COGS 2344. pair-pair

    pair-pair 输入文件:pair-pair.in   输出文件:pair-pair.out   简单对比 时间限制:7 s   内存限制:64 MB Time Limit : 7000 MS M ...

  7. 算法优化(动态规划):COGS 2009. [USACO Mar09]餐厅清扫

    2009. [USACO Mar09]餐厅清扫 ★★☆   输入文件:cleanup.in   输出文件:cleanup.out   简单对比时间限制:1 s   内存限制:256 MB [题目描述] ...

  8. WebBrowser控件默认使用IE9,IE10的方法

    1,打开注册表 HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)     SOFTWARE        Microsoft           Internet E ...

  9. Andriod视频http://pan.baidu.com/share/link?shareid=7300&uk=3339495714

    老罗Android开发 视频教程           一.Android入门介绍 视频教程     1.1 android系统介绍   1.3 如何搭建android开发环境   1.5 androi ...

  10. FZYZOJ-1880 【UFO】水管

    P1880 -- [ufo]水管 时间限制:1000MS      内存限制:131072KB      通过/提交人数:32/100 状态:      标签:    数学问题-组合数学   无    ...