999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Arcpy支持下的線要素幾何自動接邊與屬性檢查

2016-09-08 02:11:46雄,李宇,陳
測繪通報 2016年8期
關鍵詞:測繪

劉 雄,李 宇,陳 剛

(中國地質大學(武漢)信息工程學院,湖北 武漢 430074)

?

Arcpy支持下的線要素幾何自動接邊與屬性檢查

劉雄,李宇,陳剛

(中國地質大學(武漢)信息工程學院,湖北 武漢 430074)

由于客觀條件所限或為了提高工作效率,線狀矢量數據的采集通常采用分人員分區域方法進行采集,這導致后期數據接邊工作繁瑣且容易出錯。為提高線狀數據接邊效率和質量,本文基于Arcpy編寫了幾何自動接邊和屬性檢查Python腳本工具,實現了線狀矢量數據自動匹配功能并能提示對應不一致屬性,提高了接邊效率和成果質量,減輕了工作人員工作強度。在第一次全國地理國情普查中的應用驗證了方法的可靠性。

Arcpy;自動匹配;幾何接邊;屬性檢查;地理國情

線狀矢量數據的生產常采用分幅分區域生產,因此容易造成跨圖幅的線狀要素的斷裂[1],而且容易導致線狀數據很難在幾何上完全對應[2],屬性也可能存在差異。因此,生產的數據需要進行后期處理,常規數據處理辦法是通過人工手動對幾何位置進行調整,保證位置對應,然后逐屬性進行比對以確保屬性一致。對于一些數據接邊,不僅要求兩邊數據對應位置、屬性一致,而且還要求兩邊數據同時處于接邊邊界上,這就要求工作人員非常耐心,對數據進行反復調整、檢查,以保證接邊成果質量。針對接邊常見問題,本文基于ArcGIS中的Arcpy,進行Python腳本工具編寫,實現數據自動幾何接邊,而且生成屬性不一致定位矢量數據以便工作人員進行屬性檢查。由于腳本工具充分利用ArcGIS已有的分析工具,因此易于實現。工具在第一次全國地理國情普查中得到了實際應用。

一、Arcpy站點包

Python作為一種通用的開源編程語言,易于學習和使用,在ArcGIS地理處理中用作腳本語言[3]。而ArcGIS中Arcpy站點包,是為以實用高效的方式通過Python執行地理數據分析、數據轉換、數據管理和地圖自動化創建基礎[4]。基于Arcpy編寫Python腳本工具可以充分利用ArcGIS已有的分析工具,大大減小程序編寫難度,同時也提高了運行效率[5]。

二、幾何接邊與屬性檢查

一般情況下數據接邊包括幾何位置對應一致和各字段屬性一致。幾何接邊要求包括:①待接邊數據在一定容差范圍內處于接邊界線上;②待接邊數據幾何位置差值不超過容差[6-9]。完成幾何接邊之后,進行屬性檢查,即對數據進行屬性一致性判斷。在獲取待接邊數據屬性后,逐一對各屬性進行比對,對屬性不一致要素生成定位文件,并記錄不一致屬性內容。

1. 幾何接邊

幾何接邊不僅要求接邊數據端點位于接邊界線上,而且對應數據端點位置小于容差。因此,在實現幾何接邊過程中,需要同時處理以上兩個問題。

(1) 接邊數據預處理

由于工作人員操作或其他原因,本該位于接邊界線上的數據可能不是嚴格位于邊界線上,出現如過伸線、未及線現象。因此在進行數據接邊前需要對數據進行預處理,使本應該在邊界線上的要素嚴格位于邊界上。利用ArcGIS中已有的“修剪線”和“延伸線”工具完成數據預處理。對應Python語句如下:

arcpy.TrimLine_edit(in_features,myDistance,"DELETE_SHORT")

arcpy.ExtendLine_edit(in_features,myDistance,"FEATURE")

其中,in_features為待預處理的接邊數據;myDistance為用戶給定的修剪、延伸范圍值。

