嵌入式环境下栅格数据访问引擎设计.docVIP

嵌入式环境下栅格数据访问引擎设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式环境下栅格数据访问引擎设计

嵌入式环境下栅格数据访问引擎设计   摘要:栅格数据访问引擎作为地理信息访问引擎的重要组成部分,主要负责完成栅格数据的入库、出库、存储与访问功能。为解决在资源受限的嵌入式环境中海量栅格数据的存储与访问,实现栅格地图的快速放大,缩小,漫游等问题,本文讨论了基于嵌入式环境下海量栅格数据访问引擎的设计与实现。   关键词:嵌入式GIS;地理信息系统;嵌入式栅格数据访问引擎   中图分类号:TP314   文献标识码:A   DOI:10.3969/j.issn.1003-6970.2015.11.029   0 引言   随着移动设备发的迅速发展,嵌入式系统以其所特有的智能性、自动性、高效性、低耗性、高品质和高可靠性特点,不仅在日常生活中受到广泛关注,而且在商业、农业、工业以及军事活动中,也同样得到了越来越广泛的应用。但是这些以掌上电脑为代表的移动终端CPU运算速度低,外设存储量小,而栅格数据量较大,数据无法一次完全被读入内存中进行处理。针对这一问题,本文设计了较为完善的栅格数据模型,并在软件结构上充分遵循面向对象的设计原则,同时使用空间索引、金字塔等技术来保证海量栅格数据的访问性能。   本文将从栅格数据模型、栅格数据访问引擎软件结构、栅格数据访问技术等方面对栅格数据访问引擎进行详细介绍。   1 栅格数据模型   灵活的数据模型是嵌入式栅格数据引擎(Embedded Raster Data Engine) ERasDE能支持多种数据类型的关键。ERasDE以图层的方式来组织所有的栅格数据。   栅格数据的模型如图1-1所示。同一栅格图层的数据具有相同的空间参考、像元分辨率、像素类型,而在数据范围、数据分布、数据量等方面则可动态扩展。一个栅格图层包含了一套图层参数,金字塔信息,元数据,一个或者多个栅格波段,栅格图幅。   1.1 栅格波段   波段是对栅格数据某个特性的度量,根据数据类别的不同,一个栅格图层可以包含一个或多个栅格波段。常见的灰度航空图片具有一个波段,其各像元值代表地球表面各点的反射率;又如卫星影像通常具有多个波段,每个波段各像元值代表了电磁光谱从紫外光、可见光到红外光各部分能量的波长。ERasDE用波段来定义栅格数据的数据类型以及格式信息,但一个波段并不直接拥有任何栅格数据。   1.2 栅格图幅   栅格图层可以采用分幅或非分幅管理两种管理方式。分幅管理的栅格图层沿着地球表面被划分成多个图幅,按照分幅标准,每个图幅覆盖一定的地理范围。非分幅管理的栅格图层视为分幅管理的一种特例,即此时整个图层仅包含一个图幅。而ERasDE采用既是非分幅管理方式。ERasDE用图幅来定义栅格数据的对应的地理范围,但与波段一样,一个图幅并不直接拥有任何栅格数据。图幅对应的地理范围由分幅标准进行定义。   1.3 栅格图幅版本   栅格图幅版本是栅格数据的直接承载者,对应了某个波段、某个图幅(地理范围)在某个特定时间点上的数据。每个图幅版本都具有一个版本号,版本号从0开始进行编码,其中0代表了最老版本。ERasDE使用栅格图幅版本来组织并管理多版本的栅格数据,这些数据属于相同的波段,对应同样的图幅范围,但在时间维上具有先后顺序。   2 ERasDE结构设计   “开闭原则”是面向对象设计中“可复用设计”的基石,强调软件实体应当对扩展开放,对修改关闭,即在不修改现有代码的基础上,引入新的功能。对于ERasDE而言,其可变性主要在于支持的栅格文件格式可变、支持的压缩懈压缩算法可变、支持的栅格数据存储方式可变。因此,为了实现可扩展性,ERasDE在软件结构的设计过程中采用面向对象的方法,并尽可能遵循“开闭原则”,将栅格文件的读写、数据的压缩/解压缩、数据的存储抽象成组件。通过实现(Comperssor/Decompressor)接口,将新的功能组件就能插入到ERasDE中。ERasDE的软件结构如图2-1所示。   1.栅格数据输入:ERasDE通过ERasFileReader接口来读入外部各种格式的栅格数据,读入的数据先进入栅格数据内存池,再由ERasDataProvider存储到持久存储中;   2.栅格数据内存池:存放内存中栅格数据模型与栅格数据块,栅格数据块占用了内存池的大部分空间。   3.栅格数据存储:ERasDE使用“数据提供者”(ERasDataProvider)接口来完成栅格数据的持久与加载。ERasDataProvider接口主要完成将栅格数据模型及栅格数据块写入到持久存储与从持久存储中读出的功能;   4.栅格数据压缩懈压缩:ERasDE设计了对栅格数据块进行压缩/解压缩的接口,使ERasDataProvider不用关心具体的压缩算法。存储数据时,ERasDataProv

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档