国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

AutoCAD提取權(quán)籍調(diào)查宗地四至的方法

2018-09-13 12:25李文林李東峰胡啟亮
現(xiàn)代測繪 2018年4期
關(guān)鍵詞:宗地界址方位角

李文林李東峰胡啟亮

(江蘇省地質(zhì)勘查技術(shù)院,江蘇 南京210008)

0 引 言

權(quán)籍調(diào)查中,宗地四至是對宗地相對位置關(guān)系的描述,只有保證宗地四至的準確性才能確保四至調(diào)查的準確性。若依靠手工完成宗地屬性錄入,工作效率低下,且錯誤率高[1]。用軟件自動提取四至可以彌補人工的不足,但費用較高,因此自主開發(fā)的錄入軟件成為大家的追求目標。

自主開發(fā)不僅可以節(jié)省軟件采購成本,而且符合自己的操作習慣,更能隨時進行修改以適應(yīng)不同需求。

在一些公開資料中不乏四至提取的實現(xiàn)方法,但大多是基于ArcGIS等GIS軟件的,對非專業(yè)的編程人員來說,難度較大。AutoCAD作為繪圖平臺,使用者眾多,基于此的開發(fā)卻不多見。采用易于學習的二次開發(fā)工具VBA,可以實現(xiàn)南方CASS所成圖形的宗地四至自動提取。

1 開發(fā)基礎(chǔ)

1.1 南方CASS及VBA簡介

南方CASS成圖軟件是在AutoCAD平臺上開發(fā)的應(yīng)用軟件,在測繪行業(yè)數(shù)字化測圖中使用廣泛。AutoCAD的二次開發(fā)工具,如 VBA、LISP、Object ARX等,同樣可以在CASS下使用。

VBA(Visual Basic for Application)是一種完全面向?qū)ο篌w系結(jié)構(gòu)的編程語言,嵌入在應(yīng)用程序中。它基于ActiveX Automation技術(shù),可以同任何Automation技術(shù)的應(yīng)用程序共同工作,如Microsoft Excel軟件。VBA集成開發(fā)環(huán)境非常友好,具有強大的界面設(shè)計,簡單易學,適合初學者使用。

選擇VBA作為開發(fā)工具,不僅是因為它具有與AutoCAD共享內(nèi)存空間、運行速度快等特點,更為重要得是,VBA程序不受AutoCAD版本影響,適用性較好,具有開發(fā)Microsoft Office套件的功能,交換數(shù)據(jù)方便[2]。

需要說明,AutoCAD從2010版本以后,安裝包里不再集成VBA環(huán)境,使用者需要另外安裝。

1.2 AutoCAD擴展屬性

AutoCAD的DWG圖形數(shù)據(jù)庫允許用戶在任何一個圖元的數(shù)據(jù)記錄中再加入一部分自定義信息,這就是擴展屬性XDATA。XDATA數(shù)據(jù)可以是字符串、實數(shù)、整數(shù)和實體句柄等,大小不超過16 K[3]。南方CASS將地物代碼等屬性存儲在XDATA中,通過擴展屬性拓展了繪圖功能。界址線擴展屬性如下:

*Registered Application Name:south

*Code 1000,ASCII string:300000

*Code 1000,ASCII string:2150100026

*Code 1000,ASCII string:周志強

*Code 1000,ASCII string:251

第一行為注冊的應(yīng)用名“south”;第二行為CASS地物編碼,這里300000是界址線的代碼;第三行為宗地號“2150100026”;第四行為權(quán)利人“周志強”;第五行為地類號“251”;Code 1000表示DXF組碼。

這些擴展屬性中,宗地號和權(quán)利人是形成四至的重要信息。掌握了CASS擴展屬性的存儲格式,就可以通過編程存取感興趣的屬性值。

1.3 擴展屬性存取

VBA提供了Set XData和Get XData的函數(shù)設(shè)置和返回擴展數(shù)據(jù)。通常擴展數(shù)據(jù)需要提供一個已經(jīng)注冊的應(yīng)用程序名稱作為不同程序之間的數(shù)據(jù)區(qū)分,如上文的“south”。

