• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種面要素接邊檢查算法

      2021-03-09 07:56:00標,陳
      測繪工程 2021年2期
      關(guān)鍵詞:邊線結(jié)點組件

      張 標,陳 楠

      (1.自然資源部陜西基礎(chǔ)地理信息中心,陜西 西安 710054;2.長安大學(xué) 地質(zhì)工程與測繪學(xué)院,陜西 西安 710054)

      矢量數(shù)據(jù)接邊在數(shù)據(jù)入庫和更新中有非常重要的作用[1-2]。矢量數(shù)據(jù)一般由點、線、面3類要素組成,其中點要素不存在接邊問題、線要素接邊較為簡單,面要素接邊要求接邊線兩側(cè)的面要素位置相互匹配,且位置相互匹配的兩個面要素的屬性相同。在地理信息數(shù)據(jù)中,面要素的大小、形狀皆具有任意性,沒有規(guī)律可循,因而其接邊檢查較為復(fù)雜[3]。針對面要素數(shù)據(jù)接邊問題,許多學(xué)者做了大量的研究工作。文獻[4]提出一種基于距離與角度控制的矢量面數(shù)據(jù)接邊檢查方法,該方法利用矢量面到接邊線的距離值與弧段轉(zhuǎn)角角度值作為參考量檢測接邊特征點[4]。文獻[5]提出基于矢量ID映射的“虛拼接”算法,實現(xiàn)一種自動化圖幅接邊的虛拼接方法[5]。文獻[6]提出一種基于索引圖的DLG接邊檢查算法,該算法首先利用標準圖幅號計算圖幅角點坐標生成索引圖,再通過對索引圖中記錄的各相鄰圖幅中的面狀要素進行批量接邊檢查工作[6]。文獻[7]提出一種基于點搜索的矢量接邊檢查算法,可用于不規(guī)則區(qū)域邊界間的面要素接邊檢查工作[7]。文獻[8]利用FME的數(shù)據(jù)處理功能,設(shè)計一種針對地理國情監(jiān)測數(shù)據(jù)中面要素和線要素接邊情況的檢查方法[8]。

      上述學(xué)者的研究工作主要是面向按照標準分幅或按行政區(qū)劃進行組織管理的數(shù)據(jù)接邊,以圖幅邊線或者行政區(qū)域境界曲線作為接邊線進行接邊檢查,但在實際數(shù)據(jù)生產(chǎn)工作中,并不是所有需要進行接邊檢查的矢量面要素數(shù)據(jù)中都存在接邊線,如在天地圖省市數(shù)據(jù)融合項目中,從市、縣地區(qū)收集的大比例居民地要素和植被要素數(shù)據(jù),由于缺少圖幅邊線要素導(dǎo)致無法有效開展數(shù)據(jù)接邊檢查工作,如果采用人工方式直接進行檢查,一則檢查工作量較大,二則檢查結(jié)果可靠性較低。為了解決一些大比例尺面要素數(shù)據(jù)在沒有接邊線的情況下如何進行接邊檢查的問題,本文提出一種面要素接邊檢查算法,并對算法的關(guān)鍵環(huán)節(jié)進行詳細闡述。利用ArcGIS Engine相關(guān)組件,在Visual Studio開發(fā)環(huán)境下進行算法實現(xiàn),形成面要素接邊檢查工具,通過實例論證其有效性和可靠性。

      1 面要素接邊的原則與特點

      1.1 面要素接邊原則

      進行接邊的兩個面要素在實際地理環(huán)境中屬于同一個地理要素,因此兩個面要素正確接邊需要同時滿足幾何條件和屬性條件[9-10]。

      1.1.1 幾何條件

      幾何條件是指接邊的兩個面要素的幾何圖形在接邊線處有公共邊。理論上接邊的兩個面要素的幾何圖形是相接關(guān)系,但由于數(shù)據(jù)編輯方式、分幅裁切等因素,接邊的兩個面要素還可能存在部分重合、分離等拓撲關(guān)系,因此在進行面要素接邊檢查時需考慮圖形到邊限差和圖形接邊限差。圖形到邊限差是根據(jù)接邊線生成接邊緩沖區(qū)的閾值,是判斷面要素是否需要進行接邊檢查判斷的重要參數(shù)。圖形接邊限差是指位于接邊緩沖區(qū)內(nèi)的相鄰圖幅的面要素之間是否滿足接邊要求的閾值。

      1.1.2 屬性條件

      屬性條件是指接邊的兩個面要素的屬性信息完全一致。屬性信息完全一致可以是狹義上的信息一致,也可以是廣義上的信息一致。狹義上的信息一致是指兩個接邊要素的屬性字段名稱與屬性字段內(nèi)容完全一致。廣義上的信息一致是指兩個接邊要素采用不同的屬性字段名稱或?qū)傩宰侄蝺?nèi)容描述同一個屬性概念。如兩個接邊要素可以分別使用“GB”“CC”“CODE”“CLASID”等屬性名稱描述要素分類代碼,使用屬性字段內(nèi)容為“一等”“二等”“一級”“二級”來描述同一個等級屬性信息。在一般情況下,選擇狹義上的信息一致來判斷接邊的兩個面要素是否滿足屬性條件。

      1.2 面要素接邊特點

      通過對面要素接邊原則中幾何條件的分析,結(jié)合面要素幾何圖形的特征,可以總結(jié)出面要素接邊的特點:

      1.2.1 接邊線處兩側(cè)邊線長度一致

      由于接邊的兩個面要素需要滿足幾何條件,即幾何圖形在接邊線處有公共邊,因此可以總結(jié)出兩個面要素在接邊線處兩側(cè)邊線的長度是一致的。如圖1(a)所示的面要素A與面要素B接邊,理想狀態(tài)下面要素A的邊線a1a2中上的結(jié)點a1與面要素B的邊線b1b2中的結(jié)點b1位置一致,結(jié)點a2與結(jié)點b2位置一致,從而邊線a1a2與邊線b1b2的長度是一致的,但實際情況中,結(jié)點a1與結(jié)點b2,結(jié)點a2與結(jié)點b2的位置有可能不完全一致,但兩邊線長度大體上是一致的。

      1.2.2 接邊線處兩側(cè)邊線角度一致

      接邊的兩個面要素在接邊線處兩側(cè)邊線除了長度一致外,其角度也是一致的,即邊線a1a2與邊線b1b2的角度相等或相差180°。此外不僅僅是兩個接邊面要素的兩側(cè)邊線角度一致,在同一條接邊線上,多個接邊面要素的兩側(cè)邊線角度也是一致的。如圖1(b)所示,面要素A與面要素B的兩側(cè)邊線角度與面要素C與面要素D的兩側(cè)邊線角度是一致的。

      圖1 面要素接邊特點

      2 面要素接邊檢查算法描述

      在分析面要素接邊原則和接邊特點的基礎(chǔ)上,提出一種面要素接邊檢查算法,其詳細流程如圖2所示,算法的主要環(huán)節(jié)包括獲取面要素接邊線、相接要素幾何檢查、緩沖要素幾何檢查、屬性檢查、無效接邊結(jié)果過濾、檢查結(jié)果輸出等。

      圖2 面要素接邊檢查算法流程

      2.1 獲取面要素接邊線

      傳統(tǒng)基于接邊線的檢查方法是根據(jù)接邊線生成接邊緩沖區(qū),進而通過空間過濾器快速過濾得到需要進行接邊檢查的面要素。但本次研究的矢量數(shù)據(jù)中沒有圖幅邊線要素,因而只能對矢量數(shù)據(jù)中的所有面要素逐個處理,從面要素本身的幾何圖形中尋找可能的接邊位置。一般情況下大比例尺矢量數(shù)據(jù)采用矩形分幅的方式進行數(shù)據(jù)組織,圖幅邊線的角度一般為0°(180°)或90°(270°)。因此如果當(dāng)前面要素本身的幾何圖形中有連續(xù)兩個或多個結(jié)點的角度為0°(180°)或90°(270°)時,認為當(dāng)前面要素有可能存在接邊要素,這些連續(xù)的結(jié)點是可能的接邊位置,將這些連續(xù)的結(jié)點構(gòu)成的線段提取出來,作為當(dāng)前面要素的接邊線。

      2.2 相接要素幾何檢查

      按照面要素接邊原則中的幾何條件,與當(dāng)前面要素可能存在接邊關(guān)系的其他面要素與其是相接關(guān)系,并在接邊線處有公共邊。因而可以通過相接要素幾何檢查的方法進行檢查。相接要素幾何檢查的流程如下:①按照2.1節(jié)的方法獲取當(dāng)前面要素的接邊線,并根據(jù)空間相接關(guān)系得到與當(dāng)前要素可能存在接邊關(guān)系的其他面要素。②當(dāng)前面要素與其他面要素求解相接線,相接線是指兩個面要素求交得出的線結(jié)果,根據(jù)面要素接邊“接邊線處兩側(cè)邊線長度一致”的特點,相接線的長度與接邊線的長度也應(yīng)該是一致的,考慮到兩者長度可能不會完全一致,因而可以通過兩者長度之比進行判斷。③相接線與接邊線進行長度比的判斷,符合閾值的則認為這兩個接邊面要素滿足幾何條件,反之則不滿足。如圖3所示,面要素A與面要素B滿足幾何條件。

      圖3 相接要素幾何檢查

      2.3 緩沖要素幾何檢查

      除了相接要素幾何檢查外,由于數(shù)據(jù)編輯方式、分幅裁切等因素,在實際數(shù)據(jù)中還存在一些空間關(guān)系相離,但卻是屬于同一要素的面要素。如圖4所示,面要素A與面要素B雖然是相離關(guān)系,但可以看出這兩個面要素屬于同一要素,需要通過緩沖要素幾何檢查將其查找出來。由于參與檢查的接邊面要素是相離關(guān)系,無法求解出相接線,因此緩沖要素幾何檢查的流程如下:①按照2.1節(jié)的方法獲取當(dāng)前面要素的接邊線,并生成接邊緩沖區(qū)過濾得到與當(dāng)前要素可能存在接邊關(guān)系的其他面要素。②按照2.1節(jié)的方法獲取可能存在接邊關(guān)系的其他面要素的接邊線。③對兩個接邊線進行長度比、角度和距離的判斷,符合閾值的則認為這兩個接邊面要素滿足幾何條件,反之則不滿足。

      圖4 緩沖要素幾何檢查

      2.4 屬性檢查

      屬性檢查是在兩個接邊面要素滿足幾何條件的基礎(chǔ)上進行逐個屬性字段內(nèi)容比較,判斷屬性字段內(nèi)容是否一致。如果所有屬性字段內(nèi)容一致則說明兩個接邊面要素滿足屬性條件,為同一要素,將面要素本身和接邊線加入到接邊候選集中,反之則不做處理。

      2.5 無效接邊結(jié)果過濾

      無效接邊結(jié)果過濾是該算法中的一個重要環(huán)節(jié)。由于采用逐要素檢查的方式,因此有可能會將一些不在接邊線處的要素加入到接邊檢查結(jié)果中,這些檢查結(jié)果屬于無效接邊結(jié)果,需要將其過濾掉,否則會降低接邊檢查的準確率,并造成后續(xù)排查工作量的增加。根據(jù)面要素接邊“在同一條接邊線上,多個接邊要素的兩側(cè)邊線角度也是一致”的特點,可以將無效接邊結(jié)果進行過濾,其流程如下:①從接邊候選集中任選一條接邊線,獲取其角度和坐標,如果是水平角度則獲取其y方向的坐標,如果是垂直角度,則獲取其x方向的坐標。②遍歷接邊候選集中的其他接邊線及其角度和坐標,如果其他接邊線與當(dāng)前接邊線角度一致,y方向的坐標或x方向的坐標的距離差值滿足閾值要求,則認為當(dāng)前接邊線是有效接邊結(jié)果。③反之,如果遍歷完接邊候選集中的所有其他接邊線后,沒有與當(dāng)前接邊線角度和坐標一致的其他接邊線,則可以認為當(dāng)前接邊線是無效接邊結(jié)果,將該接邊線及其對應(yīng)的面要素從接邊候選集中剔除。④對接邊候選集中所有的接邊線進行處理,過濾掉無效接邊結(jié)果。如圖5所示,與接邊線1角度和坐標一致的有接邊線2、3、4。沒有與接邊線5角度和坐標一致的其他接邊線,接邊線5屬于無效接邊結(jié)果,將其過濾掉。

      圖5 無效接邊檢查結(jié)果過濾

      2.6 檢查結(jié)果輸出

      接邊檢查結(jié)果數(shù)據(jù)庫中的要素設(shè)計為面類型,將接邊檢查錯誤或緩沖檢查錯誤的面要素寫入到數(shù)據(jù)庫中,同時將接邊錯誤類型、錯誤內(nèi)容等檢查結(jié)果信息寫入到面要素的屬性字段中。這種方式的優(yōu)勢在于將檢查結(jié)果與原始數(shù)據(jù)疊加時,可以準確定位接邊檢查錯誤的面要素及相關(guān)錯誤信息,便于作業(yè)人員進行錯誤定位及復(fù)核。

      3 面要素接邊檢查算法實現(xiàn)

      根據(jù)上述算法描述,利用ArcGIS Engine相關(guān)組件,在Visual Studio開發(fā)環(huán)境下進行面要素接邊檢查工具的實現(xiàn)。ArcGIS Engine是ESRI公司推出的可用于構(gòu)建定制應(yīng)用的一個完整的嵌入式的GIS組件庫,具有簡潔、靈活、易用、可移植性強等優(yōu)點,其中有3 000多個對象可供開發(fā)人員調(diào)用,為開發(fā)人員集成了大量的GIS功能,可以針對GIS解決方案快速搭建應(yīng)用平臺[11-12]。CJHJ是一種被廣泛使用的面向?qū)ο蟮木幊陶Z言,易于學(xué)習(xí)和使用[13],可在ArcGIS Engine開發(fā)中用作編程語言。因此,基于ArcGIS Engine二次開發(fā)平臺在Visual Studio2010編程環(huán)境下使用CJHJ編程語言可以較好地實現(xiàn)面要素接邊檢查工具。

      面要素接邊檢查工具在開發(fā)過程使用IWorkspace、IFeatureClass、IFeature、IGeometry、IField、IPointCollection、IRelationalOperator、ITopologicalOperator等相關(guān)組件[14],其中IWorkspace組件用于連接一個或多個數(shù)據(jù)集的數(shù)據(jù)庫或數(shù)據(jù)文件;IFeatureClass組件用于獲取矢量數(shù)據(jù)中的具體要素圖層;IFeature組件用于管理要素圖層中的具體要素,并獲取要素的相關(guān)信息(如空間幾何信息和屬性信息);IGeometry組件用于管理與獲取要素的幾何信息;IField組件用于管理與獲取要素的屬性字段信息;IPointCollection組件用于獲取、刪除、替換以及更新幾何對象中的具體結(jié)點;IRelationalOperator組件用于判斷兩個要素間的空間關(guān)系(如是否相接、是否相離等);ITopologicalOperator組件用于要素空間幾何對象的拓撲計算(如求緩沖區(qū)、求相交等)。按照圖2所示的邏輯流程編寫相關(guān)代碼,編譯形成可執(zhí)行文件,完成工具的開發(fā)實現(xiàn)。

      4 實例驗證

      將按照本文提出的算法實現(xiàn)的面要素接邊檢查工具應(yīng)用于陜西省某區(qū)域的大比例尺居民地及植被數(shù)據(jù)的接邊檢查工作中。其接邊檢查結(jié)果示例如圖6所示,接邊檢查結(jié)果統(tǒng)計與接邊檢查時間統(tǒng)計如表1、表2所示。

      圖6 接邊檢查結(jié)果示例

      表1 接邊檢查結(jié)果

      表2 接邊檢查時間統(tǒng)計

      實踐結(jié)果表明,該工具簡單易用,利于作業(yè)人員上手,可以快速、準確地檢查出數(shù)據(jù)中存在的接邊問題,接邊檢查的正確率達到97%以上,同時生成的接邊檢查錯誤反饋結(jié)果可輔助進行數(shù)據(jù)復(fù)核與修改。對統(tǒng)計結(jié)果進行分析,存在的多檢問題是因為一些面要素不滿足無效接邊過濾條件,存在的漏檢問題是因為一些計算結(jié)果超出閾值(如設(shè)定長度比為0.95,漏檢對象的長度比為0.942)。這些多檢和漏檢的問題可以通過調(diào)整閾值(如將接邊過濾距離調(diào)小,將接邊長度比率調(diào)低)的方式進行消除。由于接邊檢查的正確率較高,因此可以將后續(xù)的排查工作降低到10%以下,工具的使用極大減少人工操作,有效提升作業(yè)效率和作業(yè)質(zhì)量。

      5 結(jié) 論

      矢量數(shù)據(jù)接邊質(zhì)量的好壞直接影響國家及各行業(yè)利用矢量數(shù)據(jù)進行分析、決策的正確性和可靠性[15]。本文針對一些大比例尺面要素數(shù)據(jù)在沒有接邊線的情況下無法有效進行接邊檢查的問題,在分析面要素接邊原則和接邊特點的基礎(chǔ)上提出一種面要素接邊檢查算法,并對獲取面要素接邊線、相接要素幾何檢查、緩沖要素幾何檢查、屬性檢查、無效接邊結(jié)果過濾、檢查結(jié)果輸出等關(guān)鍵環(huán)節(jié)進行詳細闡述,同時利用ArcGIS Engine相關(guān)組件和Visual Studio開發(fā)環(huán)境進行算法實現(xiàn),形成面要素接邊檢查工具,并將其應(yīng)用于陜西省某些區(qū)域大比例尺居民地及植被數(shù)據(jù)的接邊檢查工作中,驗證其合理性與實用性。實踐結(jié)果表明,按照本文提出的算法所開發(fā)的工具可以快速、準確地查出數(shù)據(jù)中存在的接邊問題,減少人工操作,有效提升作業(yè)效率,具有一定參考價值。

      猜你喜歡
      邊線結(jié)點組件
      海岸水邊線提取方法在GF-2衛(wèi)星影像中的適應(yīng)性研究
      海洋通報(2022年3期)2022-09-27 02:46:20
      無人機智能巡檢在光伏電站組件診斷中的應(yīng)用
      能源工程(2022年2期)2022-05-23 13:51:50
      新型碎邊剪刀盤組件
      重型機械(2020年2期)2020-07-24 08:16:16
      U盾外殼組件注塑模具設(shè)計
      Ladyzhenskaya流體力學(xué)方程組的確定模與確定結(jié)點個數(shù)估計
      認識足球(六)
      突破矩形上邊線買入法(1)
      風(fēng)起新一代光伏組件膜層:SSG納米自清潔膜層
      太陽能(2015年11期)2015-04-10 12:53:04
      基于Raspberry PI為結(jié)點的天氣云測量網(wǎng)絡(luò)實現(xiàn)
      基于DHT全分布式P2P-SIP網(wǎng)絡(luò)電話穩(wěn)定性研究與設(shè)計
      隆尧县| 辰溪县| 团风县| 班戈县| 宾川县| 新巴尔虎右旗| 桐庐县| 门头沟区| 宁强县| 元氏县| 开平市| 板桥市| 揭西县| 扬中市| 伊吾县| 绥棱县| 九龙坡区| 庐江县| 六盘水市| 花莲县| 临夏县| 汝州市| 凤山市| 钦州市| 项城市| 绿春县| 怀安县| 杂多县| 镇赉县| 鄢陵县| 榆树市| 新源县| 朝阳县| 寿宁县| 宁安市| 东明县| 溧水县| 科技| 鹿邑县| 上虞市| 安西县|