一种基于ArcGIS Engine的线状图幅接边方法
一种基于ArcGIS Engine的线状图幅接边方法
第六图书馆
针对现有线状图幅接边工具的一些缺陷,提出了一种兼顾几何关系和属性特征的线状图幅接边算法,并利用ArcGIS
Engine提供的功能,以Microsoft Visual C++6.0为开发环境实现了这一算法。实验证明,这种方法对一般的线状图幅接
边是有效的。针对现有线状图幅接边工具的一些缺陷,提出了一种兼顾几何关系和属性特征的线状图幅接边算法,并利用
ArcGIS Engine提供的功能,以Microsoft Visual C++...
一种基于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,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。