• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

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

      李文林李東峰胡啟亮

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

      0 引 言

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

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

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

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

      1.1 南方CASS及VBA簡(jiǎn)介

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

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

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

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

      1.2 AutoCAD擴(kuò)展屬性

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

      *Registered Application Name:south

      *Code 1000,ASCII string:300000

      *Code 1000,ASCII string:2150100026

      *Code 1000,ASCII string:周志強(qiáng)

      *Code 1000,ASCII string:251

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

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

      1.3 擴(kuò)展屬性存取

      VBA提供了Set XData和Get XData的函數(shù)設(shè)置和返回?cái)U(kuò)展數(shù)據(jù)。通常擴(kuò)展數(shù)據(jù)需要提供一個(gè)已經(jīng)注冊(cè)的應(yīng)用程序名稱(chē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ù)當(dāng)中,App Name為注冊(cè)的應(yīng)用名,XData-Type和XData Value是兩個(gè)變體數(shù)組,用來(lái)存放DXF組碼和屬性信息。

      1.4 VBA與Office交互

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

      再聲明并新建一個(gè)EXCEL.Application對(duì)象:

      Dim xl App As Excel.Application

      創(chuàng)建或獲取這個(gè)對(duì)象:

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

      If Err Then

      MsgBox“Excel應(yīng)用程序沒(méi)有運(yùn)行。請(qǐng)啟動(dòng)Excel并重新運(yùn)行程序?!?/p>

      Exit Sub

      End If

      聲明Excel工作簿并獲取當(dāng)前活動(dòng)工作表:

      Dim xlSheet As Worksheet

      Set xlSheet=xl App.ActiveSheet

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

      2 四至讀取的方法

      南方CASS成圖軟件將四至存儲(chǔ)在界址線(xiàn)的擴(kuò)展屬性中,但沒(méi)有提供自動(dòng)提取并賦值的功能。四至信息需要通過(guò)編輯宗地,手工輸入。

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

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

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

      圖1 四至輸出流程

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

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

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

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

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

      遍歷宗地的方法是先建立過(guò)濾器,將所有宗地加入選擇集,然后遍歷選擇對(duì)象。遍歷界址線(xiàn)是計(jì)算宗地邊線(xiàn)相鄰節(jié)點(diǎn)坐標(biāo)的中點(diǎn)。

      3 方位判定

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

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

      圖2 方位判定

      4 存在的問(wèn)題

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

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

      (2)隔路、埂、溝等無(wú)重合情況的鄰宗可以通過(guò)調(diào)整交叉選擇的微型矩形邊長(zhǎng)處理。因?yàn)檫@種情況較少,本文未進(jìn)行實(shí)驗(yàn)。

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

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

      5 結(jié) 語(yǔ)

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

      猜你喜歡
      宗地界址方位角
      兩只小兔移界址
      兩只小兔移界址
      探究無(wú)線(xiàn)電方位在無(wú)線(xiàn)電領(lǐng)航教學(xué)中的作用和意義
      卷宗(2021年2期)2021-03-09 07:57:24
      CASS地籍圖中界址信息批量轉(zhuǎn)出方法研究
      近地磁尾方位角流期間的場(chǎng)向電流增強(qiáng)
      向量?jī)?nèi)外積在直線(xiàn)坐標(biāo)方位角反算中的應(yīng)用研究
      河南科技(2015年18期)2015-11-25 08:50:14
      基于歷史歸檔的宗地查詢(xún)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      河南科技(2014年22期)2014-02-27 14:18:03
      地籍宗地時(shí)空數(shù)據(jù)庫(kù)中的變化檢測(cè)
      基于多色圖的宗地信息歷史回溯模型及實(shí)現(xiàn)
      基于對(duì)話(huà)框編寫(xiě)實(shí)現(xiàn)坐標(biāo)方位角正算與反算的程序
      古浪县| 阳原县| 遵义市| 洛扎县| 乌苏市| 德惠市| 咸阳市| 金昌市| 灵宝市| 美姑县| 信宜市| 高州市| 长丰县| 长葛市| 福海县| 和田市| 崇左市| 岑巩县| 禹城市| 吴川市| 巨鹿县| 铁力市| 仪征市| 南安市| 舞钢市| 凤台县| 灌南县| 阳高县| 黄骅市| 黄浦区| 岳阳市| 新田县| 枞阳县| 上饶市| 井陉县| 横山县| 常州市| 海淀区| 雅江县| 顺义区| 湛江市|