?

地理國情監測路網數據程序化更新研究地理國情監測路網數據程序化更新研究

2021-11-04 02:47吳森相
龍巖學院學報 2021年5期
關鍵詞:賦值路網線段

吳森相

(福建省測繪院 福建福州 350003)

道路工程在推動區域經濟發展,加快區域之間溝通交流等方面發揮著非常積極的作用。對道路信息進行精確識別和定位,在地理國情監測等方面有著不容忽視的意義和作用[1]。

地理國情監測的路網數據更新,主要從已完成數據采集成果中的鐵路、公路要素層、城市道路層和鄉村道路層中,將變化的鐵路、國省縣鄉道、連接道等必要的要素以及保持交通網弧段連通所需的其他要素,在確保路網合理連通性的前提下,按照“重要性最高、距離最短、個數最少”的原則進行更新[2]。在歷年的路網數據更新中,采用人機交互的方式提取道路變化信息,存在生產效率低下及圖形、屬性更新準確率不高等問題。為解決這些問題,本文以福建省地理國情監測項目路網數據更新為例,利用軟件編程的方式實現路網數據的快速更新。

1 路網數據年度更新的特點

地理國情監測是對地表自然和人文地理要素的空間分布、主要特征、相互關系、時空演變等進行持續性的調查、統計、分析、評價、預測的活動[3],其基本特性包括數據的一致性、現勢性以及繼承性。路網數據更新包含國情監測的一般屬性,也包括其自身的特性,即利用道路監測成果數據,提取圖形、屬性變化的要素,按照技術設計要求,將其轉繪到路網數據層中。

2 道路要素變化類型分析

在地理國情監測中,路網數據更新與道路監測成果數據戚戚相關。道路層包括UV_LRDL(公路)、UV_LRRL(鐵路)、UV_LCTL(城市道路)及UV_LVLL(鄉村路),是以線狀圖形進行表達的。在年度監測中,道路變更包括道路新增、道路改道和拓寬、道路廢棄以及道路屬性發生變化等,因此相應的道路圖形變化包括:(1)由于幾何要素編輯需要被切分打斷,但其空間位置未發生變化的要素;(2)實地未發生變化,只是根據精度更高的監測資料(如:高精度影像),對原有幾何要素進行修正的要素;(3)屬性發生了變化,但空間位置沒有發生變化的要素;(4)實地道路發生了伸縮或者位移變化,對原有道路幾何圖形進行編輯的要素;(5)實地新建已完工的道路;(6)由于道路改道,實地道路已廢棄使用的幾何要素。

在地理國情監測中,道路變化信息采用CHANGETYPE字段進行記錄的。CHANGETYPE值對應變化類型,如表1。

表1 CHANGETYPE值對應變化類型

3 路網數據圖形更新

在地理國情監測中,路網數據圖形更新包括圖形分割和圖形替換兩部分。

3.1 圖形分割原理

路網數據層(N_LRDL)的圖形分割是在完成道路層(UV_LRDL)要素年度更新的基礎上,根據CHANGETYPE值為“-1”和“1”的圖形進行更新的。本底數據中,兩個圖層相關聯各要素的空間位置、節點及屬性是完全一致的,因此在軟件編程中,路網數據依托于新增圖形的節點進行圖形分割,其原理設計如下:(1)從UV_LRDL層中提取CHANGETYPE值為“-1”和“1”的線段;(2)提取的線段及N_LRDL層中所有線段的節點分別生成空間點;(3)將分別生成的空間點進行擦除,剩余的點即為N_LRDL層線狀要素需分割的空間位置點;(4)以剩余點為基點對N_LRDL層的線狀要素進行切分。

圖形分割的主要目的是保證N_LRDL與UV_LRDL要素分割的空間位置及線段長度保持一致,同時也為CHANGETYPE值為“1”“-2”和“3”的圖形更新打下基礎。

3.2 圖形替換原理

圖形替換是在圖形分割完成的基礎上進行更新的。圖形替換包括新增道路、實地道路改道或道路屬性變化引起的圖形更新(如圖1)。N_LRDL圖形替換自動化更新實現中,根據路網數據更新的特性結合UV_LRDL層字段CHANGETYPE值進行設計。

圖1 圖形替換解析圖

3.2.1 CHANGETYPE值為“0”的圖形更新

