搜档网
当前位置:搜档网 › 基于GDAL的HDF文件格式栅格数据提取的研究

基于GDAL的HDF文件格式栅格数据提取的研究

基于GDAL的HDF文件格式栅格数据提取的研究
基于GDAL的HDF文件格式栅格数据提取的研究

。很多遥

感卫星数据采用HDF(Hierarchical data format)数据格式储存,

因此利用软件编程提取包括在HDF文件里的数据是应用遥

感数据的前提。通过专业软件处理HDF文件方法简单,直观,

但其扩展性和灵活性没有直接通过编程处理HDF文件高。

HDF Group开发出对应的HDF函数库来实现对HDF文件的

读写,但HDF库函数只支持C和FORTRAN语言,并且在读

取HDF文件时,方法较为复杂,不易掌握。GDAL(Geospatial

data abstraction library)作为优秀的开源GIS库,使用单一的抽

象数据模型支持多种栅格数据格式,且支持C/C++、JA V A、.

NET等目前主流的编程语言。有很多著名的GIS类产品包括

ESRI的ArcGIS9.2,Google Earth和跨平台的GRASS GIS系

统都使用了GDAL开源库的若干模块

访问子数据集时,子数据集的访问名字自能是“=”后面的

内容,因此这里需要一个处理去掉前面的部分。代码如下:

string subDataset1=subList[0];//以第一个数据集为例

subDataset1Name=subDataset1Name.substr(subData-

set1Name.find_first_of("=")+1);

GDALDataset*subDataset=(GDALDataset*)GDALOpen

计算技术

信息发展

与。因此本文读取波段数据时采用以行为单位读取。具体代码如下:int nXSize=poBand->GetXSize ();

int nYSize=poBand->GetYSize ();//获取波段数据的长宽double *pafScanline;//定义行缓冲区

vectorbandData;//定义储存波段数据容器

for (int i=0;i

pafScanline =(int *)CPLMalloc (sizeof (double )*nXSize );bandData.push_back (pafScanline );pafScanline=NULL;}//申请存放容器for (int j=0;j

poBand->RasterIO (GF_Read,0,j,nXSize,1,bandData [j ],nXSize,1,GDT_Float32,0,0);}//以行为单位读取数据

通过以上步骤,可以获得HDF 文件中特定的波段数据,以及其相关的属性数据。完成读取工作后,可以通过GDALClose ()函数关闭打开的子数据集和HDF 文件。4利用开源库GDAL 提取MODIS 1B 数据

目前MODIS 数据应用十分广泛,其采用HDF 文件格式储存元数据,具有信息丰富、数据获取快及覆盖范围广等特点,使其在对地实时监测等方面有很大的应用价值。MODIS

L1B 数据资料有36个波段组,其波段介于0.4-14

?£

?aá??μ?÷?aGDAL 对HDF 文件格式具有良好的可操作性,同时也能处理HDF 文件储存的海量遥感数据。下面利用开源库GDAL 提取某MODIS L1B 数据的第1波段,提取波

段数据的程序流程图和读取的波段数据显示如图3所示。经测试,整个读取过程速度较快。

图3提取MODIS 1B 波段数据流程图和读取数据显示图5结束语

本文介绍了HDF 文件格式和开源库GDAL ,并通过代码说明GDAL 提取HDF 文件栅格数据的方法。最后使用文中上述方法提取通过HDF 文件存储的MODIS 1B 数据,说明开源库GDAL 和HDF 文件能完美兼容,且相应的读取速度较

快。GDAL 还能将提取的

HDF 文件数据转换为其他它所支

持的格式,由于篇幅有限,本文不做详细阐述。

注释:

刘亚东,李青元,谭海,等.开源库GDAL 及其在影像拼接中的应用[J ].数字技术与应用,2010,

(2):88-89.

GDAL 库的一些细节

[EB/OL ].https://www.sodocs.net/doc/e212356944.html,/moin/lilin/gdal-notice/.2009.

第5章 栅格数据模型

