基于arcengine10dem数据自动接边检查实现.docVIP

基于arcengine10dem数据自动接边检查实现.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文档。上传文档
查看更多
PAGE 1 基于arcengine10dem数据自动接边检查实现 摘 要:实际生产数据管理中,DEM数据的接边不一致非常普遍。然而DEM数据接边检查却是一项繁重的任务。本文基于arcengine10新增的栅格数据接口实现DEM数据自动接边检查,并运到到实际生产过程中。极大的提高了工作效率。 关键词:dem 数据接边 arcengine10 中图分类号:P2 文献标识码:A 文章编号:1672-3791(2012)06(c)-0009-02 实际生产中,图幅接边是其中重要的一环。而dem(数字高程模型)数据与常用的点、线、面矢量数据不同,其采用栅格矩形格网形式表达。格网DEM的一个缺点是数据量过大,给数据管理带来了不方便。日常管理中发现,DEM数据接边处不一样问题很普遍。DEM接边要求很严格,必须严格吻合既相同格网高程值必须一样,不允许有限差,而且栅格格网个数特别多。这就使得在日常生产管理中,DEM数据的接边及接边检查非常繁重。 1 ArcEngine10新增操作栅格数据接口 DEM数据为矩形格网,其两者相交区域也必然为矩形格网。要实现DEM数据的接边检查,就要查看2个相邻DEM重叠格网信息,就要对重叠格网每一个单元进行读取操作。在arcEngine10之前的版本中,对栅格数据的操作采用的是光标法(rastercursor),其方法是将栅格数据自动分成几个光标块,再将光标块当成像素块(PixelBlock)的集合,再操作像素块集合从而操作每一个像素块(也就的单元格网)。该方法通过操作栅格数据中光标块内部单元格网,对其进行读取、修改等操作,但是却不能对指定单元格网(具体的某一个)进行读取、修改等操作,其只能对某个光标块中的单元格网进行操作,而光标块大小在整个栅格中的具体位置很难判断。从而得到不到某个单元格网的具体坐标位置。在ArcGis10版本中新增加一个RawBlocks对象,并且实现IRawBlock接口,通过该接口可以得到某个单元格网(像素块)的具体坐标位置。该RawBlocks对象实现不通过以上光标法对栅格数据进行操作,而是通过瓦片(tiling)方法进行操作。IRawBlocks接口实现5个成员如表1所示。 而RasterInfo方法得到一个RasterInfo对象,该对象同样为arcengine10新增类。其主要用处为:获得栅格数据的坐标原点,栅格数据坐标范围,单元格网大小(x,y轴大小数值),单元格网的行数(BlockHeight),列数(BlockWidth)等。RawBlocks对象操作栅格数据的具体用法如以下几点。 (1)将单波段栅格数据直接赋予Raw-Blocks对象,多波段的数据分波段赋予RawBlocks对象。(2)通过RasterInfo方法得到RasterInfo对象,得到各个具体瓦片。(3)在每个瓦片中,得到具体的单元格网,从而对栅格格网进行操作。(4)通过瓦片坐标,瓦片中单元格网的位置,得到单元格网的具体坐标。 2 Dem数据接边检查 分幅的DEM数据必须进行接边。因为DEM数据是用栅格格网表达,对其进行接边就是要讲两两相邻数据重叠处的每个格网进行高程值的一致性处理。因为栅格格网个数特别多,其接边首先要进行接边处检查,判断具体格网高程值是否需要修改。对等待接边检查的DEM数据2幅DEM数据进行接边检查,其流程可以概括如图1。 3 实验 在vs2010环境,基于C#+ArcEngine10编程实现DEM数据自动接边检查程序。两DEM数据相减后得到相交区域的矩形格网后,如果接边一致,那么其单元格网应该为0值。对格网内部单元格网进行0值检查为程序核心。程序核心操作为:对栅格数据由系统分得的瓦片逐一检查,然后将瓦片中的具体格网的值进行非0判断,为非0则记录该格网的中心坐标等信息。 部分的代码如下: for (int pbYcursor = startY; pbYcursor endY; pbYcursor++) { for (int pbXcursor = startX; pbXcursor endX; pbXcursor++) { rawBlocks.ReadBlock(pbXcursor, pbYcursor, 0, pb); System.Array safeArray = (System.Array)pb.get_SafeArray(0); for (int safeArrayHeight = 0; safeArrayHeight pb.Height; safeArrayHeight++) { for (int safeArrayWidth = 0; safeArrayWidth pb.Wid

文档评论(0)

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

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

1亿VIP精品文档

相关文档