Get Xdata、Set Xdata函數(shù)如下:

object. Get XData App Name,XData Type,XData Value

object.Set XData XData Type,XData Value

函數(shù)當中,App Name為注冊的應(yīng)用名,XData-Type和XData Value是兩個變體數(shù)組,用來存放DXF組碼和屬性信息。

1.4 VBA與Office交互

VBA與Office交互需要先在VBA環(huán)境中引用相應(yīng)對象庫,即在VBAIDE中打開菜單,在彈出的引用對話框的列表中查詢要引用的應(yīng)用程序?qū)ο髱?,如選擇Microsoft Excel 12.0 Object Library,引用Excel2007。

再聲明并新建一個EXCEL.Application對象:

Dim xl App As Excel.Application

創(chuàng)建或獲取這個對象:

Set xl App=Get Object(,“Excel.Application”)

If Err Then

MsgBox“Excel應(yīng)用程序沒有運行。請啟動Excel并重新運行程序。”

Exit Sub

End If

聲明Excel工作簿并獲取當前活動工作表:

Dim xlSheet As Worksheet

Set xlSheet=xl App.ActiveSheet

以后就可以通過程序操作工作表了,如存取單元格數(shù)據(jù)。

2 四至讀取的方法

南方CASS成圖軟件將四至存儲在界址線的擴展屬性中,但沒有提供自動提取并賦值的功能。四至信息需要通過編輯宗地,手工輸入。

要實現(xiàn)四至的自動提取,就需要能搜索與本宗相鄰的宗地。資料介紹的方法基本是利用GIS軟件進行緩沖區(qū)分析判斷是否有宗地與之相鄰的,再通過計算兩個宗地重心連線方位角判斷鄰宗方位。這就需要將原始圖件轉(zhuǎn)換成GIS圖件。這不僅增加了作業(yè)環(huán)節(jié),還提高了電腦的軟硬件配置和對作業(yè)員技術(shù)水平的要求,相當于增加了項目成本。

AutoCAD只是一個圖形編輯平臺,空間分析能力不強,這是少有開發(fā)的原因之一。既然可以通過界址線的擴展屬性獲得宗地號和權(quán)利人信息,而相鄰宗地一般會有一段界址線重合,那么通過重合的界址線和界址線的方位角,就可以發(fā)現(xiàn)鄰宗并得出鄰宗方位。也就是說,不用空間分析也可獲取宗地位置關(guān)系。

編程思路如下:遍歷圖上所有宗地,對每一宗地遍歷每段界址線,如界址線位置還存在另一條界址線,則說明這里存在鄰宗,獲取鄰宗宗地號和權(quán)利人信息,同時計算該段界址線的方位角,根據(jù)方位角判斷鄰宗方位,最后將鄰宗信息輸出(圖1)。

圖1 四至輸出流程

獲取鄰宗問題的關(guān)鍵是找出重合的界址線。已知AutoCAD有多種方式選擇對象:點取方式、窗口方式、交叉選擇等。點取一次只能選擇一個對象,窗口選擇的是所畫矩形窗口內(nèi)部的所有對象,而交叉選擇能將與所畫矩形框相交及包含的所有對象選中。

以一段界址線的中點為中心,構(gòu)建一個微型矩形框,采用交叉選擇方式選擇該位置的所有線條。地物編碼為界址線編碼的對象個數(shù)如果大于1,說明存在重合的界址線。排除本宗界址線,剩下的則是鄰宗的。

交叉選擇函數(shù)如下:

object.Select acSelectionSetCrossing,Point1,Point2,F(xiàn)ilter Type,F(xiàn)ilter Data

Point1、Point2為構(gòu)成矩形的對角點坐標點列,F(xiàn)ilter Type和Filter Data是兩個變體數(shù)組,用于存放使用的過濾器類型的DXF組碼和過濾器的值。