第5章栅格数据模型 包括三个习作。前两个查看两种栅格数据:数字高程模型(DEM)和陆地卫星专题制图(LandSat)影像。习作3涉及将两个Shapefile(一个为线要素,一个为多边形要素)转换为栅格数据。 习作1:查看USGS DEM数据 所需数据:Task1文件夹中包含以SDTS(空间数据转换标准)格式发布的美国地质调查局的7.5分DEM。 在习作1中,将使用ArcToolbox来把USGS 7.5分DEM导入格网,并使用ArcCatalog 来检查该格网的属性。 1.启动ArcCatalog,并连接到第5章数据。打开ArcToolbox。在Coverage Tools/Conversion /To Coverage工具集中双击Import From SDTS工具。另一种方法是在ArcCatalog的View 菜单中使用ArcView 8x Tools中的SDTS Raster to Grid工具。 2.在Import From SDTS对话框中,使用浏览器定位到Task1文件夹的数据文件。所有数 据文件都以8146作为前缀。双击其中任一文件,对话框中的Input SDTS Transfer File Prefix应列出8146。将输出的格网名称改为Menan-Buttes,并保存在第5章数据库中。 单击OK。该转换创建了一个高程格网和10个与此格网相关联的表格。 3.本步骤用于检查步骤2中创建的高程栅格Menan-Buttes。在ArcCatalog目录树中右击 Menan-Buttes并选择Properties,查看General标签。 问题1:Menan-Buttes有多少行、多少列? 问题2:Menan-Buttes左上角的x、y坐标值是多少? 4.启动ArcMap。将数据重命名为Task1并添加Menan-Buttes到Task1中。右击Menan-Buttes 并选择Properties。在Symbology标签中,(选中Classify,)右击Color Ramp选框并取消选择Graphic View。然后,从Color Ramp下拉菜单中选择Elevation #1。关闭Properties 对话框。ArcMap现在显示这个双孤峰的戏剧性景观。 习作2:在ArcMap中查看卫星影像 所需数据:tmrect.bil是由前五个波段组成的陆地卫星TM影像文件。 习作2将查看具有五个波段的陆地卫星TM影像,通过改变各波段所赋颜色,可以改变影像的视觉效果。 1.在ArcCatalog中右击tmrect.bil并选择Properties。General标签显示tmrect.bil具有366 行、651列和五个波段。 问题3:你能否确认tmrect.bil是以线格式对波段分离存储的? 问题4:tmrect.bil中像元的大小是多少(以米为单位)? 2.启动ArcMap。将数据重命名为Task2并添加tmrect.bil到Task2中。目录表中显示 tmrect.bil为RGB合成:红、绿、蓝分别赋予波段1、波段2和波段3。 3.从tmrect.bil的目录菜单中选择Properties。在Symbology标签中,使用下拉菜单改变

空间数据库-第4章 Geodatabase空间数据模型1