路網數據按照更新原則,本底數據中其他公路的部分圖形并沒有在N_LRDL層中進行表達。因此,在實現程序化更新中,要充分考慮由其他公路升級為鄉道及以上道路的圖形更新。在程序自動化實現設計中,提取同時滿足UV_LRDL層字段CHANGETYPE值為“0”、RN值第一個字符為“Y、X、S、G”和字段CHANGEATT值中有“RN”條件的要素,將本底數據 N_LRDL的要素與提取的要素進行擦除,擦除成果即為補充至N_LRDL層的要素??紤]到道路的連通性,對N_LRDL層中RN值相同的要素進行圖形懸掛判斷,如果線段兩個端點都懸掛,將其提取出來,進行人工處理。

3.2.2 CHANGETYPE值為“1”“-2” 的圖形更新

在國情監測中,N_LRDL層與UV_LRDL層的圖形存在邏輯關系包括:(1)UV_LRDL層的圖形完成包含在N_LRDL層內,(2)UV_LRDL層的圖形部分包含于N_LRDL層內,(3)UV_LRDL層的圖形不包含在N_LRDL層內。因此在N_LRDL層圖形更新的程序設計中,依據兩個圖層圖形的相互邏輯關系進行設計。如果兩個圖層的圖形有包含關系(兩條線段相交只有一個交點的除外),直接將UV_LRDL層的圖形替換到N_LRDL圖層中,屬性與本底保留一致;如果兩個圖層的圖形沒有包含關系,直接提取UV_LRDL層的要素幾何圖形,拷貝到N_LRDL層中,除建庫階段處理的屬性值外,其余要素屬性與提取的UV_LRDL層屬性值保持一致。

3.2.3 CHANGETYPE值為“2” 的圖形更新

新增道路包括年度監測中新增的國省縣鄉道、連接道和原有道路技術等級降級的道路。在N_LRDL的圖形更新中,主要考慮的是原有技術等級降級處理的道路,其余圖形可以直接拷貝到N_LRDL層中。因此軟件編程設計原理如下:(1)提取UV_LRDL層字段CHANGETYPE值為“2”的圖形;(2)根據提取的要素與 N_LRDL層的要素進行重疊分析,如果兩者100%重疊,保留N_LRDL層中的圖形,除建庫階段賦值的屬性項進行置空外,其余屬性值保留不變;如果兩者沒有重疊(交點除外),將UV_LRDL層的圖形(含屬性)直接拷貝到N_LRDL層。

3.2.4 CHANGETYPE值為“3” 的圖形更新

在路網數據層中,廢棄道路的幾何圖形是不進行表達的。由于UV_LRDL層CHANGETYPE值為“3”的要素與N_LRDL層的要素圖形是完成一致的,因此在程序快速更新編程中,根據其空間位置一致性的特點,按照以下原理進行設計:(1)提取UV_LRDL層字段CHANGETYPE值為“3”的圖形;(2)將提取的圖形與N_LRDL層圖形進行空間分析,如果兩者空間位置完全一致,則對N_LRDL層的圖形進行物理刪除。

4 路網數據屬性更新

圖形更新處理后,N_LRDL層與UV_LRDL層更新要素的空間位置是一致的,在此基礎上,對路網屬性進行更新、賦值。路網屬性更新包括專用屬性項的屬性更新和CHANGTYPE字段賦值(如圖2)。

圖2 路網屬性更新解析圖

4.1 專用屬性項的屬性更新

路網數據的圖形更新后,N_LRDL層與UV_LRDL層各相關要素的圖形是完全一致的,因此在N_LRDL層專用屬性項的字段更新中,只要對UV_LRDL層字段CHANGEATT值進行分析。如果UV_LRDL層字段CHANGEATT值為缺省值時,則N_LRDL層要素屬性保留本底,不進行重新賦值;如果UV_LRDL層字段CHANGEATT值記錄了要素屬性變化后各字段名稱,則N_LRDL各要素變化的屬性值按照UV_LRDL層字段CHANGEATT記錄的字段名稱中的屬性值進行更新,同時將UV_LRDL層字段CHANGEATT記錄的字段名稱,完整拷貝到N_LRDL層字段CHANGEATT中。

4.2 CHANGETYPE字段賦值

CHANGETYPE值的賦值是與本底數據中路網數據層的要素圖形進行比對,根據要素唯一碼(FEATID值)結合線段長度進行賦值。