(2) 獲取待接邊點列

通過上述操作完成了數據預處理。由于直接操作線要素會比較麻煩,因此本文采用操作點的方式實現對線要素進行操作[10]。

為了獲取邊界線上的點列,首先需要將線要素進行“要素折點轉點”操作,將獲取的點要素類與邊界線進行相交處理,獲取的點要素類即為接邊數據邊界點列,調用語句分別為:

arcpy.FeatureVerticesToPoints_management(in_features,point_features,"BOTH_ENDS")

arcpy.Intersect_analysis([point_features,Edge_features],Ipoint_features,"ALL")

其中,in_features為經過預處理后的待接邊數據;Edge_features為接邊邊界線。

(3) 自動匹配序對

由于待接邊數據都有實際的現實意義,因此,在對待接邊數據進行點列匹配時,按照距離最近進行匹配是可行的。通過調用“近鄰分析”對數據進行自動匹配并生成“空間校正”所需的鏈接文件,其具體調用語句如下:

arcpy.Near_analysis(Apoint_features,Bpoint_features,search_radius,"LOCATION","NO_ANGLE")

數據A和B為待接邊數據,其中Apoint_features為待接邊數據A在邊界線上的點列,Bpoint_features為待接邊數據B在邊界線上的點列,search_radius為指定用于搜索候選鄰近要素的半徑。

(4) 生成鏈接文件

利用已經經過“近鄰分析”處理的數據,生成鏈接文件。

DataRow=[]

for row in arcpy.da.SearchCursor(Apoint_features,["SHAPE@XY","NEAR_DIST","NEAR_X","NEAR_Y"]):

DataRow.append(row)