第四章 GeodataBase空间数据模型 4.1 Geodatabase的概念:面向对象的地理数据模 型;将空间数据和属性数据都保存在关系型 数据库中;对编辑具有版本控制和长事务处 理功能;对应用软件开发提供一种新的数据 处理对象;支持基于组件的开发。 4.1.2 个人 Geodatabase:ArcGIS Desktop对个人Geodatabase 操作有全功能支持。个人Geodatabase 适用于小型项目的地理信息系统。ArcGIS Desktop可以使用 Access 数据库打开,即ArcInfo使用微软 Jet 引擎创建和更新 Access 数据库。在ArcInfo软件中一般来说,个人Geodatabase 支持的对象少于 250,000 个。它只支持同一时刻的单一编辑用。 4.1.3 ArcSDE和多用户Geodatabase:对于大型的企业数据库,使用 ArcSDE 软件。ArcSDE 安装在关系数据库的服务器上。通过 TCP/IP,ArcSDE 为运行在 PC上的 ArcGIS 应用程序提供 Geodatabase服务。对于大型的企业数据库,使用 ArcSDE 软件。ArcSDE 安装在关系数据库的服务器上。 ArcSDE 可以理解为 ArcInfo 的多用户扩展。 ArcSDE 不仅提供对地理数据的远程访问,而且还允许多用户同时编辑同一地理数据。ArcSDE 可以实现海量数据的中央化管理。 4.1.4 Geodatabase的基本构架和特 征:Geodatabase本质上是空间数据和属性数据的 存储机制,Geodatabase之中有许多专门的存储结构,用来存储要素、属性、属性间的关联以及要素间的关联。Geodatabase 中的要素被配置成为一系列的相关表。这些相关表的一部分是用于描述要素的属性,另一部分描述要素之间的关系,验证规则和属性域。数据库管理这些表的结构和完整 性.Geodatabase具有内置的有效性规则、高级的数据存储选项、以及赋予GIS数据集要素以行为的能力。Geodatabase无缝地关联地理数据,它并不把地理数据分割成块,而是使用一个高效的空间索引来对要素表达的区域进行管理; 4.1.4 Geodatabase的基本构架和特征:通过查看数据的对象图获取Geodatabase的物理数据结构。ArcSDE通过地理数据访问模型提供一个面向对象的地理数据模型供用户访问。使用 ArcGIS的ArcCatalog 应用程序,用户可以创建、修改和管理Geodatabase 数据的结构。 4.2 Geodatabase的内部结构 通用的地理数据模型:矢量、栅格和三角网。在Geodatabase 中,它们通过三种地理数据集来实现:要素数据集(要素集)是具有相同坐标系统的要素类的集合。我们可以选择在要素集的内部或外部,组织简单要素类,但拓扑要素类只能在要素集内部组织,以确保它们具有相同的坐标系统。栅格数据集可以是简单数据集或者是具有特征光谱或类型值的多波段组合数据集。TIN 数据集是一组在确定范围内的,每个结点具有反映该表面类型的Z 值的三角形的集合。 4.2.1 要素集和空间参考:要素集(Feature Dataset)是具有相同坐标系统的要素类的集合:点、线或多边形。在要素集中存储了 Geodatabase 的拓扑关系。相同的空间参考(Spatial Reference)是维护拓扑关系的基础。除存储要素外,要素集中还可以存储对象(Objects)、关联类(Relationship class)和几何网络。对象、要素和关联类直接存储在 Geodatabase 中。而不一定存放在要素集中。4.2.2 要素类 :要素是空间实体的表示方式;要素类是同种类型(相同几何形状)的要素的集合;具有同样的几何类型;具有同样的空间参考系统;存储空间对象;要素具有位置特征:几何体的空间属性;要素可以参与网络几何和拓扑关系。 4.2.2 要素类 要素类和拓扑:要素类是具有相同几何形状的要素的集合:点、线或多边形。简单要素类包括没有任何拓扑关系的点、线、多边形或注记。也就是说,一个要素类内的点与另一要素类中的线的终点可以是一致的,但它们是不同的。这些要素可以彼此独立地编辑。拓扑要素类局限在一定的图形范围内,它是一个由完整拓扑单元组成的一组要素类限定的对象。ArcGIS包含了geodatabase 中最主要的一种图形拓扑—几何网络。 4.2.3 对象类:对象是具有属性和方法的实体,对象是对象类的实例;对象类中对象具有相同属性和方法,对象可以和其他对象相关联。对象类是Geodatabase中的一个表,保存与地理对象相关联的描述性信息,但它们不是地图上的要素。对象保存为一个元组。地块的所有者就是对象类的一个例子。可以建立一个地块要素类与所有者对象类之间的数据库连接。 4.2.4 关联类 关联类存储了对象类、要素类两两之间的关联信息。关联可以是:对象类之间的,要素类之间的,要素类和对象类之间的 关联的类别:简单的:对象存在的相互依赖组合的:没有原始对象,目标对象不能存在;目标对象随原始对象的移动而移动 4.2.5 拓扑:ArcGIS 8.3 之后开始支持拓扑功能,可以体现要素类之间的空间拓扑关系。这样的拓扑,可以应用于各种几何类型的要素的空间关系分析和定义。简单要素类是没有拓扑关系的点、线、多边形或注记,各要素可以彼此独立地编辑拓扑要素类局限在一定的图形范围内,是一个有完整拓扑单元组成的一组要素类限定的对象,如几何网络。4.2.6 域和属性验证 域(Domain)是对象属性的有效值集合。可 以是文本型的,也可以是数值型的。 通过关联类和连通规则(connectivity rules),属性验证用以增强数据的完整性。 域(Domain)是对象属性的有效值集合。可 以是文本型的,也可以是数值型的。 属性验证:在Geodatabase中保存对象的属 性、连接和空间规则; 通过关联类和连通规则(connectivity rules),可以增强数据的完整性。无须代

(完整版)栅格数据结构与矢量数据结构的比较

