殷 俊,黃宗維
(廣西國(guó)土測(cè)繪院,廣西 南寧 530023)
?
基于ArcGIS的道路中心線自動(dòng)提取方法*
殷俊,黃宗維
(廣西國(guó)土測(cè)繪院,廣西 南寧530023)
摘要:以柳州基礎(chǔ)地理數(shù)據(jù)庫(kù)道路中心線的提取為例,對(duì)比利用ArcGIS生成道路中心線的兩種方法,在此基礎(chǔ)上提出了基于ArcScan工具與ArcEngine二次開(kāi)發(fā)相結(jié)合自動(dòng)提取道路中心線的方法。結(jié)果表明,該方法可提高效率和準(zhǔn)確度。
關(guān)鍵詞:地理數(shù)據(jù)庫(kù);道路面;道路中心線;ArcGIS
0引言
城市是中國(guó)經(jīng)濟(jì)發(fā)展最活躍、信息化程度較高、人口居住集中、社會(huì)管理難度較大的區(qū)域。從1998年美國(guó)副總統(tǒng)戈?duì)柺状翁岢觥皵?shù)字地球”之后,我國(guó)也相繼提出了“數(shù)字中國(guó)”、 “數(shù)字省區(qū)”、“數(shù)字城市”等概念并且已開(kāi)始實(shí)施。國(guó)家測(cè)繪局在“數(shù)字區(qū)域”建設(shè)的基礎(chǔ)上,面向全國(guó)遴選出部分城市進(jìn)行“數(shù)字城市”地理空間基礎(chǔ)框架建設(shè)試點(diǎn),目前已有多個(gè)城市先后建成了城市地理空間基礎(chǔ)框架[1]。2008年柳州市被國(guó)家測(cè)繪地理信息局正式批復(fù)為第三批數(shù)字城市地理空間框架建設(shè)試點(diǎn)城市。
道路是城市的主要基礎(chǔ)設(shè)施,道路信息的快速獲取與更新對(duì)于數(shù)字城市的建設(shè)具有重要意義[2]。為此,本文在分析ArcGIS生成中心線的方法后,提出了一種利用ArcScan工具與ArcEngine二次開(kāi)發(fā)相結(jié)合提取道路中心線的方法。
1主要思路
ArcGIS Desktop是對(duì)地理信息進(jìn)行創(chuàng)建、編輯以及分析的GIS軟件,它提供了一系列的工具用于數(shù)據(jù)采集和管理、可視化、空間建模和分析、以及高級(jí)制圖。ArcGIS Engine是隨ArcGIS 9系列軟件一起推出的一種新的開(kāi)發(fā)產(chǎn)品,它是基于ArcObject構(gòu)建的,借助它進(jìn)行GIS應(yīng)用開(kāi)發(fā)時(shí)能徹底擺脫ArcGIS桌面平臺(tái),提高開(kāi)發(fā)效率,為用戶提供了一個(gè)低成本的、特定的、輕量級(jí)的GIS應(yīng)用選擇[3]。
當(dāng)前使用ArcGIS Desktop提取道路中心線主要有兩種方法:一種是使用CollapseDualLineToCenterline工具進(jìn)行提取[4];另一種是利用ArcScan工具進(jìn)行生成。第一種方法首先把面要素轉(zhuǎn)化為線要素,然后把線要素兩端封口刪除,最后使用Arctoolbox→Data Management Tools→Generalization→CollapseDualLineToCenterline工具處理。該方法對(duì)于規(guī)則的平行線生成中心線比較理想,但是在處理基礎(chǔ)地理數(shù)據(jù)庫(kù)中復(fù)雜的道路數(shù)據(jù)時(shí),大多數(shù)情況需要對(duì)其進(jìn)行人工編輯,工作量非常大。
ArcScan是ArcGIS Desktop套件的附加組件,它提供了一些工具可用來(lái)將柵格數(shù)據(jù)轉(zhuǎn)化為矢量的要素圖層。第二種方法首先把矢量道路面要素轉(zhuǎn)為柵格要素,然后利用Reclassify工具對(duì)柵格數(shù)據(jù)進(jìn)行二值化,最后使用ArcScan工具中的GenerateFeatureinsideArea功能自動(dòng)生成道路中心線。此方法生成的道路中心線很真實(shí)美觀,線上的節(jié)點(diǎn)不需要做修改,存在的主要問(wèn)題是中心線不會(huì)根據(jù)道路交叉處打斷,而且柵格化過(guò)程中會(huì)產(chǎn)生一些噪點(diǎn),這些噪點(diǎn)會(huì)自動(dòng)產(chǎn)生實(shí)際不存在的中心線,后期人工檢查和修改工作量較大。
上述兩種方法均可部分完成從道路面到道路中心線的轉(zhuǎn)化,但是人工干預(yù)較多,效率不高,無(wú)法滿足實(shí)際工作需要。結(jié)合兩種方法的優(yōu)勢(shì)和劣勢(shì),本文采用ArcScan工具與ArcEngine二次開(kāi)發(fā)結(jié)合的方法來(lái)實(shí)現(xiàn)。具體處理流程,見(jiàn)圖1。
圖1 自動(dòng)生成道路中心線流程Fig.1 The flowchart of automatic extraction of road centerline
2處理流程
本實(shí)驗(yàn)數(shù)據(jù)使用數(shù)字柳州基礎(chǔ)地理數(shù)據(jù)庫(kù)中的道路面要素類,實(shí)驗(yàn)數(shù)據(jù)中的道路面要素包括多岔路口、多層立交橋等地物。
2.1道路面要素類轉(zhuǎn)化為柵格要素類
使用ArcGIS軟件工具箱中Polypon to Raster工具,把道路面要素類轉(zhuǎn)化為道路面柵格要素類。
2.2柵格要素類二值化處理
設(shè)置柵格要素類渲染方式為Classified,將類別劃分為兩類:一類是白色,一類是黑色,通過(guò)對(duì)道路面柵格要素類作二值化處理,得到道路面二值化柵格要素類。
2.3柵格要素類生成道路中心線要素
ArcScan支持兩種矢量方法,分別是中心線矢量化方法和輪廓矢量化方法,本文采用中心線矢量化方法,使用ArcScan的Generate Feature功能沿著柵格線性元素的中心生成矢量道路中心線要素。
2.4道路中心線后處理
道路中心線后處理采用ArcEngine二次開(kāi)發(fā)工具(見(jiàn)圖2),只需選擇數(shù)據(jù)庫(kù)中道路面要素類和已生成的道路中心線要素類路徑,點(diǎn)擊處理按鈕即可自動(dòng)化處理。
圖2 ArcEngine二次開(kāi)發(fā)工具界面Fig.2 Second development interface of ArcEngine
2.4.1在不同道路交匯處打斷道路中心線要素
自動(dòng)矢量化生成的道路中心線不能識(shí)別道路分段位置(見(jiàn)圖3),中心線貫穿了面P1和面P2,采用道路面要素的范圍打斷道路中心線,得到與道路面范圍一致的道路中心線。
圖3 打斷線處理前后效果對(duì)比Fig.3 Comparison of breaking line
2.4.2刪除不在道路面范圍內(nèi)的懸掛線和懸掛點(diǎn)
矢量要素類轉(zhuǎn)化到柵格要素類的過(guò)程中容易產(chǎn)生噪點(diǎn),由面積較大的噪點(diǎn)生成的道路中心線和懸掛點(diǎn)都是錯(cuò)誤的,因此本步驟進(jìn)行懸掛線、懸掛點(diǎn)刪除(見(jiàn)圖4)。
圖4 刪除懸掛線前后效果對(duì)比Fig.4 Comparison of deleting suspension line
2.4.3合并每個(gè)道路面要素內(nèi)的中心線要素
道路中心線要素類與道路面要素類進(jìn)行相交分析,對(duì)道路面要素范圍內(nèi)存在的多條零散道路中心線進(jìn)行合并處理,合并原則采用長(zhǎng)度占優(yōu)法,即超出面范圍的線長(zhǎng)度如果大于該線長(zhǎng)度一半則合并,否則不合并(見(jiàn)圖5),搜索與道路面P1相交有L1和L2兩條中心線,其中L1由落在道路面P1內(nèi)的L3和落在道路面P2內(nèi)的L4組成,判斷如果L3長(zhǎng)度大于L4長(zhǎng)度,則對(duì)中心線L1與L2進(jìn)行合并,否則不合并。
圖5 合并道路中心線Fig.5 Merge of road centerline
關(guān)鍵代碼如下:
while((pThisLineFea = plineFeaCursor.NextFeature())!= null)
{
IGeometry pTopoGeo = pThisLineFea.ShapeCopy;
pTopoGeo.SpatialReference =(pFeature.Shape as IGeometry).SpatialReference;
IGeometry pClipGeo =(pTopoGeo as ITopologicalOperator).Intersect(pFeature.Shape,esriGeometryDimension.esriGeometry1Dimension);
IPolyline pLine = pClipGeo as IPolyline;
double pMidLength = Math.Abs((pThisLineFea.Shape as IPolyline).Length / 2);
if(pLine.Length < pMidLength)//判斷是否長(zhǎng)度占優(yōu),占優(yōu)則合并
{
continue;
}
pSaveGeo.SpatialReference =(pThisLineFea.ShapeCopy).SpatialReference;
ITopologicalOperator pGoodTopo = pSaveGeo as ITopologicalOperator;
pSaveGeo = pGoodTopo.Union(pThisLineFea.ShapeCopy);
pThisLineFea.Delete();
}
2.4.4道路中心線屬性賦值
上述生成的道路中心線沒(méi)有屬性信息,在數(shù)字城市基礎(chǔ)地理數(shù)據(jù)庫(kù)建設(shè)中,屬性信息是地理實(shí)體重要的組成部分。此步驟將道路中心線要素類與道路面要素類進(jìn)行相交分析,把道路面要素的名稱、線路編號(hào)、技術(shù)等級(jí)等屬性字段值自動(dòng)賦值到道路中心線要素對(duì)應(yīng)的字段上。
最終生成的道路中心線,見(jiàn)圖6。
圖6 自動(dòng)生成道路中心線效果圖Fig.6 Automatic extraction of road centerline
3結(jié)束語(yǔ)
基礎(chǔ)地理數(shù)據(jù)庫(kù)建設(shè)是一項(xiàng)龐大而又復(fù)雜的工作。本文首先總結(jié)了現(xiàn)有生成道路中心線的方法,并指出這些方法的局限性,接著提出使用ArcScan和ArcEngine二次開(kāi)發(fā)相結(jié)合實(shí)現(xiàn)自動(dòng)提取道路中心線的方法,最后用實(shí)驗(yàn)驗(yàn)證了本文提出方法的可行性。結(jié)果表明:利用該方法不僅能提高道路中心線的提取效率和準(zhǔn)確度,而且僅需少量人工干預(yù)即可實(shí)現(xiàn)自動(dòng)提取。
[參考文獻(xiàn)]
[1]曹建成.城市基礎(chǔ)地理信息數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)[J].測(cè)繪與空間地理信息,2010(2):55-58.
[2]彭檢貴,馬洪超,高廣,等.利用機(jī)載LiDAR點(diǎn)云數(shù)據(jù)提取城區(qū)道路[J].測(cè)繪通報(bào),2012(9):16-19.
[3]吳瑋,李小帥,張斌.基于ArcGIS Engine的GIS開(kāi)發(fā)技術(shù)探討[J].科學(xué)技術(shù)與工程,2006,6(2):176-178.
[4]馬健梅.ArcGIS下的道路多邊形采集方法[J].西安科技大學(xué)學(xué)報(bào),2009,29(2):205-208.
Automatic Extraction of Road Centerline Based on ArcGIS
YIN Jun,HUANG Zong-wei
(GuangxiInstituteofLand&SurveyingandMapping,NanningGuangxi530023,China)
Abstract:The aim of this study is to create Liuzhou Fundamental Geodatabase by using road centerline data.By comparing the two methods of using ArcGIS to generate the road centerline,a method of automatic extraction of the road centerline based on the combination of ArcScan tool and ArcEngine second development was presented.The test results showed that the method can improve the efficiency and accuracy.
Key words:geodatabase;road polygon;road centerline;ArcGIS
作者簡(jiǎn)介:殷俊(1988~),男,廣西桂林人,學(xué)士,助理工程師,現(xiàn)主要從事GIS數(shù)據(jù)應(yīng)用及無(wú)人機(jī)數(shù)據(jù)處理方面的工作。
中圖分類號(hào):P 208
文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1007-9394(2016)01-0040-03
收稿日期:2015-12-28
地礦測(cè)繪2016,32(1):40~42
CN 53-1124/TDISSN 1007-9394
Surveying and Mapping of Geology and Mineral Resources