遍歷宗地的方法是先建立過濾器,將所有宗地加入選擇集,然后遍歷選擇對象。遍歷界址線是計算宗地邊線相鄰節(jié)點坐標的中點。

3 方位判定

南方CASS中,繪制宗地時要求按順時針方向連接界址點,形成界址線。界址線為封閉多段線,構(gòu)成宗地。VBA可以獲取界址線的點列坐標,在每段界址線中點位置查找重合界址線,發(fā)現(xiàn)重合則計算該線段前進方向左側(cè)垂線方向的方位角,該方向即為指向鄰宗的方位角。界址線某頂點坐標為object.Coordinate(index),其中index為頂點陣列中需要查詢的頂點索引。

如下所示(圖2),方位角介于45°—135°之間判定為東至,135°—225°之間為南至,225°—315°之間為西至,315°—360°以及0°—45°之間為北至。

圖2 方位判定

4 存在的問題

依據(jù)上述思想編制的應(yīng)用程序,在多個農(nóng)村土地承包經(jīng)營權(quán)項目中得到較好應(yīng)用,將承包地塊四至等公示信息成功輸出到Excel電子表格當中,但相關(guān)程序尚存在完善之處。

(1)鄰宗信息在界址線重合的條件下,能夠正確輸出。四至為路、溝等情況的,因無重合界址線而輸出為空。這類四至變化并不頻繁,手工補充難度不大。

(2)隔路、埂、溝等無重合情況的鄰宗可以通過調(diào)整交叉選擇的微型矩形邊長處理。因為這種情況較少,本文未進行實驗。

(3)程序處理的是每段界址線,在界址線轉(zhuǎn)折多的情況下,局部方位與整體方位不一致,需要手工處理。

(4)界址線未按順時針繪制的四至方位會造成顛倒現(xiàn)象,需要通過加強圖形或檢查原始調(diào)查記錄予以消除。

5 結(jié) 語

生產(chǎn)工作中,經(jīng)常需要通過二次開發(fā)拓展軟件功能,提高工作效率。VBA開發(fā)工具內(nèi)嵌于很多軟件中,很好繼承了Basic和Visual Basic易學、易用的特點,通用性強,開發(fā)周期短,現(xiàn)階段仍具有生命力。在AutoCAD繪圖平臺下用VBA開發(fā),實現(xiàn)權(quán)籍調(diào)查宗地四至的自動提取,繪圖同時即可完成四至輸出,不需額外增加軟硬件成本,能夠極大提高工作效率和信息準確性,取得較好結(jié)果。

猜你喜歡
宗地界址方位角
農(nóng)村不動產(chǎn)測量中界址點、界址線屬性數(shù)據(jù)快速處理方法
考慮橋軸線方位角影響的曲線箱梁日照溫差效應(yīng)
CASS地籍圖中界址信息批量轉(zhuǎn)出方法研究
近地磁尾方位角流期間的場向電流增強
基于停車場ETC天線設(shè)備的定位算法實現(xiàn)
地籍調(diào)查成果在數(shù)字時代下的管理研究
無處不在的方位角
基于宗地層次的合肥市產(chǎn)業(yè)用地集約利用評價
在ArcMap中實現(xiàn)對金圖建庫系統(tǒng)中界址線屬性的便捷錄入
地籍宗地時空數(shù)據(jù)庫中的變化檢測
兴仁县| 沂南县| 比如县| 平安县| 保山市| 锡林郭勒盟| 德清县| 马边| 洪泽县| 祥云县| 乌兰浩特市| 应城市| 阳西县| 长顺县| 隆子县| 宣武区| 永和县| 高阳县| 张家口市| 油尖旺区| 临安市| 仙游县| 琼中| 临澧县| 浮山县| 锦屏县| 海门市| 桃园市| 潼关县| 庄河市| 敦煌市| 阜南县| 夏河县| 常山县| 高要市| 陇南市| 区。| 六盘水市| 普格县| 北川| 皋兰县|