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

        ?

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

        2016-09-08 02:11:46雄,李宇,陳
        測繪通報(bào) 2016年8期
        關(guān)鍵詞:邊界線端點(diǎn)測繪

        劉 雄,李 宇,陳 剛

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

        ?

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

        劉雄,李宇,陳剛

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

        由于客觀條件所限或?yàn)榱颂岣吖ぷ餍剩€狀矢量數(shù)據(jù)的采集通常采用分人員分區(qū)域方法進(jìn)行采集,這導(dǎo)致后期數(shù)據(jù)接邊工作繁瑣且容易出錯。為提高線狀數(shù)據(jù)接邊效率和質(zhì)量,本文基于Arcpy編寫了幾何自動接邊和屬性檢查Python腳本工具,實(shí)現(xiàn)了線狀矢量數(shù)據(jù)自動匹配功能并能提示對應(yīng)不一致屬性,提高了接邊效率和成果質(zhì)量,減輕了工作人員工作強(qiáng)度。在第一次全國地理國情普查中的應(yīng)用驗(yàn)證了方法的可靠性。

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

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

        一、Arcpy站點(diǎn)包

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

        二、幾何接邊與屬性檢查

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

        1. 幾何接邊

        幾何接邊不僅要求接邊數(shù)據(jù)端點(diǎn)位于接邊界線上,而且對應(yīng)數(shù)據(jù)端點(diǎn)位置小于容差。因此,在實(shí)現(xiàn)幾何接邊過程中,需要同時(shí)處理以上兩個(gè)問題。

        (1) 接邊數(shù)據(jù)預(yù)處理

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

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

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

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

        (2) 獲取待接邊點(diǎn)列

        通過上述操作完成了數(shù)據(jù)預(yù)處理。由于直接操作線要素會比較麻煩,因此本文采用操作點(diǎn)的方式實(shí)現(xiàn)對線要素進(jìn)行操作[10]。

        為了獲取邊界線上的點(diǎn)列,首先需要將線要素進(jìn)行“要素折點(diǎn)轉(zhuǎn)點(diǎn)”操作,將獲取的點(diǎn)要素類與邊界線進(jìn)行相交處理,獲取的點(diǎn)要素類即為接邊數(shù)據(jù)邊界點(diǎn)列,調(diào)用語句分別為:

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

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

        其中,in_features為經(jīng)過預(yù)處理后的待接邊數(shù)據(jù);Edge_features為接邊邊界線。

        (3) 自動匹配序?qū)?/p>

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

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

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

        (4) 生成鏈接文件

        利用已經(jīng)經(jīng)過“近鄰分析”處理的數(shù)據(jù),生成鏈接文件。

        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) 幾何接邊

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

        2. 屬性檢查

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

        arcpy.CreateFeatureclass_management(out_path,out_name,"POINT","","","",mySRef)其中,out_path為創(chuàng)建點(diǎn)要素類輸出位置;out_name為要素類名稱;mySRef為輸出要素?cái)?shù)據(jù)集的空間參考。

        圖1 幾何接邊流程

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

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

        圖2 4種接邊方向情況

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

        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要素在邊界上的端點(diǎn)坐標(biāo);AID、BID表示A、B要素的ID;AEndP、BEndP表示終點(diǎn)要素幾何位置和屬性列;search_radius為給定的匹配容差。

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

        三、實(shí)例利用

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

        圖3 屬性檢查流程

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

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

        圖5 屬性檢查定位點(diǎn)屬性表

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

        四、結(jié)束語

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

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

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

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

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

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

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

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

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

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

        [10]周順平,張江東,左澤均.線要素任意范圍接邊算法的設(shè)計(jì)與實(shí)現(xiàn)[J].測繪科學(xué),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—),男,碩士,主要研究方向?yàn)榫芄こ虦y量與變形監(jiān)測。E-mail:cugliuxiong@163.com

        P208

        B

        0494-0911(2016)08-0114-04

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

        猜你喜歡
        邊界線端點(diǎn)測繪
        弟弟尿床了
        非特征端點(diǎn)條件下PM函數(shù)的迭代根
        浙江省第一測繪院
        不等式求解過程中端點(diǎn)的確定
        工程測繪中GNSS測繪技術(shù)的應(yīng)用
        “邊界線”風(fēng)波
        “邊界線”風(fēng)波
        神奇的邊界線:一不留神就出國
        智慧少年(2017年8期)2018-01-10 21:39:12
        04 無人機(jī)測繪應(yīng)用創(chuàng)新受青睞
        參數(shù)型Marcinkiewicz積分算子及其交換子的加權(quán)端點(diǎn)估計(jì)
        亚洲女厕偷拍一区二区| 久久精品国产亚洲精品| 日本视频中文字幕一区在线| 亚洲成av人无码免费观看| 日本成年少妇人妻中文字幕| 一区二区三区日本伦理| 久久精品无码一区二区日韩av | 国产成人精品综合在线观看| 草草网站影院白丝内射| 成人特黄特色毛片免费看| 亚洲精品一区二在线观看| 国产精品女老熟女一区二区久久夜| 国精品午夜福利视频不卡| 99精品视频在线观看免费| 丁香九月综合激情| 日韩精品一区二区亚洲专区| 性人久久久久| 午夜福利院电影| 欧美国产日本精品一区二区三区 | 亚洲中文字幕无码中文字| 色爱区综合五月激情| 日韩精品欧美激情国产一区| 国产农村妇女毛片精品久久麻豆| 久久午夜精品人妻一区二区三区| 亚洲精品www久久久| 欧美视频第一页| 狼人av在线免费观看| 亚洲自拍偷拍色图综合| 色诱视频在线观看| 丰满人妻无奈张开双腿av| 美女精品国产一区二区三区| 日本一区二区三区经典视频| 日本动漫瀑乳h动漫啪啪免费| 欧美黑人又粗又硬xxxxx喷水| 久久亚洲午夜牛牛影视| 亚洲av成人波多野一区二区| 亚洲精品久久国产精品| 少妇饥渴偷公乱a级无码| 在线国产视频精品视频| 最好的99精品色视频大全在线| 亚洲色一区二区三区四区|