地理信息系统中最基本的两种数据模型:矢量模型和栅格模型
地理信息系统中最基本的两种数据模型:矢量模型和栅格模型。
1.矢量模型
矢量数据采用一系列x,y位置来存储信息。基本矢量对象有三种:点、线和多边形(面),这些对象在ArcGIS中称之为要素(Feature)。点(Point)要素用于表示0唯独的对象(例如井或者采样点),线(Line)要素表示一维维度对象(如道路或者公共设施管道),多边形(Polygon)要素表示二维区域(如地块或者国家)。在所有这些情况下,要素都采用一个或更多x,y坐标位置进行表达,点由单个x,y坐标对所组成,线包括两对或更多对坐标(线的端点称为节点,每一个中间点称为拐点),多边形是定义闭合区域的一组拐点。
GIS通常将要素分组到成为要素类(Feature Class)的数据集,一个要素只能存储一种几何形状,可以包括点要素、线要素或者多边形要素,但是绝对不能包括这几种要素的组合。另外,要素类中的对象存储了关于它们的信息(例如名称或者人口数量),这种信息称为属性,存储在属性表(Attribute Table),如图二。没个要素对应于且只对应于表中的一行(记录),并且每一列为不同类型的信息。
图一:矢量数据
图二:属性表
要素类可以存储在几种不同的格式中,有些数据格式(如Shape文件)只包含一个要素类,而要素集能够包含以某种方式彼此关联到一起的多个要素类,例如名为“交通”的要素数据集可能会包含道路、红绿灯、铁路和隧道等要素类。
矢量数据模型优点很多。首先,它能够存储高精度的单一要素,如道路和地块。其次,在每个要素可存储的属性数量和类型方面,链接属性表提供了非常高的灵活性。第三,由于能够取得高度准确和详细的要素,适量模型非常适合于地图制作。一般来讲,存储相似信息矢量数据模型大约需要栅格数据模型十分之一的存储空间。最后,矢量模型非常适合于某些类型的分析问题,如确定周长和面积、探究要素的邻接特征及对网络流量进行建模等。
但是,矢量模型有一些先天缺陷。首先,在存储高程或降水量等持续变化的表面时,矢量模型显得有点力不从心。其次,在执行某些类型的分析时,采用矢量模型可能会耗费更多的时间。
2.栅格模型
栅格模型的优势在于简单,将空间数据表示为一系列像元(cell)或像素(Pixel)的小方格,每个像元具有表明一种属性的数字编码,整个栅格存储为一个数字阵列。
对于代表离散对象(道路、管线、土地利用多边形),采用栅格格式存储矢量要素的栅格有时称为离散栅格。但是,栅格的存储对象不仅限于要素,还可以存储地图数量,例如地球表面变化的数值或变量,例如数字高程模型可以存储高程值。像元未必与其周围的全部像元具有相同的高程,数值范围可以从一个像元平滑地过渡到另一个像元,从而形成连续的表面或区域,因此通常称之为连续栅格。
栅格数据集作为一系列行与列展布开来,每个像元有一个“地址”通过其在阵列中的位置进行标示,可以基于行列位置计算出各像元的坐标。
栅格模型弥补了矢量模型的某些缺陷,适合存储连续信息和快速变化的非连续信息,因为每个单位都拥有完全不同于相邻单元的数值,很多解释操作因而简单而快速。在分析工具的配备方面,栅格数据远超过矢量数据。
栅格数据的缺点主要有两方面。首先,与矢量数据相比,栅格数据必须要承受精度与存储空间超大之间的平衡协调。其次,栅格数据不能存储多个属性。对比而言,矢量文件能够为每个空间要素存储成百上千各属性值,并且能够更为有效地处理文本数据。
地理信息系统中最基本的两种数据模型:矢量模型和栅格模型相关推荐
- 数据仓库中两种数据模型的分析比较
来源:http://articles.e-works.net.cn/bi/article73172.htm 发表时间:2009-11-7 何秉姣 来源:万方数据 数据仓库(DH)和联机分析处理(OLA ...
- 【转】地理信息系统中常用的空间数据模型有哪些?
地理信息系统中常用的空间数据模型有哪些? 之前在百度知道上看到了这个问题--"地理信息系统中常用的空间数据模型有哪些?"今天就针对这个问题做了一些整理,看看能不能帮到大家. 空间数 ...
- 实验四:使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
贺邦+原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实验目的: 使用库函数 ...
- html怎么样取jsp中的路径,jsp中获得路径的两种方法和获得url路径的方法(推荐)
是解决相对路径的问题,可返回站点的根路径. //这样获得的是绝对路径 //这样获得的是相对路径 能够更有效的防治连接的失效. request.getContextPath()得到的是项目的名字,如果项 ...
- python自带的shell是什么-python中执行shell的两种方法总结
一.使用python内置commands模块执行shell commands对Python的os.popen()进行了封装,使用SHELL命令字符串作为其参数,返回命令的结果数据以及命令执行的状态: ...
- HTML5中aside标签的两种使用方法
aside元素在网站制作中主要有以下两种使用方法 1)被包含在article元素中作为主要内容的附属信息部分,其中的内容可以是与当前文章有关的相关资料.名次解释,等等. <article> ...
- TF之RNN:TF的RNN中的常用的两种定义scope的方式get_variable和Variable
TF之RNN:TF的RNN中的常用的两种定义scope的方式get_variable和Variable 目录 输出结果 代码设计 输出结果 代码设计 # tensorflow中的两种定义scope(命 ...
- python右对齐格式化输出_Python中格式化输出的两种方法介绍
本篇文章给大家带来的内容是关于Python中格式化输出的两种方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 方式一:使用占位符 % 常用占位符:% s (s = string ...
- Java中HashMap遍历的两种方式
第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Ma ...
- 浅谈面试中常考的两种经典布局——圣杯与双飞翼
圣杯和双飞翼布局介绍 最近正好碰到了写这种布局,一直没有总结过正好借这次机会总结一波,同时加强一下自己的理解. 博客链接:http://www.xluos.com/index.ph... 圣杯布局和双 ...
最新文章
- shell脚本——调试(-n / -x /-c)
- 北二外有绵羊语系吗?
- SSM集成Mybatis和Druid
- three.js和php,详解three.js本地运行的方法
- 查看 linux系统版本,内核,CPU,MEM,位数的相关命令(实验)
- Python多线程编程方式1(转)
- 三端稳压管型号选型对照大全-KIA半导体
- Java初级程序员学习路线→中高级程序员
- 《JavaEE黑马》 第一阶段 JavaSE基础 第一章
- php cms 301,www域名301
- 管理者如何抓绩效管理?
- 爬虫pyquery查找节点
- 华东院进入华为智慧战略 其他院怎么办
- 多个pdf文件过大如何缩小
- 【全】在 Docker 的Solr容器中安装 IK 中文分词器
- 参会指南丨CDEC 2019中国数字智能生态大会正确参会姿势
- 【五一创作】自动驾驶技术未来大有可为
- 4万高考冒名顶替事件_高考生冒名顶替上大学事件内幕调查
- WIN10打印机如何连接到计算机,Win10怎么连接打印机设备?
- cad在线转换_有哪些工具可以将PDF转换成CAD图纸?
热门文章
- oneapi安装CMAQ
- crond和crontab详解
- 孩子兄弟表示法实现树
- ospfdr选举规则_DR/BDR详细选举过程
- 看到这类代码,别再说你不认识了!手把手带你认识初阶结构体(结构体类型的声明、初始化、成员访问与传参,全在这篇文章里)
- 求球体的表面积和体积
- 服务器编程之路:进无止境(下)
- 电脑运行计算机命令,常用的Windows运行命令,让你更好的管理电脑
- phyton list排序
- android 手机解锁声音,新奇玩法:教大家一个手机声控解锁的方法!识别率很高噢!...