一、数据结构
数据结构即指数据组织的形式,是适合于计算机存储、管理和处理的数据 逻辑结构。对空间数据则是地理实体的空间排列方式和相互关系的抽象描述。它是对数据的一种理解和解释,不说明数据结构的数据是毫无用处的,不仅用 户无法理解,计算机程序也不能正确地处理,对同样一组数据,按不同的数据结 构去处理,得到的可能是截然不同的内容。空间数据结构是地理信息系统沟通 信息的桥梁,只有充分理解地理信息系统所采用的特定数据结构,才能正确有 效地使用系统。地理信息系统的空间数据结构主要有矢量结构和栅格结构。
(1)栅格数据结构
栅格结构是最简单最直观的空间数据结构,又称为网格结构(Raster 或 Gridcell)或像元结构(pixel),是指将地球表面划分为大小均匀紧密相邻的网格阵列, 每个网格作为一个像元或像素,由行、列号定义,并包含一个代码,表示该像素的 属性类型或量值,或仅仅包含指向其属性记录的指针。因此,栅格结构是以规则 的阵列来表示空间地物或现象分布的数据组织,组织中的每个数据表示地物或现 象的非几何属性特征。如图所示,在栅格结构中,点用一个栅格单元表示;线 状地物则用沿线走向的一组相邻栅格单元表示,每个栅格单元最多只有两个相邻 单元在线上;面或区域用记有区域属性的相邻栅格单元的集合表示,每个栅格单元可有多于两个的相邻单元同属一个区域。任何以面状分布的对象(土地利用、 土壤类型、地势起伏、环境污染等),都可以用栅格数据表示。遥感影像就属于典 型的栅格结构,每个像元的数字表示影像的灰度等级。
(2)矢量数据结构
矢量数据是面向地物的结构,即对于每一个具体的目标都直接赋有位置和 属性信息以及目标之间的拓扑关系说明。基于矢量模型的数据结构简称为矢 量数据结构。矢量也叫向量,数学上称“具有大小和方向的量”为向量。在计 算机图形中,相邻两结点间的弧段长度表示大小,弧段两端点的顺序表示方向, 因此弧段也是一个直观的矢量。矢量数据结构是通过记录坐标的方式来表示 点、线、面等地理实体空间分布的一种数据组织方式。这种数据组织方式定位 明显,属性隐含,能最好地逼近地理实体的空间分布特征,数据精度高,数据存 储的冗余度低,便于进行地理实体的网络分析,但对于多层空间数据的叠合分 析比较困难。矢量数据结构的获取方法主要有:手工数字化法、手扶跟踪数字 化法、数据结构转换法。
(3)两种数据结构的比较
栅格结构和矢量结构是模拟地理信息的两种不同的方法。栅格数据结构 类型具有“属性明显、位置隐含”的特点,它易于实现,且操作简单,有利于基于 栅格的空间信息模型的分析,如在给定区域内计算多边形面积、线密度,栅格结 构可以很快算得结果,而采用矢量数据结构则麻烦得多;但栅格数据表达精度 不高,数据存储量大,工作效率较低。如要提高一倍的表达精度(栅格单元减 小一半),数据量就需增加三倍,同时也增加了数据的冗余。因此,对于基于栅 格数据结构的应用来说,需要根据应用项目的自身特点及其精度要求来恰当地 平衡栅格数据的表达精度和工作效率两者之间的关系。另外,因为栅格数据格 式的简单性(不经过压缩编码),其数据格式容易为大多数程序设计人员和用 户所理解,基于栅格数据基础之上的信息共享也较矢量数据容易。最后,遥感 影像本身就是以像元为单位的栅格结构,所以,可以直接把遥感影像应用于栅 格结构的地理信息系统中,也就是说栅格数据结构比较容易和遥感相结合。矢量数据结构类型具有“位置明显、属性隐含”的特点,它操作起来比较复 杂,许多分析操作(如叠置分析等)用矢量数据结构难于实现;但它的数据表达 精度较高,数据存储量小,输出图形美观且工作效率较高。两者的比较见下表。
二、常见的数据
(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)单击【确定】按钮,执行转换操作。该命令同样适用于地理数据库中 的要素类。
浅谈小学生数学学习兴趣的培养 作者:刘亚儒 摘要:古代教育家朱熹曾说:“教人未见其兴趣,必不乐学。”由此可见,兴趣的培养在教学过程中至关重要,有利于提高数学课堂的教学效率和学生的学习质量。因此,本文对如何培养学生数学学习兴趣进行了进一步探讨。 关键词:小学生;数学;兴趣培养 一、兴趣在小学生数学学习中的重要性 孔子说过:“知之者不如好之者,好之者不如乐之者。”所谓“乐”,其...
screenWidth 屏幕宽度 screenHeight 屏幕高度 windowWidth 可使用窗口宽度 windowHeight 可使用窗口高度 windowTop 可使用窗口的顶部位置 App、H5 windowBottom 可使用窗口的底部位置 App、H5 statusBarHeight 状态栏的高windowHeight举例子<view :style="[uniHeight]"></view>data() { return {
#####一个简单的安装npm install -g yo运行提示:npm license has expired问题原因:环境变量中设置了 NVMW_NODEJS_ORG_MIRROR = https://npm.taobao.org/dist解决办法:改为"https...
在遭遇龙卷风时如何自救? 1、找出一个安全的地方来渡过风暴 不要开车出去。尽快回家,如果不可能的话,去一幢坚固的建筑。 2、远离窗户并进入地下 无论你在哪里蹲下,都应尽可能远离窗户。即使龙卷风没有击中,风或冰雹也会打碎窗户,如果你在附近,你可能会受伤。 在暴风雨期间,无论是在地下室还...
题目给定一个M行N列的01矩阵,以及Q个A行B列的01矩阵,你需要求出这Q个矩阵哪些在原矩阵中出现过。所谓01矩阵,就是矩阵中所有元素不是0就是1。输入输入文件的第一行为M、N、A、B,参见题目描述。接下来M行,每行N个字符,非0即1,描述原矩阵。接下来一行为你要处理的询问数Q。接下来Q个矩阵,一共Q*A行,每行B个字符,描述Q个01矩阵。输出你需要输出Q行,每行为0或者...
nodejs可以用来实现简单的server及rest接口,可适用于某些简单的场景。当然nodejs也可以读取mongo、mysql等数据库。本文简单介绍nodejs通过读写文件来实现rest接口。需要提前安装好nodejs环境,可参照本博客的其他文章。一、get请求准备文件 users.json,内容如下:{ "user1" : { "id": 1, ...
https://zhidao.baidu.com/question/433989262459438764.html
Tarjan算法:http://blog.csdn.net/feng_zhiyu/article/details/78941782 题意: N台电脑之间能够通过有向边(u,v)从第u台电脑传输文件到第v台电脑。如果给第u台电脑投放一个文件,那么这个文件就能通过有向边传输到第v台电脑上,给你N台电脑的连接情况。 那么问题来了: 1、最少向这N台电脑中的几台电脑投放文件,就能使N台电脑都能接收...
1. 选择题做完就填答题卡这是针对考试有答题卡的考生,以避免非智力因素失分,一般每门一做完选择题就填答题卡。这时填答题卡心态较平静,不会因为担心时间不够而出现涂写错位的情况。考试成绩的好坏往往和考生考试的心情有关,所以考生们一定要调节好自己的考试心情,特别是刚开始的状态,利用一些小的技巧如做完试题就填涂答题卡等,这样可以避免在最后时间较紧的情况下因匆忙而图错、涂串或没有涂完而造成遗憾,特别是英语选...
在Python中,一个.py文件就称之为一个模块(Module)。举个例子,一个abc.py的文件就是一个名字叫abc的模块,一个xyz.py的文件就是一个名字叫xyz的模块。使用模块有什么好处?最大的好处是大大提高了代码的可维护性。其次,编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用。我们在编写程序的时候,也经常引用其他模块,包括Python内置的模块和来自第三方的模块。...
《利器!Android开发工具之谈》专栏系列:https://blog.csdn.net/column/details/16703.html首先,如何查看gradle源码,我们在项目里依赖com.android.tools.build:gradle即可,如下:compile gradleApi()compile 'com.android.tools.build:gradle:2.3.3'sync......
一:Redis概述:1:概念: 非关系型数据库,基于K/V存储,存储于内存的数据库. 每一个数据项都由KEY和VALUE组成。V可以是字符串,列表,关联数组(hashs),集合,有序集合。使用key来引用这些值。 redis是单进程的。多核cpu对redis无用。但可以运行多实例。 支持持久化存储。...