output=open('ListData.txt′,′w′)

i=1

for row in DataRow:

if row[1]>0:

gx,gy=row[0]

sx=row[2]

sy=row[3]

StrData=str(i)+′ ′+str(gx)+′ ′+str(gy)+′ ′+str(sx)+′ ′+str(sy)+′ ′

output.writelines(StrData)

i=i+1

output.close()

(5) 幾何接邊

對生成的鏈接文件,利用空間校正工具,完成幾何接邊。幾何接邊詳細步驟如圖1所示。

2. 屬性檢查

對于上述已經完成幾何接邊的數據,需要對各接邊屬性進行比對,保證屬性一致性。為了便于用戶能夠快速了解到各字段不一致屬性,本文在屬性判斷的同時生成定位點。創建點要素類語句如下:

arcpy.CreateFeatureclass_management(out_path,out_name,"POINT","","","",mySRef)其中,out_path為創建點要素類輸出位置;out_name為要素類名稱;mySRef為輸出要素數據集的空間參考。

圖1 幾何接邊流程

為了便于操作,本文采用端點代替線要素的方法進行檢查。與上述幾何接邊一樣,利用“要素折點轉點”獲取線要素端點,將獲取的端點與邊界線進行相交處理,獲取邊界線上的點列代替線要素。然后按照一定容差對兩邊點列進行匹配,并對屬性字段進行逐一比對,輸出屬性不一致字段。

由于部分數據不僅要求屬性字段一致,而且線條方向也要一致,如水系線,這就需要對接邊數據方向進行判斷,本文采用的方式是將獲取的線要素終點與上面獲取邊界線上的端點進行位置比對,以確定方向一致性。線要素方向存在4種可能,如圖2所示。

圖2 4種接邊方向情況

圖2中,箭頭和深灰點表示終點,淺灰點表示接邊線上的端點,豎向線條表示接邊界線。對圖2(b)(c)(d)中終點進行了位置挪動,以便繪制。上述4種情況中,(b)、(d)表示方向一致,(a)、(c)表示方向不一致。對應腳本語句如下:

def GetDirection(AEndP,BEndP,AID,BID,AXY,BXY,search_radius):

i=1

j=1

for row in AEndP:

if row[1]==AID:

ax,ay=row[0]

x,y=AXY

if (math.sqrt((ax-x)**2+(ay-y)**2)>search_radius):

i=-1

break

for row in BEndP:

if row[1]==BID:

bx,by=row[0]

x,y=BXY

if(math.sqrt((bx-x)**2+(by-y)**2)>search_radius):

j=-1

break

myDirection=True #方向一致

if i*j==1:

myDirection=False #方向不一致

return myDirection

其中,AXY、BXY分別表示A、B要素在邊界上的端點坐標;AID、BID表示A、B要素的ID;AEndP、BEndP表示終點要素幾何位置和屬性列;search_radius為給定的匹配容差。

屬性檢查的具體流程如圖3所示。

三、實例利用

本文利用湖北省某相鄰兩縣第一次國情普查HYDL數據作測試。該兩縣數據由不同生產單位進行生產采集。HYDL層數據涉及屬性要素較多,而且需要保持水流流向一致,因此具有較好的試驗價值。

圖3 屬性檢查流程

圖4(a)為未經處理數據,其中粗線表示兩縣接邊邊界線即縣界,從圖中可知,數據除了對應位置錯位,部分數據還存在未及線和過伸線問題。圖4(b)數據經過幾何接邊處理,數據不僅都在邊界線上,而且也解決了錯位問題及幾何接邊問題。圖4(c)是進行屬性檢查處理,其中圓點為生成的屬性問題定位點,各點對應的屬性問題記錄如圖5屬性表所示。從圖5中可以很明確地得知問題類型和各字段屬性不一致內容,且可以便捷地輔助工作人員對屬性進行修改。

圖4 幾何接邊與屬性檢查成果

圖5 屬性檢查定位點屬性表

通過圖4、圖5可知,利用幾何接邊可以很便捷地處理接邊中存在的絕大部分問題,而屬性檢查則極大地幫助用戶進行數據修改、檢查,能夠較好地解決接邊中的問題。

四、結束語

本文針對傳統手動接邊的缺陷,利用ArcGIS中的Arcpy站點包進行幾何接邊和屬性檢查腳本工具編寫,較大程度上減輕了工作人員的工作量,同時也提高了工作效率和成果質量。在第一次地理國情普查中的應用則驗證了方法的可靠性,有較好的實際應用價值。另外,文中所涉及工具大部分以ArcGIS中自帶分析工具為主,容易實現,可以為其他單位提供參考。

[1]蔣勇,劉江,黃功文.基于ArcGIS Engine的IPointCollection接邊檢查法的研究[J].測繪與空間地理信息,2014,37(11):124-125.

[2]朱欣焰,張建超,李德仁.無縫空間數據庫的概念、實現與問題研究[J].武漢大學學報(信息科學版),2002,27(4):382-386.

[3]余詠勝,彭艷麗,尹言軍.基于Arcpy的影像地圖自動處理技術研究[J].測繪通報,2015(3):82-84.

[4]牟乃夏,劉文寶,王海銀,等.ArcGIS 10地理信息系統教程——從初學到精通[M].北京:測繪出版社,2012.

[5]辛兵廠,王來強,張朝坤.淺談Python在地理國情普查數據處理中的應用[J].測繪與空間地理信息,2014, 37(6):108-110.

[6]費小睿,陳玉娜.大比例尺地形圖自動接邊檢查的實現[J].城市勘測,2015(1):60-62.

[7]隋春光,范榮雙,尹連旺.數字海圖無縫拼接方法研究[J].武漢大學學報(信息科學版),2005,30(3):278-281.

[8]吳銘杰. 基于AutoCAD擴展實體數據的地形圖接邊功能的實現[J].測繪與空間地理信息, 2013,36(5):158-159.

[9]劉允,劉陽,楊釗.大比例尺地形圖數據接邊程序設計與實現[J].城市勘測, 2012(1): 65-67.

[10]周順平,張江東,左澤均.線要素任意范圍接邊算法的設計與實現[J].測繪科學,2012,37(5):20-22.

Automatic Edge Matching and Attribute Checking of Line Features Based on Arcpy

LIU Xiong,LI Yu,CHEN Gang

10.13474/j.cnki.11-2246.2016.0271.

2016-02-23

劉雄(1991—),男,碩士,主要研究方向為精密工程測量與變形監測。E-mail:cugliuxiong@163.com

P208

B

0494-0911(2016)08-0114-04

引文格式:劉雄,李宇,陳剛.Arcpy支持下的線要素幾何自動接邊與屬性檢查[J].測繪通報,2016(8):114-117.

猜你喜歡
測繪
常州市測繪院
城市勘測(2023年5期)2023-11-03 01:32:36
新型基礎測繪探索
經緯天地(2021年5期)2021-12-27 02:32:28
浙江省第一測繪院
工程測繪中GNSS測繪技術的應用
測繪新技術在測繪工程中的應用
江西建材(2018年4期)2018-04-10 12:37:38
04 無人機測繪應用創新受青睞
無人機在地形測繪中的應用
電子制作(2017年9期)2017-04-17 03:01:00
測繪簡史
衛星與網絡(2015年5期)2015-12-20 09:07:37
測繪簡史
遙感測繪技術在測繪工作中的應用探討
河南科技(2014年1期)2014-02-27 14:04:09
主站蜘蛛池模板: 嫩草国产在线| 亚洲人成网站在线播放2019| 亚洲天堂日韩在线| 国产精品嫩草影院av| 免费又黄又爽又猛大片午夜| 一本色道久久88| 久久这里只精品国产99热8| 在线综合亚洲欧美网站| 日本人又色又爽的视频| 婷婷久久综合九色综合88| 色综合成人| 久久人妻xunleige无码| 亚洲色无码专线精品观看| 国产成人亚洲欧美激情| 欧美精品导航| 91精品国产91欠久久久久| 欧美性精品不卡在线观看| 91在线无码精品秘九色APP| 少妇精品久久久一区二区三区| 99精品国产自在现线观看| 97一区二区在线播放| 九九热在线视频| 麻豆精品久久久久久久99蜜桃| 日本在线视频免费| 精品人妻一区无码视频| 中国一级特黄大片在线观看| 亚洲无码A视频在线| 亚洲国产欧美自拍| 91丝袜美腿高跟国产极品老师| 亚洲有码在线播放| 亚洲欧美日韩动漫| 免费高清a毛片| 久久伊伊香蕉综合精品| 欧美精品影院| 国产微拍精品| 国产免费人成视频网| 亚洲av无码片一区二区三区| 精品伊人久久久久7777人| 午夜国产大片免费观看| 91网在线| 四虎影视国产精品| 亚洲无码视频喷水| 日韩视频免费| 国产拍在线| 婷婷亚洲综合五月天在线| 久久久久亚洲精品成人网| 久久久久久高潮白浆| 久久精品丝袜| 制服丝袜无码每日更新| 精品在线免费播放| 久久无码av三级| 国产又爽又黄无遮挡免费观看| 久夜色精品国产噜噜| 综合天天色| 精品欧美视频| 国产黄色爱视频| 亚洲九九视频| 一本无码在线观看| 中美日韩在线网免费毛片视频| 久久永久精品免费视频| 久久婷婷国产综合尤物精品| 露脸一二三区国语对白| 国产成人无码久久久久毛片| 久操中文在线| 亚洲国产精品久久久久秋霞影院 | 国产精品自拍露脸视频| 无码中文字幕乱码免费2| www.精品视频| 久久久久久久97| 啊嗯不日本网站| 国产理论精品| 国产无人区一区二区三区 | 欧美一级大片在线观看| 97视频免费在线观看| 亚洲综合专区| 538国产在线| 国产极品嫩模在线观看91| 国产免费黄| 亚洲欧美不卡中文字幕| 粉嫩国产白浆在线观看| 国产v欧美v日韩v综合精品| 久久精品中文字幕免费|