栅格数据与矢量数据 栅格数据结构 基于栅格模型的数据结构简称栅格数据结构,是指将空间分割成有规则的网格,称为栅格单元,在各个栅格单元上给出出相应的属性值来表示地理实体的一种数据组织形式。 栅格数据结构表示的是二维表面上的要素的离散化数值,每个网格对应一种属性。 网格边长决定了栅格数据的精度。 矢量数据结构 矢量数据结构是利用欧几里得几何学中的点、线、面及其组合体来表示地理实体的空间分布的一种数据组合方式。 矢量与栅格数据结构的比较 矢量数据结构的优缺点: 优点为数据结构紧凑、冗余度低,有利于网络和检索分析,图形显示质量好、精度高; 缺点为数据结构复杂,多边形叠加分析比较困难。 具体来说优点有: 1.表达地理数据精度高 2.严密的数据结构,数据量小 3.用网格链接法能完整地描述拓扑关系,有利于网络分析、空间查询 4.图形数据和属性数据的恢复、更新、综合都能实现 5.图形输出美观 缺点有: 1.数据结构较复杂 2.软件实现技术要求比较高 3.多边形叠合等分析相对困难 4.现实和绘图费用高 栅格数据的优缺点: 优点为数据结构简单,便于空间分析和地表模拟,现势性较强; 缺点为数据量大,投影转换比较复杂。 具体来说优点有: 1.数据结构相对简单 2.空间分析较容易实现 3.有利于遥感数据的匹配应用和分析 4.空间数据的叠合和组合十分容易方便 5.数学模拟方便 6.技术开发费用低 缺点有: 1.数据量较大,冗余度高,需要压缩处理 2.定位精度比矢量的低

3.拓扑关系难以表达 4.难以建立网络连接关系 5.投影变形花时间 6.地图输出不精美 两者比较: 栅格数据操作总的来说容易实现,矢量数据操作则比较复杂; 栅格结构是矢量结构在某种程度上的一种近似,对于同一地物达到于矢量数据相同的精度需要更大量的数据;在坐标位置搜索、计算多边形形状面积等方面栅格结构更为有效,而且易于遥感相结合,易于信息共享;矢量结构对于拓扑关系的搜索则更为高效,网络信息只有用矢量才能完全描述,而且精度较高。对于地理信息系统软件来说,两者共存,各自发挥优势是十分有效的。

空间数据模型与算法

摘要:对GIS中几种常见的空间数据模型进行了简单总结,分别介绍了二维空间数据模型和三维空间数据模型,并对空间数据模型的分类和组成以及各自的优缺点进行了分析和比较;对空间数据模型算法进行了简单介绍。并展望了空间数据模型的发展方向。 关键词:GIS;空间数据模型;空间数据模型算法 1、研究现状 1.1二维空间数据模型 目前,在GIS研究领域中,已提出的空间数据模型有栅格模型、矢量模型、栅格-矢量一体化模型和面向对象的模型等。 (1)栅格数据模型 栅格数据模型是最简单、最直观的一种空间数据模型,它将地面划分为均匀的网格,每个网格单元由行列号确定它的位置,且具有表示实体属性的类型或值的编码值。在地理信息系统中,扫描数字化数据、遥感数据和数字地面高程数据(DTM)等都属于栅格数据。由于栅格结构中的行列阵的形式很容易为计算机存储、操作和显示,给地理空间数据处理带来了极大的方便,受到普遍欢迎。在栅格结构中,每一地块与一个栅格像元对应。不难看出,栅格数据是二维表面上地理数据的离散量化值,而每一个像元大小与它所代表的实地地块大小之比就是栅格数据的比例尺。 (2)矢量数据模型 矢量模型是用构成现实世界空间目标的边界来表达空间实体,其边界可以划分为点、线、面等几种类型,空间位置用采样点的空间坐标表达,空间实体的集合属性,如线的长度、区域间的距离等,均通过点的空间坐标来计算。根据空间坐标数据的组织与存储方式的不同,可以划分为拓扑数据模型和非拓扑数据模型。 (3)矢量-栅格一体化数据模型 从几何意义上说,空间目标通常有三种表达方式:(1)基本参数表达。一个集合目标可由一组固定参数表示,如长方形由长和宽两参数描述;(2)元件空间填充表达。一个几何目标可以认为是由各种不同形状和大小的简单元件组合而成,例如一栋房子可以由一个长方形的方体和四面体的房顶组成。(3)边界表达.一个目标由几种基本的边界元素即点、线、面组成。矢量数据结构和栅格数据结构各有优缺点,矢量-栅格一体化数据模型具有矢量和栅格两种结构的优点。 在基于矢量的GIS系统中,使用的是边界表达方法。这种矢量结构用一组取样点坐标表达一条弧线段或一个多边形,这是人们使用地图引申出来的习惯概念,用这种数据结构,人们可以方便的得到长度、面积等。在基于栅格的GIS 系统中,人们已经用元件空间充填表达面状地物。对于线状地物,以往人们仅使用矢量方法表示。事实上,如果采用元件空间充填表达方法表示线性目标,就可以将矢量和栅格的概念统一起来,进而形成成矢量-栅格一体化的数据结构。 设在对一个线性目标数字化采样时,恰好在所经过的栅格内部获得了取样点,这样的取样数据,具有矢量栅格双重性质。一方面,它保留了矢量数据的全部特性,一个目标跟随了所有的位置信息并能建立拓扑关系;另一方面,它建立了路径栅格与地物的关系,即路径上的任意一点都与目标直接建立了联系。这样,每个线性目标除记录原始取样点外,还记录所通过的栅格,每个面状地物除记录

