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

        ?

        基于AutoCAD的高程點檢查工具設計與實現(xiàn)

        2022-03-13 08:51:40高海建
        現(xiàn)代測繪 2022年6期
        關(guān)鍵詞:句柄配置文件參考點

        高海建,朱 健

        (1. 江蘇省地質(zhì)工程勘察院,江蘇 南京 210013;2.江蘇省地質(zhì)測繪院 江蘇 南京 211102)

        0 引 言

        高程點即標有高程數(shù)值的信息點,用于標識所在位置的實際高程值。與等高線一樣,高程點是表達地形高低起伏的重要手段,是數(shù)字地形圖的重要組成部分。高程點可以通過GPS-RTK、全站儀、水準儀、航測立體測圖等方式獲取并標繪到圖上。在AutoCAD中一般通過塊+屬性標注的方式來表示高程點。檢查高程點時,一般為人工目視檢查,效率較低且不容易發(fā)現(xiàn)存在的問題。文獻資料檢索結(jié)果表明,高程點自動化檢查雖受到了一定關(guān)注,但相關(guān)研究尚處于起步階段。蔡偉明[1]編寫的高程值檢查工具能夠提高生產(chǎn)效率與產(chǎn)品質(zhì)量,但需要依賴高程點附近的等高線作為判斷依據(jù),對于沒有勾繪等高線的地方無法檢查。吳新廣等[2]基于雙線性插值法開發(fā)了檢查高程點的工具,能夠極大減少檢查工作量,但對于單條等高線包圍點和山頂點的計算,與實際存在一定的誤差,且此工具AutoLisp編寫,不便于二次開發(fā)。綜上,為降低開發(fā)難度以及提高高程點檢查工具的適用性,本文擬采用高程內(nèi)插的方式來檢查高程點的高程是否異常。主要思路是:將待檢查高程點的高程值作為未知點,基于當前高程點搜索周邊高程點生成高程模型,然后根據(jù)平面位置計算當前高程點內(nèi)插高程值,如果內(nèi)插高程值與標注高程值的差值超過閾值,則可認為此高程點的高程值可能存在問題,需要人工進一步核實。

        1 高程內(nèi)插方法

        高程內(nèi)插就是根據(jù)若干相鄰參考點的高程值求出待定點上的高程值,在數(shù)學上屬于插值問題。按內(nèi)插點的分布范圍,可以將內(nèi)插分為整體內(nèi)插、分塊內(nèi)插和逐點內(nèi)插三類[3]。基于高程點檢查的特點,采用逐點內(nèi)插法比較合適。逐點內(nèi)插法是以待檢查高程點為中心,定義一個局部函數(shù)去擬合相鄰的數(shù)據(jù)點,數(shù)據(jù)點的范圍隨著待檢查高程點的位置的變化而發(fā)生變化,因此又稱為移動曲面法。移動曲面法可分為移動擬合法、加權(quán)平均法、泰森多邊形法等。本文設計的檢查工具使用了移動曲面法中的移動擬合法與加權(quán)平均法。

        使用移動擬合法時,對于每個待檢查的高程點,可選取與其相鄰的n個高程點作為參考點擬合成一個多項式曲面,多項式曲面的的參數(shù)方程為:

        Z=AX2+BXY+CY2+DX+EY+F

        (1)

        式中,X、Y、Z是各個參考點的坐標值,A、B、C、D、E、F為待求的參數(shù)。參數(shù)方程中的各個參數(shù)可由選取的n個參考點用最小二乘法進行求解。為保證方程正常求解,要至少有6個參考點。此方法適用于測區(qū)內(nèi)部、圖幅內(nèi)部等高程點均勻的地方。

        使用加權(quán)平均法時,對于每個待檢查的高程點,可選取與其相鄰的n個高程點作為參考點,使用加權(quán)平均值作為參數(shù)方程,具體如下:

        (2)

        式中,Zp是待檢查高程點計算后的高程值,Zi是第i個參考點的高程點的高程值,n為參考點的個數(shù),Pi是第i個參考點的權(quán)重。此方便適用于測區(qū)邊緣、圖幅外部等高程點比較稀疏的地方。

        2 參考點的選擇與權(quán)重確定

        使用移動擬合法時,選擇參考點的思路是以待檢查高程點為圓心,半徑R范圍內(nèi)的高程點作為參考點。R值的確定取決于附近高程點的疏密程度,對于地形圖而言,規(guī)范上要求的高程點平均個數(shù)為M,那么R值為:

        (3)

        式中,M為高程點的平均密度,A為待檢查范圍的總面積,N為待檢查點的總個數(shù)。

        如果通過此方法搜索到的高程點個數(shù)不足6個,那么就可以將計算方法切換為加權(quán)平均法。使用加權(quán)平均法時,參考點權(quán)值的計算方法為:

        P= 1/r2

        由表6可以看出,在其它變量不變的情況下,解釋變量國內(nèi)生產(chǎn)總值、年末人口數(shù)量和居民人均教育消費支出對被解釋變量國家財政教育支出的影響顯著.解釋變量居民教育消費價格指數(shù)和財政教育支出占總支出的比例對被解釋變量國家財政教育支出的影響都不顯著,從回歸模型中剔除,得到新的回歸模型為

        (4)

        式中,P為參考點的權(quán),r是參考點到待檢查高程點的距離。

        3 設計思路

        通過對高程內(nèi)插原理分析和參考點選擇與權(quán)重確定方法的介紹,已經(jīng)解決檢查工具運行的核心問題。除此之外,還需要對高程值獲取方法、閾值確定、日志輸出等做出規(guī)定。檢查工具的運行基本流程如圖1所示。

        圖1 運行流程

        3.1 高程點坐標信息的獲取

        在AutoCAD中,高程點一般以屬性塊的形式標注。如在CASS平臺中,高程點的平面坐標保存于塊插入點的X(東坐標)、Y(北坐標)屬性中,而高程值H則屬性標注(height)中,如圖2所示。

        圖2 CASS高程點

        不同AutoCAD平臺中,高程點的表示方法大致相同。讀取CASS平臺中高程點時,獲取到平面坐標后,需要進一步讀取塊參照中名稱為height的屬性標注值[4]。

        3.2 日志文件設計

        當檢查出高程點超出指定的閾值后,需要將此點的檢查結(jié)果以日志形式輸出,供質(zhì)檢人員進一步確認。在AutoCAD中,每個DWG圖中的所有實體對象都有一個句柄屬性,且此值不會發(fā)生變化,也不會出現(xiàn)重復。通過句柄可以實現(xiàn)對實體的定位,方便質(zhì)檢人員查找“有問題”的高程點。本檢查工具日志格式為:EID={句柄} 描述信息。其中{句柄}在實際運行時會被替換為高程點的句柄值,描述信息根據(jù)檢查的出的差值輸出,如圖3所示。

        圖3 日志瀏覽器

        3.3 配置文件的架構(gòu)、讀取與保存

        配置文件基于XML(EXtensible Markup Language)格式保存,配置中包含整個工具運行的所有參數(shù)信息,只列出其他4個比較重要的屬性項,其定義代碼如圖4所示。

        圖4 高程點檢查配置代碼(部分)

        屬性項PointCountPerUnit表示高程點的密度,即每平方千米有多個高程點。測圖比例尺不同,比例尺的密度也不相同,需要根據(jù)實際情況輸入相應的值。

        屬性項Threshold表示高程閾值,如果通過計算得到的高程值與此高程點原高程值之間的差值的絕對值超過此值,那么視此高程點為“問題點”,并將高程點對象的句柄及其它信息輸出到檢查日志中。閾值是一個經(jīng)驗參數(shù),需要在實際運行中不斷調(diào)整。

        屬性項ExpressionFilter表示過濾表達式,用于過濾DWG中哪些點可以作為高程點參與檢查。盡管高程點一般情況下都采用屬性塊的方式來表達,但各個軟件平臺并沒有遵循統(tǒng)一的標準。此外,地形圖中除高程點之外,還有其地形、地貌要素,因此必須設置過濾條件,將非高程點過濾掉。

        屬性項ExpressionH表示獲取高程值的表達式,因高程點的表達方式并沒有統(tǒng)一,那么獲取高程值的方法也是多樣的,獲取高程值的表達式需要根據(jù)高程點的具體類型來定制。

        參數(shù)對象通過PropertyGrid顯示,方便用戶以窗口的方式來調(diào)整各個屬性項,效果如圖5所示。

        圖5 參數(shù)配置窗口

        讀取配置文件時,配置文件中的配置信息寫入到配置對象中,是一種XML反序列化行為。保存配置文件時,配置對象中的配置信息寫入到配置文件中,是一種XML序列化行為。在.Net Framework編程框架下,可以通過System.Xml.Serialization命名空間下的XmlSerializer類實現(xiàn)XML文件的序列化與反序列化。XmlSerializer對象中的Serialize方法用于將配置對象通過文件流寫入文件,即保存配置文件。XmlSerializer對象中的Deserialize 方法用于將配置文件讀取到配置對象中,即讀取配置文件[5]。

        4 程序?qū)崿F(xiàn)

        眾所周知,AutoCAD向開發(fā)人員提供了豐富的二次開發(fā)接口,主要有ObjectARX、ObjectARX.NET、AutoLISP(VisualLisp)、VBA等。ObjectARX.NET二次開發(fā)接口既有ObjectARX功能強大的特點,又兼有VBA易用的特點。本文中的高程點檢查工具采用ObjectARX.NET作為開發(fā)接口,基于AutoCAD2016提供的ObjectARX.NET開發(fā)框架,在Visual Studio2015開發(fā)環(huán)境中,使用VisualBasic.NET作為開發(fā)語言,實現(xiàn)了檢查功能。

        4.1 開發(fā)環(huán)境搭建

        在Visual Studio2015中創(chuàng)建一個新的類庫項目,依次引用acmgd.dll、acdbmgd.dll后,并修改acmgd.dll、acdbmgd.dll這兩個文件的本地的屬性為“否”。然后添加新的類文件并創(chuàng)建AutoCAD命令,主要結(jié)構(gòu)如圖6所示[6-8]。

        圖6 命令定制代碼(部分)

        CommandMethodAttribute類是AutoCAD二次開發(fā)環(huán)境提供的將方法暴露為AutoCAD命令的標識,其參數(shù)就是在AutoCAD中運行的命令名,命令名與過程名不必相同。Quality_ElevationPointCheck被標識后,就可以在AutoCAD命令行中輸入相應的命令來執(zhí)行此過程。

        4.2 代碼編譯與加載

        高程點檢查代碼編寫完成后,即可對整個項目進行編譯。項目編譯后,會產(chǎn)生一個新的DLL文件,使用AutoCAD提供的netload命令可將此DLL文件加載到AutoCAD中,運行Quality_ElevationPointCheck選擇參與檢查的對象后進行高程點檢查,如果出現(xiàn)超出閾值的情況,會將檢查結(jié)果輸出到日志瀏覽器中。

        5 應用實例

        我院承接的某地形圖測繪項目中,包括300多平方千米的1∶1 000航空攝影、地形圖測繪以及城區(qū)和鄉(xiāng)鎮(zhèn)鎮(zhèn)區(qū)外1 000多平方千米的1∶2 000航空攝影、地形圖測繪。測區(qū)范圍較廣,檢查工作量大,通過人工目視檢查高程點時,效率較低,一幅圖需要近1 h的時間才能檢查完,而且還容易出現(xiàn)錯查、漏查的現(xiàn)象,給質(zhì)檢帶來了很大的困擾。為了解決此問題,專門開發(fā)了此高程點檢查工具。通過Quality_ElevationPointCheck命令執(zhí)行檢查任務,一幅圖1 min內(nèi)就可以將檢查結(jié)果返回,借助于日志查看工具,可以快速對有問題的高程點進行定位(圖7),如果確實存在問題,則進行修改。通過人工核實,平均每幅圖的檢查時間可以縮短到5 min內(nèi)。此工具大大節(jié)約了質(zhì)量檢查人員的檢查時間,同時也提升了檢查的質(zhì)量。

        圖7 檢查工具運行界面

        6 結(jié) 語

        本文基于AutoCAD平臺提供的二次開發(fā)接口,開發(fā)了一個新的工具,用于對高程點的高程值異常進行自動化檢查,能夠有效降低檢查人員的工作量,提高檢查質(zhì)量,從而提升生產(chǎn)效率。目前檢查工具只是對高程點進行檢查,檢查的結(jié)果還需要進一步人工核實,在今后的開發(fā)中,此檢查工具還需要進一步改進計算內(nèi)插高程點的方式,達到一定可信度后,可以將計算得到的高程值直接賦給有問題的高程點,從而實現(xiàn)查改全部自動化。

        猜你喜歡
        句柄配置文件參考點
        提示用戶配置文件錯誤 這樣解決
        FANUC數(shù)控系統(tǒng)機床一鍵回參考點的方法
        搭建簡單的Kubernetes集群
        互不干涉混用Chromium Edge
        參考點對WiFi位置指紋算法的影響
        忘記ESXi主機root密碼怎么辦
        數(shù)控機床返回參考點故障維修
        高校圖書館持久標識符應用研究
        編譯程序語法分析句柄問題分析與探討
        FANUC數(shù)控機床回參考點故障分析與排除
        国产美女三级视频网站| 日本大尺度吃奶呻吟视频| 国产精品一区二区暴白浆| 视频二区精品中文字幕| 日本一区二区三区丰满熟女| 日韩人妻少妇一区二区三区| 亚洲精品欧美二区三区中文字幕 | 国产av麻豆精品第一页| 欧美怡春院一区二区三区| 国产精品老熟女露脸视频| 亚洲色大成人一区二区| 日本特殊按摩在线观看| 伦伦影院午夜理论片| 一二三四在线视频观看社区| 北岛玲日韩精品一区二区三区| 亚洲中文字幕第一页免费| 久久精品国产亚洲av久| 内射中出无码护士在线| 国产激情视频在线| 中文字幕人妻日韩精品| 48久久国产精品性色aⅴ人妻| 亚洲综合色一区二区三区另类| 亚洲高清av一区二区| 精品国产一区二区三区色搞| 伊伊人成亚洲综合人网香| 日本高清不在线一区二区色| 婷婷开心五月亚洲综合| 久久午夜无码鲁丝片午夜精品| 亚洲AV无码一区二区三区人| 成人影院免费观看在线播放视频| 白白在线视频免费观看嘛| 精品国模一区二区三区| 禁止免费无码网站| 综合图区亚洲偷自拍熟女| 日日碰日日摸日日澡视频播放| 国产亚洲av综合人人澡精品| 日韩h网站| 日本一曲二曲三曲在线| 国产97色在线 | 国产| 日本亚洲国产一区二区三区| 日本久久久久|