在程序自動化更新設計中,按照這一特性對變化的要素進行賦值。其軟件編程設計原理如下:(1)N_LRDL層要素與本底數據比對,FEATID值在本底數據中無法搜索到相同值時,則CHANGETYPE值賦值為“2”,同時將數據建庫階段賦值的通用屬性項的值置空。(2)N_LRDL層中有多個一致的FEATID值,且線段的長度總和與本底數據中相同FEATID值的線段長度一致,則CHANGETYPE值賦值為“-1”。如果專有屬性項的值也發生了變化,則將變化的屬性項的名稱記錄在“CHANGEATT”字段中。(3)在N_LRDL層中有且只有一個FEATID值與本底數據中FEATID值一致且線段長度相等,如果專有屬性項的值發生變化,則CHANGETYPE值賦值為“0”,同時將變化的屬性項的名稱記錄在“CHANGEATT”字段中。(4)有且只有一條要素的FEATID值與本底數據中FEATID值一致但線段長度不相等,則CHANGETYPE值賦值為“1”。如果專有屬性項的值也發生了變化,則將變化的屬性項的名稱記錄在“CHANGEATT”字段中。(5)N_LRDL層中有多個一致的FEATID值,且其線段的長度總和與本底數據相同FEATID值的線段長度不一致,則CHANGETYPE值賦值為“1”。如果專有屬性項的值也發生了變化,則將變化的屬性項的名稱記錄在“CHANGEATT”字段中。

5 程序化更新流程設計與實現

5.1 程序快速更新流程設計

路網數據更新包括圖形、屬性更新。通過上述分析,除極少部分需人工處理的圖形外,其余均可通過開發軟件進行快速、程序化處理??紤]到人工處理的圖形較少,在路網數據更新流程設計中,利用編程對圖形、屬性進行更新后,通過人機交互的方式對部分無法利用程序處理的圖形進行更新。路網數據更新流程如圖3。

圖3 路網數據更新流程圖

5.2 程序界面設計

程序運行界面設計包括數據輸入輸出欄、參數設置欄及運行情況欄等。其中輸入輸出欄包括未分區數據成果、多個分區數據成果調入及成果輸出等功能;參數設置欄包括分區數據集前綴的設置、處理UV_LRRL及只處理道路降級等功能。軟件運行界面設置如圖4。

圖4 軟件運行界面及運行情況圖

5.3 程序化更新的實現

路網數據程序化更新,是應用C#與Arc Engine組件式GIS軟件平臺,調用Arc Engine的Carto、Controls Cisplay、GeoDatabase、Geometry等組件實現系統的開發[4]。本文給出部分代碼如下:

//創建目標數據集

IEnumDataset targetEnumDataset = resultWp.get_Datasets(ESRI.ArcGIS.Geodatabase.esriDatasetType.esriDTAny);

IDataset targetDataset = targetEnumDataset.Next();

while (targetDataset != null)

{

if (targetDataset is IFeatureDataset)

{

if (usedDataset.ContainsKey(targetDataset.Name))

{

usedDataset.Remove(targetDataset.Name);

}

}

targetDataset = targetEnumDataset.Next();

}

foreach (string c_name in usedDataset.Keys)

{

IFeatureDataset fd = usedDataset[c_name] as IFeatureDataset;

ac.createDataset(fd, resultWp);

}

5.4 程序運行情況及更新結果

程序化更新部分成果如圖5。圖中實線部分為2020年路網數據對道路編碼和名稱進行了更新,虛線部分為新增的兩條道路。經檢核,程序對2019年本底數據更新,N_LRDL和UV_LRDL層要素的圖形、要素屬性值一致,符合技術設計、軟件設計要求。

圖5 快速更新部分成果圖

6 結語

本文基于ArcGIS的二次開發的基礎上,采用C#和Arc Engine開發環境進行編程,實現路網數據提取快速、自動化批量處理,改變了圖形、屬性更新人機交互作業、人工檢查模式,極大提高了工作效率,已在福建省測繪院地理國情監測項目中得到應用。

在歷年數據檢測中,仍有極少部分的圖形替換無法程序化批量處理,需要人機交互方式完成,此問題的解決方法,目前仍在研究中。

猜你喜歡
賦值路網線段
云南智慧高速路網綜合運營管控平臺建設實踐
基于多源異構大數據融合技術的路網運行監測預警平臺
寧夏高速公路路網“最強大腦”上線
畫出線段圖來比較
怎樣畫線段圖
數線段
打著“飛的”去上班 城市空中交通路網還有多遠
算法框圖問題中的易錯點
抽象函數難度降 巧用賦值來幫忙
利用賦值法解決抽象函數相關問題オ
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合