【第八课】空间数据基础与处理——数据结构转化

news2025/1/23 11:53:26

一、前言

数据结构即指数据组织的形式,是适合于计算机存储、管理和处理的数据逻辑结构。对空间数据则是地理实体的空间排列方式和相互关系的抽象描述。它是对数据的一种理解和解释,不说明数据结构的数据是毫无用处的,不仅用户无法理解,计算机程序也不能正确地处理,对同样一组数据,按不同的数据结构去处理,得到的可能是截然不同的内容。空间数据结构是地理信息系统沟通信息的桥梁,只有充分理解地理信息系统所采用的特定数据结构,才能正确有效地使用系统。地理信息系统的空间数据结构主要有矢量结构和栅格结构。


二、数据结构类型

1、栅格数据结构
栅格结构是最简单最直观的空间数据结构,又称为网格结构(Raster 或 Gridcell)或像元结构(Pixel) ,是指将地球表面划分为大小均匀紧密相邻的网格阵列,每个网格作为一个像元或像素,由行、列号定义,并包含一个代码,表示该像素的属性类型或量值,或仅仅包含指向其属性记录的指针。因此,栅格结构是以规则的阵列来表示空间地物或现象分布的数据组织,组织中的每个数据表示地物或现象的非几何属性特征。如图4.1所示,在栅格结构中,点用一个栅格单元表示;线状地物则用沿线走向的一组相邻栅格单元表示,每个栅格单元最多只有两个相邻单元在线上;面或区域用记有区域属性的相邻栅格单元的集合表示,每个栅格单元可有多于两个的相邻单元同属一个区域。任何以面状分布的对象(土地利用、土壤类型、地势起伏、环境污染等),都可以用栅格数据逼近。遥感影像就属于典型的栅格结构,每个像元的数字表示影像的灰度等级。

2、矢量数据结构
矢量数据是面向地物的结构,即对于每一个具体的目标都直接赋有位置和属性信息以及目标之间的拓扑关系说明。基于矢量模型的数据结构简称为矢量数据结构。矢量也叫向量,数学上称“具有大小和方向的量”为向量。在计算机图形中,相邻两结点间的孤段长度表示大小,弧段两端点的顺序表示方向,因此孤段也是一个直观的矢量。矢量数据结构是通过记录坐标的方式来表示点、线,面等地理实体空间分布的一种数据组织方式。这种数据组织方式定位明显,属性隐含,能最好地逼近地理实体的空间分布特征,数据精度高,数据存储的冗余度低,便于进行地理实体的网络分析,但对于多层空间数据的叠合分析比较困难。矢量数据结构的获取方法主要有:手工数字化法、手扶跟踪数字化法﹑数据结构转换法。

3、两种数据结构的比较
栅格结构和矢量结构是模拟地理信息的两种不同的方法。栅格数据结构类型具有“属性明显、位置隐含”的特点,它易于实现,且操作简单,有利于基于栅格的空间信息模型的分析,如在给定区域内计算多边形面积、线密度,栅格结构可以很快算得结果,而采用矢量数据结构则麻烦得多;但栅格数据表达精度不高,数据存储量大,工作效率较低。如要提高一倍的表达精度(栅格单元减小一半) ,数据量就需增加三倍,同时也增加了数据的冗余。因此,对于基于栅格数据结构的应用来说,需要根据应用项目的自身特点及其精度要求来恰当地平衡栅格数据的表达精度和工作效率两者之间的关系。另外,因为栅格数据格式的简单性(不经过压缩编码),其数据格式容易为大多数程序设计人员和用户所理解,基于栅格数据基础之上的信息共享也较矢量数据容易。最后,遥感影像本身就是以像元为单位的栅格结构,所以,可以直接把遥感影像应用于栅格结构的地理信息系统中,也就是说栅格数据结构比较容易和遥感相结合。
矢量数据结构类型具有“位置明显、属性隐含”的特点,它操作起来比较复杂,许多分析操作(如叠置分析等)用矢量数据结构难于实现;但它的数据表达精度较高,数据存储量小,输出图形美观且工作效率较高。两者的比较见表:

 三、数据来源

