亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Snakes算法的道路要素移位軟件模塊

        2014-08-15 01:39:04劉遠(yuǎn)剛郭慶勝孫雅庚鄭春燕
        測(cè)繪通報(bào) 2014年4期
        關(guān)鍵詞:道路網(wǎng)移位全局

        劉遠(yuǎn)剛,郭慶勝,孫雅庚,鄭春燕

        (1.武漢大學(xué) 資源與環(huán)境科學(xué)學(xué)院,湖北 武漢 430079; 2. 長(zhǎng)江大學(xué) 地球科學(xué)學(xué)院,湖北 荊州 434023;3. 武漢大學(xué) 測(cè)繪遙感信息工程國(guó)家重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430079; 4. 嘉應(yīng)學(xué)院 地理科學(xué)與旅游學(xué)院,廣東 梅州 514015)

        一、引 言

        地圖綜合中的移位是一種為了保持要素之間的空間關(guān)系,保證要素的清晰易辨性或適應(yīng)地圖上的其他要素,而進(jìn)行的解決地圖要素間的沖突的地圖綜合操作。國(guó)內(nèi)外關(guān)于地圖要素移位的研究已經(jīng)有了較長(zhǎng)的歷史,并提出了眾多有效的算法[1-9]。其中 Burghardt和Meier(1997年)提出的基于Snakes的地圖要素移位算法是一種非常適合線狀要素移位的全局最優(yōu)化算法,該算法把計(jì)算機(jī)視覺(jué)中已得到廣泛應(yīng)用的Snakes模型引入到地圖綜合領(lǐng)域,可有效地控制移位引起的后繼沖突問(wèn)題;Bader(2001年)、Galanda(2003年)和吳小芳(2005年)等多位學(xué)者對(duì)該算法進(jìn)行了改進(jìn),并將其應(yīng)用于線狀要素移位和變形、多邊形要素的移位、放大和夸大等操作[10-13]。本文采用C#編程語(yǔ)言和ArcGIS Engine二次開(kāi)發(fā)組件,設(shè)計(jì)并實(shí)現(xiàn)了一種基于Snakes算法的道路要素移位軟件模塊。該模塊針對(duì)道路要素移位的應(yīng)用需求,采用面向?qū)ο蟮脑O(shè)計(jì)思想,實(shí)現(xiàn)了Snakes移位算法的數(shù)據(jù)模型、邏輯結(jié)構(gòu)和算法流程,從而為Snakes移位算法的研究和應(yīng)用提供軟件支持。

        二、Snakes移位算法基本原理

        在基于Snakes的地圖要素移位算法中,能量的描述均由最基本的移位量表示,將曲線要素的幾何特征變化產(chǎn)生的能量作為內(nèi)部能量,將空間沖突產(chǎn)生的排斥力作為外部能量,通過(guò)對(duì)內(nèi)外能的計(jì)算,獲得能量最小時(shí)的道路移位后的最優(yōu)形狀和位置。公式(1)是移位量的計(jì)算公式,其中l(wèi)表示線的長(zhǎng)度,(x0,y0)表示原始線的坐標(biāo),(x,y)表示線移位后的坐標(biāo),d(s)是移位量的參數(shù)表達(dá);公式(2)是總能量計(jì)算公式,其中E(d)是總能量,Eint是內(nèi)部能量,Eext是外部能量;內(nèi)部能量由公式(3)求出,其中d′(s)和d″(s)分別是移位量d(s)關(guān)于s的一階導(dǎo)數(shù)和二階導(dǎo)數(shù),反映了由于移位而產(chǎn)生的形狀變化的大小,α(s)和β(s)參數(shù)決定Snakes模型的彈性和剛性,反映模型的屬性,對(duì)移位效果有一定的控制作用;外部能量由產(chǎn)生沖突時(shí)地圖符號(hào)的重疊產(chǎn)生,其值與重疊的大小成正比,由它促使線移動(dòng)變形,從而解決沖突。

        s→d(s)=(x(s)-x0(s),y(s)-y0(s))T,0≤s≤l

        (1)

        (2)

        Snakes模型的原則是保持內(nèi)能和外能之和的總能量值最小,因此需求解公式(2)中的E(d)取最小值時(shí)曲線各處的移位量。利用歐拉方程、有限元方法,并經(jīng)過(guò)一系列變換,求得矩陣方程公式

        Kd=f

        (4)

        式中,K是剛度矩陣;d是由曲線上各點(diǎn)處移位量及其一階導(dǎo)數(shù)組成的移位向量,是方程的未知數(shù);f是由曲線上各點(diǎn)處所受外力計(jì)算得到的向量。根據(jù)有限元方法,曲線上每一線段上對(duì)應(yīng)的局部矩陣KL、dL、fL的計(jì)算方法如下(以x軸方向?yàn)槔?,y軸方向類似)

        式中,α、β為α(s)、β(s)的常量形式;h為線段的長(zhǎng)度;x0、x1為線段起點(diǎn)和終點(diǎn)處的坐標(biāo);d(x0)和d(x1)表示兩點(diǎn)處x方向移位量;d′(x0)和d′(x1)表示兩點(diǎn)處x方向移位量的一階導(dǎo)數(shù);f(x0)和f(x1)表示兩點(diǎn)處所受外力在x方向上的分量。

        對(duì)于整個(gè)道路網(wǎng),需要對(duì)每一條線段分別計(jì)算局部矩陣,并依次將局部矩陣聚集到全局矩陣K、d、f中,最后分別對(duì)x和y方向上的全局矩陣方程求解,得到各點(diǎn)的移位向量。需要注意的是,K是奇異矩陣,無(wú)法求得其逆矩陣,導(dǎo)致無(wú)法直接對(duì)方程進(jìn)行求解。因此,需要在矩陣中增加邊界條件,將奇異矩陣K轉(zhuǎn)換為常規(guī)矩陣,使之可解。另外,如果沖突區(qū)域目標(biāo)不是很密集,沖突可能在一次操作中就得到解決;但實(shí)際上大多數(shù)的沖突區(qū)域情況復(fù)雜,參與沖突的目標(biāo)較多,一次操作并不能完全解決所有的沖突,此時(shí)就要多次操作,逐步解決沖突。采用迭代最優(yōu)化過(guò)程逐步解決所有沖突的計(jì)算方法如下

        (E+γK)d(t)=d(t-1)+γf(t-1)

        (8)

        式中,E是單位矩陣;t為迭代次數(shù);d(t)與d(t-1)分別是第t次的移位向量和第t-1次的移位向量;f(t-1)是第t-1次的各點(diǎn)處的受力向量;γ為迭代步長(zhǎng)。

        三、道路要素移位軟件模塊的設(shè)計(jì)與實(shí)現(xiàn)

        該軟件模塊在Visual Studio 2010開(kāi)發(fā)環(huán)境下,采用C#語(yǔ)言和ArcGIS Engine 10.0二次開(kāi)發(fā)組件進(jìn)行集成開(kāi)發(fā)。地圖顯示功能和數(shù)據(jù)存取功能借助ArcGIS Engine提供的相關(guān)組件實(shí)現(xiàn),數(shù)據(jù)結(jié)構(gòu)和算法邏輯自主開(kāi)發(fā)完成,其總體上分為主程序和Snakes移位算法模塊兩部分(如圖1所示)。主程序是基于ArcGIS Engine組件的窗口應(yīng)用程序,實(shí)現(xiàn)了地圖顯示和瀏覽、圖層管理、算法全局參數(shù)交互設(shè)置和地圖要素集存取等功能;Snakes移位算法模塊用于實(shí)現(xiàn)整個(gè)算法的業(yè)務(wù)邏輯,主要包括道路網(wǎng)數(shù)據(jù)模型、算法全局參數(shù)列表和算法邏輯實(shí)現(xiàn)幾個(gè)部分。道路網(wǎng)數(shù)據(jù)模型定義了道路網(wǎng)中所包含的道路對(duì)象、道路頂點(diǎn)對(duì)象、道路端點(diǎn)對(duì)象,以及三者之間的關(guān)聯(lián)關(guān)系,且每種對(duì)象都以類進(jìn)行封裝,并設(shè)計(jì)了各自的屬性和方法;算法全局參數(shù)列表包括整個(gè)算法的各項(xiàng)參數(shù),如形狀參數(shù)、迭代步長(zhǎng)、迭代次數(shù)、道路符號(hào)設(shè)置、目標(biāo)比例尺等;算法邏輯實(shí)現(xiàn)是對(duì)Snakes移位算法的實(shí)現(xiàn),包括計(jì)算剛度矩陣、計(jì)算外力向量,以及矩陣加、減、乘、除、求逆等基本運(yùn)算的實(shí)現(xiàn)。主程序與Snakes移位算法模塊之間通過(guò)可視化界面進(jìn)行數(shù)據(jù)交換。主程序調(diào)用算法模塊時(shí),系統(tǒng)先向算法模塊中的全局參數(shù)列表寫(xiě)入用戶設(shè)置好的全局參數(shù),并將ArcGIS Geodatabase中的原始要素集導(dǎo)入算法模塊,建立對(duì)應(yīng)的道路網(wǎng)數(shù)據(jù)集;然后將全局參數(shù)作為輸入條件運(yùn)行算法邏輯實(shí)現(xiàn)部分對(duì)道路網(wǎng)數(shù)據(jù)集進(jìn)行移位處理,處理后的結(jié)果再導(dǎo)出為新的ArcGIS Geodatabase要素集(結(jié)果數(shù)據(jù)集)顯示到地圖窗口中。

        在基于Snakes的道路要素的移位算法中,必須先計(jì)算出整個(gè)道路網(wǎng)的剛度矩陣和受力向量,然后解矩陣方程得到移位向量。對(duì)于前者,不僅需要用到道路網(wǎng)中所有道路頂點(diǎn)的坐標(biāo)數(shù)據(jù),而且需要知道道路之間的拓?fù)潢P(guān)聯(lián)信息,否則無(wú)法完成不同道路的剛度矩陣的聚合。根據(jù)上述剛度矩陣和受力向量的數(shù)值計(jì)算方法的需要,筆者設(shè)計(jì)了一種簡(jiǎn)單的道路網(wǎng)數(shù)據(jù)模型。圖2中的道路網(wǎng)模型主要定義了RoadNetWork、Road、PointCoord和ConnNode幾個(gè)類,分別用于描述與道路網(wǎng)、道路、道路網(wǎng)中的頂點(diǎn)和端點(diǎn)幾類對(duì)象的屬性和方法。這幾個(gè)類之間相互關(guān)聯(lián)形成一個(gè)包含了基本拓?fù)湫畔⒑妥鴺?biāo)信息的道路網(wǎng)模型。在該模型中,一個(gè)道路網(wǎng)由道路列表、頂點(diǎn)列表和端點(diǎn)列表構(gòu)成;一條道路包含一個(gè)起點(diǎn)和一個(gè)終點(diǎn)(統(tǒng)稱為端點(diǎn)),包含多個(gè)(兩個(gè)以上)頂點(diǎn);每一個(gè)端點(diǎn)同時(shí)也是一個(gè)頂點(diǎn),它可以作為道路的起點(diǎn)或終點(diǎn),與多條(一條以上)道路相關(guān)聯(lián)。另外,RoadGrade類用于描述道路的等級(jí)屬性特征,在算法中它是設(shè)置單條道路的形狀參數(shù)的基本依據(jù)。圖2中的AlgSnakes類是Snakes移位算法邏輯的實(shí)現(xiàn),該類中定義了Snakes算法的全局參數(shù)列表與所有的計(jì)算方法和計(jì)算流程,具體見(jiàn)表1和表2。其中Run_Alg_Snakes方法通過(guò)對(duì)其他計(jì)算方法的調(diào)用實(shí)現(xiàn)了Snakes移位算法的基本流程。

        圖1 總體結(jié)構(gòu)圖

        圖2 UML類圖

        表1 AlgSnakes屬性說(shuō)明

        表2 AlgSnakes方法說(shuō)明

        圖3是Snakes算法用于道路要素移位的基本流程,具體步驟包括:①初始化,設(shè)置各項(xiàng)全局參數(shù)的初始值和創(chuàng)建道路網(wǎng)數(shù)據(jù)模型。全局參數(shù)包括形狀參數(shù)、最大迭代次數(shù)、迭代步長(zhǎng)、目標(biāo)比例尺、道路符號(hào)寬度、地圖目標(biāo)間最小間隔等;道路網(wǎng)數(shù)據(jù)模型通過(guò)導(dǎo)入的道路要素集數(shù)據(jù)得到。②計(jì)算道路網(wǎng)剛度矩陣,先根據(jù)式(5)計(jì)算出組成道路要素的所有線段的局部剛度矩陣,然后根據(jù)道路頂點(diǎn)下標(biāo)將其依次累加到全局剛度矩陣中對(duì)應(yīng)的元素上,最終得到道路網(wǎng)的全局剛度矩陣。③計(jì)算各點(diǎn)的受力,如果所有頂點(diǎn)的受力均為0,則直接結(jié)束,否則執(zhí)行下一步。④計(jì)算道路網(wǎng)受力向量,先根據(jù)式(7) 計(jì)算出組成道路要素的所有線段的局部受力向量,然后根據(jù)道路頂點(diǎn)下標(biāo)將它們依次累加到全局受力向量中對(duì)應(yīng)的元素上,最終得到道路網(wǎng)的全局受力向量。⑤跟據(jù)式(8)解矩陣方程,得到新的移位向量。⑥用新的移位向量更新道路網(wǎng)中各坐標(biāo)點(diǎn)的值,判斷是否達(dá)到迭代最大次數(shù),若達(dá)到則結(jié)束,否則迭代次數(shù)增加1次,然后轉(zhuǎn)到步驟③繼續(xù)執(zhí)行。

        圖4和圖5為本文所實(shí)現(xiàn)的軟件系統(tǒng)運(yùn)行截圖。圖中所用試驗(yàn)數(shù)據(jù)是通過(guò)ArcGIS矢量化得到的來(lái)源于Google Map上某山區(qū)的部分道路網(wǎng)。在進(jìn)行移位操作之前,已經(jīng)完成線目標(biāo)的化簡(jiǎn)、彎曲合并等處理。圖4是對(duì)算法全局參數(shù)進(jìn)行設(shè)置的對(duì)話框,本例中目標(biāo)比例尺為1∶50萬(wàn),形狀參數(shù)α和β分別設(shè)置為10 000 000和1 000 000,圖上最小間隔為0.2 mm,最大迭代次數(shù)為2,迭代步長(zhǎng)為0.1,各類要素符號(hào)寬度設(shè)置分別為高速公路2.0 mm、國(guó)道1.8 mm、省道1.2 mm、河流中心線0.7 mm。圖5是采用該模塊對(duì)試驗(yàn)數(shù)據(jù)實(shí)施移位操作得到的最終效果。為了便于對(duì)比,將移位前后的道路網(wǎng)同時(shí)顯示于地圖窗口中,從中可以看出,原本處于沖突區(qū)域的道路路段已移出沖突范圍,且道路的整體形狀保持較好,道路間的拓?fù)潢P(guān)系也未被破壞,整體效果良好。

        圖3 算法流程圖

        圖4 Snakes移位算法參數(shù)設(shè)置

        四、結(jié)束語(yǔ)

        基于Snakes模型的地圖要素移位算法是一種適合線狀要移位的全局最優(yōu)化算法,該算法具有成熟的理論基礎(chǔ)。本文采用C#編程語(yǔ)言和ArcGIS Engine二次開(kāi)發(fā)組件,設(shè)計(jì)并實(shí)現(xiàn)了一種基于Snakes算法的道路要素移位軟件模塊。使用該模塊對(duì)道路網(wǎng)進(jìn)行移位,在算法中的形狀參數(shù)設(shè)置合適時(shí),可同時(shí)解決道路網(wǎng)中多條道路之間的沖突問(wèn)題,且能較好地保持道路的形狀特征。通過(guò)本軟件模塊的開(kāi)發(fā)和試驗(yàn)數(shù)據(jù)的測(cè)試,進(jìn)一步驗(yàn)證了基于Snakes的移位算法全局性最優(yōu)化的優(yōu)點(diǎn),同時(shí)也發(fā)現(xiàn)了該算法在參數(shù)設(shè)置方面自動(dòng)化程度低的缺點(diǎn),為算法的改進(jìn)指明了方向;而且模塊采用了面向?qū)ο蟮某绦蛟O(shè)計(jì)方法和獨(dú)立于ArcGIS平臺(tái)的數(shù)據(jù)模型,具有較好的可移植性和可擴(kuò)展性,有利于今后進(jìn)一步的改進(jìn)和應(yīng)用。

        參考文獻(xiàn):

        [1] LICHTNER W.Computer-assisted Processes of Cartographic Generalization in Topographic Maps[J]. Geo-Processing, 1979,1(1):183-199.

        [3] RUAS A. A Method for Building Displacement in Automated Map Generalisation[J]. International Journal of Geographic Information Science, 1998,12(7):789-803.

        [4] H?JHOLT P. Solving Local and Global Space Conflicts in Map Generalization: Using a Finite Element Method[J].Cartography and Geographic Information Science, 2000, 27(1):65-73.

        [5] WATE J M, JONES C B. Conflict Reduction in Map Generalization Using Iterative Improvement[J]. GeoInformatica,1998, 2 (4):383-407.

        [6] HARRIE L E. the Constraint Method for Solving Spatial Conflicts in Cartographic Generalization[J].Cartography and GIS, 1999, 26(1):55-69.

        [7] BADER M. Energy Minimization Methods for Feature Displacement in Map Generalization[D]. Zurich: University of Zurich, 2001.

        [8] WILSON I D, WARE J M, WARE J A.A Genetic Algorithm Approach to Cartographicmap Generalization[J]. Computers in Industry,2003,52 (3):291-304.

        [9] 艾廷華.基于場(chǎng)論分析的建筑群的移位[J].測(cè)繪學(xué)報(bào),2004,35(1):89-94.

        [10] BADER M. Energy Minimization Methods for Feature Displacement in Map Generalization[D]. Zurich: University of Zurich, 2001.

        [11] GALANDA M.Automated Polygon Generalization in a Multi Agent System[D]. Zurich:University of Zurich,2003.

        [12] 吳小芳,杜清運(yùn), 胡月明,等. 基于改進(jìn)Snake模型的道路網(wǎng)空間沖突處理[J].測(cè)繪學(xué)報(bào),2008,37(2):224-229.

        猜你喜歡
        道路網(wǎng)移位全局
        Cahn-Hilliard-Brinkman系統(tǒng)的全局吸引子
        量子Navier-Stokes方程弱解的全局存在性
        再生核移位勒讓德基函數(shù)法求解分?jǐn)?shù)階微分方程
        大型總段船塢建造、移位、定位工藝技術(shù)
        落子山東,意在全局
        金橋(2018年4期)2018-09-26 02:24:54
        Σ(X)上權(quán)移位算子的不變分布混沌性
        多指離斷手指移位再植拇指25例
        高速公路與中小城市道路網(wǎng)連接線關(guān)鍵問(wèn)題研究——以廣陜、廣巴高速大石互通連接線工程為例
        國(guó)外遙感影像道路網(wǎng)提取研究現(xiàn)狀
        新思路:牽一發(fā)動(dòng)全局
        亚洲视频一区二区三区视频| 中文字幕久热精品视频免费| 国产真实乱对白在线观看| 日本看片一区二区三区| 亚洲国产国语对白在线观看| 性无码国产一区在线观看| 亚洲大胆视频在线观看| 狠色人妻丝袜中文字幕| 国产一区二区三区在线观看完整版 | 免费成人在线电影| 国产乱人伦偷精品视频| 99国产精品无码专区| 白色白色在线视频播放平台| 青青河边草免费在线看的视频| 精品人妻av区乱码| 无码va在线观看| 亚洲精品国产精品国自产观看 | 亚洲成生人免费av毛片| 9l国产自产一区二区三区| 亚洲成人av在线第一页| 免费视频成人片在线观看 | 亚洲国产成人精品女人久久久| 国产一级在线现免费观看| 久久精品国产亚洲av热九| 国产黑丝美女办公室激情啪啪 | 国产精品人伦一区二区三| 99久久99久久久精品齐齐| 国产av精国产传媒| 99re6久精品国产首页| 久久久精品亚洲懂色av| 免费黄网站一区二区三区| 日韩精品中文一区二区三区在线 | 一本色道亚州综合久久精品| 在线播放草猛免费视频| 无遮挡呻吟娇喘视频免费播放| 亚洲的天堂av无码| 亚洲高清在线观看免费视频| 日本免费看片一区二区三区| 久久久久成人精品无码中文字幕| 亚洲欧美日韩在线一区| 国产99精品精品久久免费|