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

        ?

        基于AutoCAD的高程點(diǎn)檢查工具設(shè)計(jì)與實(shí)現(xiàn)

        2022-03-13 08:51:40高海建
        現(xiàn)代測(cè)繪 2022年6期

        高海建,朱 健

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

        0 引 言

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

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

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

        使用移動(dòng)擬合法時(shí),對(duì)于每個(gè)待檢查的高程點(diǎn),可選取與其相鄰的n個(gè)高程點(diǎn)作為參考點(diǎn)擬合成一個(gè)多項(xiàng)式曲面,多項(xiàng)式曲面的的參數(shù)方程為:

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

        (1)

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

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

        (2)

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

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

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

        (3)

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

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

        P= 1/r2

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

        (4)

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

        3 設(shè)計(jì)思路

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

        圖1 運(yùn)行流程

        3.1 高程點(diǎn)坐標(biāo)信息的獲取

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

        圖2 CASS高程點(diǎn)

        不同AutoCAD平臺(tái)中,高程點(diǎn)的表示方法大致相同。讀取CASS平臺(tái)中高程點(diǎn)時(shí),獲取到平面坐標(biāo)后,需要進(jìn)一步讀取塊參照中名稱為height的屬性標(biāo)注值[4]。

        3.2 日志文件設(shè)計(jì)

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

        圖3 日志瀏覽器

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

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

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

        屬性項(xiàng)PointCountPerUnit表示高程點(diǎn)的密度,即每平方千米有多個(gè)高程點(diǎn)。測(cè)圖比例尺不同,比例尺的密度也不相同,需要根據(jù)實(shí)際情況輸入相應(yīng)的值。

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

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

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

        參數(shù)對(duì)象通過(guò)PropertyGrid顯示,方便用戶以窗口的方式來(lái)調(diào)整各個(gè)屬性項(xiàng),效果如圖5所示。

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

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

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

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

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

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

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

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

        4.2 代碼編譯與加載

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

        5 應(yīng)用實(shí)例

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

        圖7 檢查工具運(yùn)行界面

        6 結(jié) 語(yǔ)

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

        亚洲一区二区三区特色视频| 日本高清在线播放一区二区三区| 精品国产一品二品三品| 一区二区三区国产黄色| 日本国产一区二区在线观看| 日本加勒比精品一区二区视频| 精品无码一区二区三区爱欲| 欧美两根一起进3p做受视频| 国产人妖视频一区二区| 福利片免费 亚洲| 久久久人妻一区二区三区蜜桃d| 朋友的丰满人妻中文字幕| 欧美日本国产va高清cabal | 久久久久久中文字幕有精品| 一区二区三区手机看片日本韩国| 国产精品国产三级国产av品爱| 乱人伦中文无码视频在线观看| 国产在线无码免费视频2021| 白色白色视频在线观看| 4hu四虎永久免费地址ww416| 亚洲永久精品ww47| 无码人妻专区一区二区三区| 北条麻妃在线中文字幕| 久久精品99国产精品日本| 国产日韩精品中文字无码| 男女视频在线一区二区| 精品一区二区三区不老少妇| 国产91传媒一区二区三区| 国产av综合影院| 国产成人亚洲精品91专区手机| 水蜜桃视频在线观看免费18| 成人大片在线观看视频| 台湾佬中文娱乐网22| 国产成人无码一区二区三区在线| 国产精品每日更新在线观看| 日本一区二区三级免费| 国产内射爽爽大片视频社区在线 | 国内久久婷婷激情五月天| 无码熟妇人妻AV不卡| 精彩亚洲一区二区三区| 色偷偷偷久久伊人大杳蕉|