数据来源是指建立GIS的地理数据库所需的各种数据的来源,主要包括地图,遥感图像,文本资料.统计资料.实测数据﹑多媒体数据.已有系统的数据等。可归纳为原始采集数据.再生数据和交换数据三种来源。
(1)地图数据
地图是GIS的主要数据源,因为地图包含着丰富的内容,不仅含有实体的类别和属性,而且含有实体间的空间关系。地图数据主要通过对地图的跟踪数字化和扫描数字化获取。地图数据不仅可以作宏观的分析(用小比例尺地图数据) ,而且可以作微观的分析(用大比例尺地图数据)。在使用地图数据时,应考虑到地图投影所引起的变形,在需要时进行投影变换,或转换成地理坐标。地图数据通常用点、线、面及注记来表示地理实体及实体间的关系,如:点—-——居民点,采样点﹑企业.中心城市等;线—-河流﹑道路,构造线等;面-—县域、市域.省域等;注记--地名注记,高程注记等。地图数据主要用于生成DLG、DRG数据或DEM数据。
(2)遥感影像数据
遥感影像数据是GIS的重要数据源。遥感影像数据含有丰富的资源与环境信息,在GIS支持下,可以与地质,地球物理、地球化学,地球生物.军事应用等方面的信息进行信息复合和综合分析。遥感影像数据是一种大面积的 ,动态的,近实时的数据源,遥感技术是GIS数据更新的重要手段。遥感影像数据用于提取灰度值、线划数据和生成数字正射影像数据、DEM 数据等。
(3)文本资料
文本资料是指各行业﹑各部门的有关法律文档、行业规范.技术标准、条文条例等,如政府工作报告等。这些也属于GIS的数据。
(4)统计资料
政府许多部门和机构都拥有不同领域(如人口、交通,科技等)的大量统计资料,如相关统计年鉴,统计公报等,这些都是GIS的数据源,尤其是GIS属性数据的重要来源。
(5)实测数据
田野调查、实地测量等获取的数据可以通过转换直接进入GIS的地理数据库,以便于进行实时的分析和进一步的应用。GPS(全球定位系统)所获取的数据也是GIS的重要数据源。
(6)多媒体数据
多媒体数据(包括声音、录像等)通常可通过通讯口传入GIS的地理数据库中,目前其主要功能是辅助GIS的分析和查询。
(7)已有系统的数据
GIS 还可以从其他已建成的信息系统和数据库中获取相应的数据。由于规范化.标准化的推广,不同系统间的数据共享和可交换性越来越强。这样就拓展了数据的可用性,增加了数据的潜在价值。
(8)互联网数据
随着互联网不断深入,还可以借助网站形式获取,该数据获取成本较低,时效性好。例如通过全国地理信息资源目录服务网址官网可获取大量矢量数据:http: / / www. webmap. cn/main. do?method = index。其数据内容含行政区(面) ,行政境界点(领海基点),行政境界(线),水系(点、线、面),公路、铁路(点、线),居民地(点、面),居民地地名(注记点),自然地名(注记点)等十二类要素层。进入网站,选择【数据下载】→【1: 100万全国基础地理数据库】 ,即可进行查询下载。

四、数据转换


1、栅格数据向矢量数据的转换
栅格向矢量转换处理的目的,是为了将栅格数据分析的结果通过矢量绘图装置输出,或者为了数据压缩的需要,将大量的面状栅格数据转换为由少量数据表示的多边形边界,但是主要目的是为了能将自动扫描仪获取的栅格数据加入矢量形式的数据库。由栅格数据可以转换为3种不同的矢量数据,分为点状、线状和面状的矢量数据。下面以栅格数据转换为面状矢量数据为例进行说明,其他两种转换操作大同小异,这里不再具体说明。
(1)展开【转换工具】工具箱,打开【转为栅格】工具集,双击【栅格转面】,打开对应对话框。
(2)在【输入栅格】文本框中选择输入需要转换的栅格数据。
(3)在【输出面要素】文本框键入输出的面状矢量数据的路径与名称。

(4)选择【简化面】按钮(默认状态是选择),可以简化面状矢量数据的边界形状。如果向更高精度保留栅格信息,可以不勾选该按钮。
(5)单击【确定】按钮,执行转换操作。

 这里上述显示有错误,是因为栅格数据不是整型,所以在进行这一步之前必须将栅格数据转为整型。

