为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

一种基于ArcGIS Engine的线状图幅接边方法

2011-06-22 4页 pdf 258KB 44阅读

用户头像

is_771232

暂无简介

举报
一种基于ArcGIS Engine的线状图幅接边方法 一种基于ArcGIS Engine的线状图幅接边方法 第六图书馆 针对现有线状图幅接边工具的一些缺陷,提出了一种兼顾几何关系和属性特征的线状图幅接边算法,并利用ArcGIS Engine提供的功能,以Microsoft Visual C++6.0为开发环境实现了这一算法。实验证明,这种方法对一般的线状图幅接 边是有效的。针对现有线状图幅接边工具的一些缺陷,提出了一种兼顾几何关系和属性特征的线状图幅接边算法,并利用 ArcGIS Engine提供的功能,以Microsoft Visual C++...
一种基于ArcGIS Engine的线状图幅接边方法
一种基于ArcGIS Engine的线状图幅接边方法 第六图书馆 针对现有线状图幅接边工具的一些缺陷,提出了一种兼顾几何关系和属性特征的线状图幅接边算法,并利用ArcGIS Engine提供的功能,以Microsoft Visual C++6.0为开发环境实现了这一算法。实验证明,这种方法对一般的线状图幅接 边是有效的。针对现有线状图幅接边工具的一些缺陷,提出了一种兼顾几何关系和属性特征的线状图幅接边算法,并利用 ArcGIS Engine提供的功能,以Microsoft Visual C++6.0为开发环境实现了这一算法。实验证明,这种方法对一般的线 状图幅接边是有效的。线状 图幅接边 属性特征 ArcGIS Engine计算机时代刘庆元 周容中南大学信息物理工程 学院,湖南长沙4100832008第六图书馆 www.6lib.com 第六图书馆 · 4 · Computer Era No.2 2008 一 种基于ArcG IS Engine 的线状图幅接边方法 刘庆元,周 容 (中南大学信息物理工程学院,湖南 长沙 410083) 摘 要:针对现有线状图幅接边工具的一些缺陷,提出了一种兼顾几何关系和属性特征的线状图幅接边算法,并利用 ArcGIS Engine提供的功能,以Microsoft Visual c++6.0为开发环境实现了这一算法。实验证明,这种方法对一般的线 状图幅接边是有效的。 关键词:线状;图幅接边;属性特征;ArcGIS Engine 0引言 图幅接边是 GIS地图数据处理过程中经常会遇到的一项 工作。为了便于测绘和管理较大区域的地图数据,通常将地图 按照一定的规则进行分幅处理。使用地图数据时,如果研究区 域分布在两个或多个图幅之中,就必须进行图幅接边,将相邻 图幅中对应的地理要素合并在一起。但是由于数据的精度问 题 ,相邻图幅上的地理要素常常不能够很好地吻合,这给接边 工作带来了不便。 一 些GIS软件中带有图幅接边的模块,如 ArcGIS中的 EdgeMatch。但是,在现实的数据处理过程中,这些模块的功能 还不能满足要求。首先,使用这些接边模块时仍然需要较多的 人工干预,比较繁琐;其次,大多数的接边模块进行接边处理时 仅仅考虑相邻图幅上地理要素的几何关系,而没有充分利用属 性信息,这在某些情况下,如进行等高线的接边时,容易造成逻 辑错误。 线状图幅的接边是图幅接边工作的重要组成部分,常用的 数字线划图(DLG)图幅接边即属此类,上文所提到的等高线图 幅接边,更是一个典型的例子。 当前,国内已有一些人提出了图幅接边问题的解决。 如邓小军等详细分析了等高线的图幅接边问题,对各种相邻图 幅等高线接边误差的形式做了分类【l】,具有一定的代性。 本文提出了一种兼顾几何关系和属性特征的线状图幅自 动接边算法;利用ArcGIS Engine组件所提供的空间操作功 能,在Microsoft Visual c++6.0环境下,实现了这一算法;并 在一个实例的基础上,讨论了这种方法的有效性。 1线状图幅接边问题的提出 如图 l所示,研究区域跨越 A、B两相邻图幅。A、B中各有 一 线状地理要素,它们是同一地物的不同组成部分,具有相同的属 性特征。在数据精确的情况下,这两个线状要素应该能够吻合, 但是由于数据的误差,常常做不到这一点。这时,就需要采取一些 方法来将两个线状要素接合起来,形成一个完整的地理要素。 氛 厂\ / } 8 、\ / 图1 数据误差造成的接边问题 2线状图幅自动接边算法 2.1接边前的数据准备 为了算法的有效执行,在进行接边之前,必须对参与接边 的图幅进行处理,以达到两个要求:参与接边的图幅应该具有 相同的地图数学基础,包括相同的比例尺,相同的投影坐标系 及高程基准;参与接边的图幅属性数据必须准确。如果数据不 能满足这两个要求,接边算法是无法顺利进行的。 2-2线状图幅自动接边算法的流程 (1)搜索参与接边的对象 让相邻图幅上所有的地理要素参与接边是不必要的,这将 严重增加算法的复杂度。为提高效率,算法首先搜索相邻图幅上 参与接边的地理要素。搜索的方法如下:给定—个阈值d1,以这 个阈值为大小,求取图幅接边线的双侧缓冲区;凡是与这个缓冲 区相交的线状要素,分别记录在两个集合里(两个图幅各一个), 参与下一步的接边;未与这个缓冲区相交的线状要素,排除在集 合之外,不参与下—步的接边。图2中左起第1、4根线状要素被 排除,第2、3根线记入搜索结果集合中。选择—个图幅(通常为 左图幅或上图幅)作为主图幅,其中的地理要素称为主要素;另 — 个图幅作为副图幅,其中的地理要素称为副要素。 l\ L / r\=== / · ^ -4 l 图2 搜索与半径为2dl的接边线双侧缓冲区相交的要素 (2)属性 匹配 对(1)中得到的两个结果集进行遍历,查询每个线状要素的 屙性。若在两个集合中找到一对属性匹配的要素,转入(3)进行 接边处理,直到两个集合遍历完毕,所有的属性匹配的要素拼 接完成,整个接边工作也就完成了。 (3)接 边处 理 对(2)中找到的每一对属性匹配的地理要素,接边处理的过 程如图3所示。利用本算法接边时,必须以主要素的末结点与 副要素的首结点相连接,所以当出现距离最近的结点为非末首 结点时,必须调整结点的顺序。如图4所示,如果主要素与副要 维普资讯 http://www.cqvip.com http://www.6lib.com 第六图书馆 www.6lib.com 第六图书馆 计算机时代 2008年 第2期 · 5 · 素距离最近点为首末结点,必须同时倒转主副要素的点序,使 距离最近的点对变为末首结点,再进行拼接。其余三种情况作 类似的处理。 图3 接边算法的流程 点序调整完毕后,即可进行拼接。将副要素的首结点与主 要素的尾结点连结起来,并将副要素所有的结点依次加入到主 要素中,更新主要素,最后删除副要素。至此.一对属性匹配的 线状要素就拼接完成了。 图4 调整主副要素的点序 3用 ArcGIS Engine实现线状图幅拼接算法 ArcGIS Engine是 ESRI公司推出的一个用于定制应用的 完整的嵌入式GIS组件库。利用ArcGIS Engine,开发者能够将 ArcGIS的功能集成到独立的应用程序中,从而避免考虑底层的 空间算法,降低开发难度,提高开发效率。ArcGIS Engine支持 多种主流开发语言,如Visual Basic,Visual c++,Java等,为开 发者提供了便利 I。 本文依据前文所述的算法给出了接边程序所需要的主要 接口或部分代码,开发平台为Microsoft Visual c++6.0 。 (1)搜索参与接边的对象 首先通过 IMapPtr接1:3的 get Envelope方法求出两图幅的 图幅范围IEnvelopePtr,按指定的阈值求出搜索的范围(即接边 线的缓冲区)。 搜索范围确定后,搜索过程使用 ISpatialFilterPtr接口。 ISpatialFilterPtr ipFilter(CLSID_SpatialFilter); ipFilter一>put SpatialRel(esriSpatialRelCrosses); //设置搜索方式为相交 IQueryrFilterPtr ipQueryFilter=ipFilter;//查询过滤器接 口 IFeatureClassPtr ipFtClass; ipFtLayer->get _ FeatureClass(&ipFtClass): ipFtClass一>Search(ipQueryFilter,VARIANT_TRUE,&ipFtCursor); ,,以游标方式返回查询结果 (2)接边对象匹配 使用IFeaturePtr的接ISl的get_Fields方法得到属性字段接 口 IFieldsPtr,通过它可以得到需要查询的属性 ,对(1)中得到的 要素集合一一进行匹配。 (3)接边处理 如果两线状要素属性特征相同,判断主、副图幅属性匹配的 地图元素首末点之间(共有四种组合)最小距离是否在接边阈值 内。首先得到到两Feature的点集接口IPointCollectionPtr: ipFeature一>get Shape(&ipGeometry); I PointCollectionPtr ipPoints; ipPoints=ipGeometry; 接着得到其首末点: IPoi nlPtr StartPt.EndPt; ipPoints一>get — PointCount(&Num);//得到要素的点个数 ipPoints一>get _ Point(O.&StartPt);//取首点 ipPoints一>get — Point((Num一1),&EndPt);//取末点 如首末点之问(四种组合之一)的最小距离小于接边阈值, 则进行拼接: I P0 nePtr tmpPolyline; tmpPolyline=ipLGeometry; tmpPolyline一>ReverseOrienta“0n()://此处以倒转主要素(左侧)为例 ipLPtCollection一>AddPointCollection(ipRPtCollection); //将副图幅中的线的点加入到主图幅 ipLFeature一>putref Shape(1pLGe0met广y)://更新左边图形 ipLFeature一>Store();//保存接边后的图形 ipRFeature一>Delete();//删除右边图幅的接边图形 4应用实例 为检验上述方法的有效性,利用两幅相邻的 l:50000DLG 数据,提取其中的道路图层,进行接边测试。匹配属性为道路名 字段。图5为图幅接边处理的程序界面。 图5 程序界面 测试结果如图6所示。对左右两图幅中道路线状要素所存 在的断点,程序可以比较有效地检测到并接合。 维普资讯 http://www.cqvip.com http://www.6lib.com 第六图书馆 www.6lib.com 第六图书馆 · 6 · Computer Era No.2 2008 像素级融合并行算法的模型研究 胡 冰 ,刘衡竹 ,王攀峰 ,周海芳 (1.军事经济学院采办系,湖北 武汉 430035;2.国防科技大学计算机学院) 摘 要:通过对多种遥感图像像素级融合算法的深入研究,实现了三种具有代表性的像素级融合并行算法,在分析了这 些并行算法的数据划分方式、负载平衡及算法设计流程的基础上,性地提出了一种通用的像素级融合并行算法模型。 该模型对遥感图像融合的并行算法研究提供了有益的指导和借鉴。 关键词:像素级融合;并行算法;模型;遥感图像 0引言 目前,遥感图像融合算法的研究日新月异,已有多种遥感 图像融合算法出现。根据遥感图像所含信息的抽象程度以及融 合应用层次的不同,遥感图像融合可划分为像素级(Pixel—Level Fusion)、特征级(Feature—Level Fusion)、决策级(Decision-Level Fusion)~个层次[11。像素级融合的优点是保留了尽可能多的原 始信息,提供其他融合层次所不能提供的细微信息,具有最高 精度,这一点对于提高分辨率非常重要;但由于处理的信息量 大,实时性差,所需的代价较高。 随着传感器、遥感平台等相关技术的发展,通过遥感手段 获得的数据量也随之急剧增长。传统的像素级融合方法面临急 剧膨胀的海量数据,运算规模迅速扩大到数千亿乃至数万亿次 浮点运算;另外,许多遥感应用领域对实时性的要求日益迫切。 显然,传统的单处理器串行像素级融合算法已经无法满足这样 的运算需求。然而随着并行化技术的发展,采用并行处理技术 是加快遥感图像处理的一个重要手段,因此,研究高效实用的 像素级融合并行算法具有较高的理论与实用价值。 目前,针对一些特定的像素级融合并行算法已经有了—些研 究成果 】。本文基于这些研究成果,对像素级融合算法中具有 代表性的三种算法—_IHs、PCA(主成分分析)、DwrT(离散小波 变换)的并行算法进行分析,在此基础上归纳总结出像素级融 合并行算法的—些共f生牛寺征,提出了—个通用的像素级融合并行 算法模型,为此类算法的并行算法研究提供了一条解决途径。 1串行像素级融合算法 近20年来,对于遥感图像融合的串行算法,特别是针对像 素级融合方法的研究已经取得了一些重要的研究成果,形成了 一 些成熟的融合方法㈨,如:基于彩色变换的方法(IHS,YIQ等), 基于统汁的融合方法(PCA,PCS等),基于多分辨率分析的方 法(金字塔分解法,HPF,小波融合法)和基于数字加权的方法 (SVR,加权平均法)等。其中最为典型的几种算法的基本原理 为:IHS融合是基于图像处理技术中常见的两种颜色表示模型 (RGB和IHS)之间的相互转换[41;PCA融合是采用数学上称为 ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ li◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ il◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ j i 一 } ^ 、 L \ 、 图 6 接边前后的局部变化 5结束语 实验证明,本文所提出的方法对于一般的线状要素接边工 作是有效的。它克服了一些接边程序中仅仅考虑几何特征而没 有充分利用属性信息的缺陷,提高了接边的精确度;利用 ArcGIS Engine提供的空间分析功能,降低了程序开发的难度。 本方法是切实可行的。 本文提出的算法还存在着如下缺陷: (1)对复杂线状要素缺乏判断的能力。如接边要素中存在 环(即主要素和副要素构成环),则算法中主要素的末结点和副 要素首结点的拼接在某些情况下会对接边造成干扰 ,引起一些 错误,而这种情况在等高线接边的工作中并不罕见。 (2)暂时只有两相邻图幅的接边能力,多图幅的接边,需要 逐一地进行。对于多图幅接边的问题,可参见文献【6】。 另外,面状要素或混合要素的接边方法,也是需要做进一 步的探讨的。 参考文献: 【11邓小军,郑小梅 基于AO曲分幅等高线智能化接连处理方法曲研霓 【J1.四,11测绘,2004.27(2):77-81 【2】刘仁义,刘南ArcGIS开式宝典[MI.科学出版社,2006. 【3】蒋波涛.ArcObjects开发基础与技巧【M】.武江土学出版社,2006. [41 MSDN Library Visual Studio 6.O[CP/DK].Microsoft Corp,1998. 【51 Exploring Arcobjcts[CP/DK].ESR]Corp,2002. 【6】赵江洪 地理信息系统中多图幅接边的设计与实现 .测绘科学, 2004.29(1):44-46 维普资讯 http://www.cqvip.com http://www.6lib.com 第六图书馆 www.6lib.com 第六图书馆
/
本文档为【一种基于ArcGIS Engine的线状图幅接边方法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索