栅格数据分析方法

GIS中栅格数据的分析模式 *** (建筑与城乡规划学院湖南湘潭411201) 摘要:数据是地理信息系统的基础,强大的地理信息分析功能对数据有很高的要求。与矢量数据相比,栅格数据具有其独特的一面,尤其在空间辅助决策部分要求不高的情况下,采用栅格地理信息系统。其信息更加全面、内容更加具体、开发速度较快,是地理信息系统进一步的延伸。本文从栅格数据出发,对栅格数据的结构、表示以及空间分析机制进行了简单阐述,并探讨了栅格数据在地形中的表示方法。 关键词:地理信息系统,栅格数据,地形表示 0 引言 地理信息系统(Geographic Information System,GIS)是一种具有采集空间数据并存储、管理、分析与表现空间信息的计算机系统。采用GIS技术使高效管理具有空间分布特征的原始数据及其制图输出成为可能,并逐步成为现代企业管理和政府决策的有力助手[1, 2]。数据是地理信息系统的血液,在现有的系统开发设计中,投入成本最大的便是数据处理,其投入费用占系统建立和维护的70%以上。从应用的角度来看,近几年GIS的应用领域不断扩大,出现了大量成熟的商业GIS平台,空间数据的建设越来越受到重视。基于空间数据基础设施的建设,人们开始了空间数据共享和互操作的研究。但是多种数据格式的互相转换,均需要以栅格图像矢量化为前提。在矢量化过程中,必然导致部分细微信息的缺失,数据转换误差等空间数据的不确定性问题[3]。如何解决数据处理的高成本,减少项目周期,更多的恢复数据固有信息,已成为地理信息系统发展的至关重要问题。采用栅格图像,取消矢量化数据的步骤是对GIS数据发展的一个尝试,目前国内仍没有相关的技术及应用。通过对计算机数据结构及遥感图像处理等多方面的经验借鉴,融合了其它领域内的相关技术,适时应用到地理信息系统方面进行开发研制,由此积淀了一些基于栅格数据的地理信息系统技术体系,并得到了应用实践。 1.GIS中的栅格数据 1.1栅格数据的结构组织 基于栅格模型的数据结构简称为栅格数据结构,是指将空间分割成有规则的格网,在各个格网上给出相应的属性值来表示地理实体的的一种数据组织形式。在栅格数据结构中,点由一个单元格网表示,其数值与邻近网格值有明显的不同。线段是由一串有序的相互连接的的单元格表示,各个网格的值比较一致,但与邻近的值差异较大。多边形由聚集在一起的相互来连接的单元格网组成,区域内部的值相同或是差异较小,但与邻近的格网的值差异较大。 栅格数据是指在空间和亮度上是已经离散化了的图像[4],常见的数据有TIFF、BMP、PCX、JPEG等格式的数据。每个格网对应一种属性,其空间位置用行和列标识。网格通常是正方形,有时也采用矩形、等边三角形和六边形。格网的边长决定了栅格数据的精度,然而用栅格数据来表示地理实体,不论网格边长多细,与原实体相比较,都有信息的丢失,这是因为复杂的实体采用统一的格网所造成的。一般情况可以通过保证最小多边形的精度标准来确定网格的尺寸,是形成的栅格数据既有效的逼近地理实体,又能最大限度的降低数据的冗余。与矢量数据相比,栅格数据表达更为直观,容易实现多元化数据的叠合操作分析,便

相关主题