2、矢量数据向栅格数据的转换
许多数据如行政边界、交通轴线、城市土地利用类型等都是用矢量数字化的方法输入计算机或以矢量的方式存在计算机中,表现为点、线、多边形数据。然而,矢量数据直接用于多种数据的复合分析等处理将比较复杂,特别是不同数据要在位置上一一配准,寻找交点并进行分析。相比之下利用栅格数据模式进行处理则容易得多。加之土地覆盖和土地利用等数据常常从遥感图像中获得,这些数据都是栅格数据,因此矢量数据与它们的叠置复合分析更需要把其从矢量数据的形式转变为栅格数据的形式。矢量数据的基本坐标是直角坐标X、Y ,其坐标原点一般取图的左下角。网格数据的基本坐标是行和列(i,j),其坐标原点一般取图的左上角。两种数据变换时,令直角坐标X和Y分别与行与列平行。由于矢量数据的基本要素是点、线、面,因而只要实现点、线、面的转换,各种线划图形的变换问题基本上都可以得到解决。

(1)展开【转换工具】工具箱,打开【转为栅格】工具集,双击【要素转栅格】打开【要素转栅格】对话框。
(2)在【输人要素】文本框中选择输入需要转换的矢量数据。

(3)在【字段】窗口选择数据转换时所依据的属性值。
(4)在【输出栅格】文本框键入输出的栅格数据的路径与名称。
(5)在【输出像元大小】文本框键入输出栅格的大小,或者浏览选择某一栅格数据,输出的栅格大小将与之相同。
(6)单击【确定】按钮,执行转换操作。该命令同样适用于地理数据库中的要素类。

 


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/397064.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++学习】栈 | 队列 | 优先级队列 | 反向迭代器

🐱作者:一只大喵咪1201 🐱专栏:《C学习》 🔥格言:你只管努力,剩下的交给时间! 栈 | 队列 | 优先级队列 | 反向迭代器😼容器适配器🙈什么是适配器&#x1f64…

数据清洗和特征选择

数据清洗和特征选择 数据清洗和特征挖掘的工作是在灰色框中框出的部分,即“数据清洗>特征,标注数据生成>模型学习>模型应用”中的前两个步骤。 灰色框中蓝色箭头对应的是离线处理部分。主要工作是 从原始数据,如文本、图像或者应…

MySQL的基本语句(SELECT型)

基本MySQL语句SELECTSELECT FROM 列的别名去除重复行空值着重号算术运算符加法( )减法( - )乘法( * )除法&#xff08; / 或DIV)求模&#xff08; % 或MOD)比较运算符等于&#xff08; &#xff09;安全等于&#xff08; <> &#xff09;不等于&#xff08; ! 或 <…

WindTerm 界面/UI字体大小调节

文章目录WindTerm 界面/UI字体大小调节问题&#xff1a;解决办法&#xff1a;第一部分&#xff1a;调整编码部分字体大小第二部分&#xff1a;调整UI界面字体大小WindTerm 界面/UI字体大小调节 问题&#xff1a; 今天在使用windTerm的时候&#xff0c;发现windterm界面字体过…

MySQL基础篇1

第1章 数据库介绍 1.1 数据库概述 什么是数据库&#xff1f; 数据库就是存储数据的仓库&#xff0c;其本质是一个文件系统&#xff0c;数据按照特定的格式将数据存储起来&#xff0c;用户可以对数据库中的数据进行增加&#xff0c;修改&#xff0c;删除及查询操作。 数据库分两…

多线程的Thread 类及方法

✨个人主页&#xff1a;bit me&#x1f447; ✨当前专栏&#xff1a;Java EE初阶&#x1f447; ✨每日一语&#xff1a;海压竹枝低复举&#xff0c;风吹山角晦还明。 目 录&#x1f332;一. 线程的复杂性&#x1f334;二. Thread 类及常见方法&#x1f4d5;2.1 Thread 的常见构…

Dubbo的服务暴漏与服务发现源码详解

服务暴漏 如果配置需要刷新则根据配置优先级刷新服务配置 如果服务已经导出&#xff0c;则直接返回 是否异步导出&#xff08;全局或者服务级别配置了异步&#xff0c;则需要异步导出服务&#xff09; 服务暴漏入口DefaultModuleDeployer#exportServices private void exp…

Redis缓存穿透

缓存穿透&#xff1a; 缓存穿透说简单点就是⼤量请求的 key 根本不存在于缓存中&#xff0c;导致请求直接到了数据库上&#xff0c; 根本没有经过缓存这⼀层。举个例⼦&#xff1a;某个⿊客故意制造我们缓存中不存在的 key 发起⼤量 请求&#xff0c;导致⼤量请求落到数据库。…

http笔记

文章目录1、什么是http&#xff1f;2、http报文格式3、请求报文1、认识URL2、认识http方法3、认识header4、响应报文5、https加密机制1、什么是http&#xff1f; http是应用层最广泛使用的协议之一&#xff1b;其中浏览器获取到网页就是基于http实现的&#xff1b;http就是浏览…

Caddy2学习笔记——Caddy2反向代理docker版本的DERP中继服务器

一、个人环境概述 本人拥有一个国内云服务商的云主机和一个备案好的域名&#xff0c;通过caddy2来作为web服务器。我的云主机系统是Ubuntu。 我的云主机是公网ip&#xff0c;地址为&#xff1a;43.126.100.78&#xff1b;我备案好的域名是&#xff1a;hotgirl.com。后面的文章…

【量化交易笔记】3.实现数据库保存数据

上一节&#xff0c;我们通过下载相关的 pandas 数据保存为 本地csv文件&#xff0c;这一节将上节的数据以数据库方式保存。 数据库保存 采集数据部分前一节已做说明&#xff0c;这里就直接用采用前面的内容。这里着重说明的事数据库连接。对与 python 相连接的数据库有很多&a…

玩转Python的交互(命令行)模式

我喜欢使用Python的交互界面&#xff08;命令行模式&#xff09;来运行和调试Python代码。为什么不用PyCharm、VSCode&#xff1f;因为先入为主&#xff0c;加上我的DOS命令行的情结&#xff0c;我第一次安装使用Python就是用这种黑白界面的&#xff0c;平时写代码惯用EmEditor…

MySQL慢查询

2 慢查询 2.1 慢查询介绍 MySQL的慢查询日志是MySQL提供的一种日志记录&#xff0c;它用来记录在MySQL中响应时间超过阀值的语句&#xff0c;具体指运行时间超过long_query_time值的SQL&#xff0c;则会被记录到慢查询日志中。具体指运行时间超过long_query_time值的SQL&…

软件测试之快速熟悉项目

快速熟悉项目 1、了解项目架构 C/S架构 C/S 代表的是客户端/服务器&#xff08;client/server&#xff09;&#xff0c;这类软件的使用者需要在本地电脑安装客户端程序&#xff0c;例如&#xff1a;QQ。 优点:安全性高。 缺点:一旦软件有更新&#xff0c;用户需要手动下载&am…

Rust 开发系列PyO3:Rust与Python的联动编程(中)

第三节&#xff1a;对比C语言的Python原生扩展开发模式 C/c编写Python扩展的方法&#xff0c;与Rust大致是相同的&#xff0c;如果不论语言本身的语法带来的繁琐的话&#xff0c;就单纯以开发步骤和模式来看&#xff0c;原生语言写扩展的步骤更为标准和简单。 大致来说&#…

QT入门Item Views之QTreeView

目录 一、QTreeView界面相关 1、布局介绍 二、基本属性功能 1、设置单元格不能编辑 2、一次选中一个item 3、去掉鼠标移动到单元格上的虚线框 4、最后一列自适应 三、代码展示 1、创建模型&#xff0c;导入模型 2、 右键菜单栏 3、双…

深度学习模型训练工作汇报(3.8)

进行数据的初始整理的准备 主要是进行伪序列字典的设置&#xff0c;以及训练数据集的准备。 期间需要的一些问题包括在读取文件信息的时候&#xff0c;需要跳过文件的第一行或者前两行&#xff0c;如果使用循环判断的话&#xff0c;会多进行n次的运算&#xff0c;这是不划算的…

003+limou+HTML——(3)HTML列表

000、前言 列表是网页常见的一种数据排列方式&#xff0c;在HTMl中列表一共有三种&#xff1a;有序列表、无序列表、定义列表&#xff08;另外“目录列表dir”和“菜单列表menu”已经在HTML5中被废除了&#xff0c;现在都是使用无序列表ul来替代&#xff09; 001、有序列表&a…

C/C++指针与数组(一)

预备知识 1、数据的存储 2、基本内建类型 1&#xff09;类型的大小 C offers a flexible standard with some guaranteed minimum sizes, which it takes from C: A short integer is at least 16 bits wide.An int integer is at least as big as short.A long integer is a…

Spring Cloud学习笔记:基础知识

这是本人学习的总结&#xff0c;主要学习资料如下 马士兵教育 目录1、Spring Cloud 简介2、Eureka3、建立Spring Cloud项目3.1、启动Server3.1.1、dependency3.1.2、配置文件3.1.3、Server端启动代码3.2、启动Client3.2.1、dependency3.2.2、配置文件3.3.3、Client端启动代码3…