• 
    

    
    

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

      抗差估計結(jié)合ObjectARX.NET技術(shù)在坐標(biāo)轉(zhuǎn)換中的應(yīng)用

      2022-04-02 08:06:42浩歲秀珍虞獻軍樓亨龐
      測繪地理信息 2022年2期
      關(guān)鍵詞:抗差圖件控制點

      陳 浩歲秀珍虞獻軍樓亨龐

      1義烏市大地數(shù)字測繪有限公司,浙江 義烏,322000

      2義烏市地理信息中心,浙江 義烏,322000

      3義烏市勘測設(shè)計研究院,浙江 義烏,322000

      為滿足城市建設(shè)需要,我國使用的坐標(biāo)系統(tǒng)有1954北京坐標(biāo)系、1980西安坐標(biāo)系以及各個城市的地方獨立坐標(biāo)系,隨著2000國家坐標(biāo)系在全國范圍內(nèi)全面啟用,以往坐標(biāo)系統(tǒng)紛紛退出歷史舞臺[1-3]。在投影中央子午線相同的前提下,將原有坐標(biāo)系統(tǒng)轉(zhuǎn)換為國家2000坐標(biāo)系的過程中,經(jīng)常會遇到選取的公共點坐標(biāo)精度不一致,公共點誤差較大,公共點控制范圍不夠等眾多原因,從而導(dǎo)致轉(zhuǎn)換的坐標(biāo)精度低的問題。經(jīng)典參數(shù)轉(zhuǎn)換模型[4]采用最小二乘法,其抗粗差性能較弱,一旦公共點存在粗差,會出現(xiàn)病態(tài)轉(zhuǎn)換模型,可能導(dǎo)致整個轉(zhuǎn)換結(jié)果無法達到精度要求。因此本文提出基于選權(quán)迭代法改進模型來提高坐標(biāo)轉(zhuǎn)換模型的抗粗差能力,進一步提高坐標(biāo)轉(zhuǎn)換的精度。

      1 經(jīng)典坐標(biāo)轉(zhuǎn)換模型

      坐標(biāo)轉(zhuǎn)換模型應(yīng)用最為廣泛的有四參數(shù)模型、七參數(shù)模型,在區(qū)域坐標(biāo)轉(zhuǎn)換過程中,四參數(shù)模型因其轉(zhuǎn)換精度較高,簡便易掌握而被采用。四參數(shù)轉(zhuǎn)換模型是將不同的高斯投影平面坐標(biāo)利用2個平移參數(shù)、1個旋轉(zhuǎn)參數(shù)和1個尺長因子進行轉(zhuǎn)換。其數(shù)學(xué)模型如下:

      式中,X1、Y1為待轉(zhuǎn)換坐標(biāo);X2、Y2為目標(biāo)轉(zhuǎn)換坐標(biāo);Δx0、Δy0為 平 移 參 數(shù);m為 尺 長 因 子;R(θ)為 旋 轉(zhuǎn)矩陣。

      由誤差方程:

      式中,a=(1+m)cosθ,b=(1+m)sinθ。由間接平差法及最小二乘法可計算四參數(shù),其公式為:

      利用兩個以上公共點,根據(jù)式(5)可以計算出經(jīng)典坐標(biāo)轉(zhuǎn)換四參數(shù)。

      2 選權(quán)迭代法的抗差估計算法

      在實際測量工作中,通常選取的坐標(biāo)轉(zhuǎn)換公共點沒有理論上的精度,經(jīng)常會混入一些粗差點,如若采用經(jīng)典坐標(biāo)轉(zhuǎn)換模型進行轉(zhuǎn)換,根據(jù)現(xiàn)代測量平差理論[5],由于最小二乘法抗粗差性能差,公共點的精度較低或誤差較大勢必會降低整個模型的轉(zhuǎn)換精度。

      選權(quán)迭代法的抗差估計是利用權(quán)函數(shù)對公共點進行重新定權(quán)比,降低粗差公共點在參數(shù)計算中的作用,以此來提高轉(zhuǎn)換模型的精度。先利用最小二乘法解算的參數(shù)估值對公共點進行坐標(biāo)轉(zhuǎn)換,當(dāng)某個公共點精度較低,坐標(biāo)轉(zhuǎn)換后的估值與原值差值較大,則認(rèn)為此公共點存在異常,根據(jù)選權(quán)迭代法重新定權(quán),重新解算參數(shù)估值。

      1)Tukey權(quán)函數(shù)法:

      2)Huber權(quán)函數(shù)法:

      3)IGG1權(quán)函數(shù)法:

      式中,c0、k0、k1稱為調(diào)和系數(shù);σ0為公共點中誤差。

      選權(quán)迭代坐標(biāo)轉(zhuǎn)換模型的計算方法與步驟:

      1)初始默認(rèn)公共點精度相同,制定初始權(quán)矩陣P0為單位矩陣;

      2)運用式(5)計算初始4個參數(shù)值,并求出公共點擬合殘差,根據(jù)選權(quán)迭代法式(7)~式(9),選擇合適方案,計算調(diào)節(jié)權(quán)重比因子ω,代入式(6)求出新的權(quán)矩陣P1;

      3)多次重復(fù)步驟2),直至4個參數(shù)值的2次迭代變化值小于δ(一般取δ=10-4)停止迭代,得到的最終擬合參數(shù)即為最終值。

      進行迭代解算時,由于迭代次數(shù)較多,需要選擇合適的編程語言進行解算,MATLAB在解算矩陣運算時,簡潔快速,但要與ObjectARX.NET技術(shù)結(jié)合難度較大,同時MATLAB軟件龐大不利于快速安裝使用。因此,選擇采用.NET作為開發(fā)平臺,編程語言采用C#,在進行矩陣解算時,引入MathNet外部接口,其中LinearAlgebra.Double和LinearAlgebra.Generic兩個函數(shù)類提供了選權(quán)迭代運算需要的各矩陣運算方法。

      3 ObjectARX.NET技術(shù)實現(xiàn)坐標(biāo)轉(zhuǎn)換

      測量中大量的圖件是使用AutoCAD進行數(shù)字化存儲,對AutoCAD圖件進行坐標(biāo)轉(zhuǎn)換,國內(nèi)已有大量科研工作者發(fā)表相關(guān)文獻[7-11],但大多數(shù)是將AutoCAD圖件存儲為dxf格式文件,dxf文件是二進制格式,通過分析dxf文件中的“組碼”,應(yīng)用編程語言提取相應(yīng)節(jié)點坐標(biāo),對節(jié)點坐標(biāo)進行坐標(biāo)轉(zhuǎn)換,得到的新坐標(biāo)替換原dxf文件中的節(jié)點坐標(biāo),以此來實現(xiàn)AutoCAD圖件的坐標(biāo)轉(zhuǎn)換工作。此方法在處理過程中需要遍歷整個dxf文件組碼,根據(jù)“組碼”特征值分多種情況進行實體節(jié)點坐標(biāo)轉(zhuǎn)換,整個過程轉(zhuǎn)換關(guān)系復(fù)雜,考慮因素眾多,且用戶界面互操作性差,無法依據(jù)用戶要求選擇指定圖元進行坐標(biāo)轉(zhuǎn)換。

      本文使用ObjectARX.NET技術(shù)生成動態(tài)數(shù)據(jù)鏈接庫DLL文件,進行AutoCAD圖件的坐標(biāo)轉(zhuǎn)換工作。AutoCAD二次開發(fā)工具有VBA、LISP和ObjectARX,其中ObjectARX功能強大,快速訪問圖形數(shù)據(jù)庫,在.NET框架下使用ObjectARX能夠支持創(chuàng)建用戶界面、訪問數(shù)據(jù)庫并支持開發(fā)大型程序。ObjectARX.NET技術(shù)實現(xiàn)坐標(biāo)轉(zhuǎn)換的核心方法為:AutoCAD的dwg格式主要由實體對象(如線、圓弧、文本文件等)及非實體對象(如顏色、線寬、圖層等)構(gòu)建而成。每一個實體對象有唯一的標(biāo)識碼ObjectID,可以通過ObjectARX提供的GetObject()函數(shù)獲取相應(yīng)實體,再對實體進行坐標(biāo)轉(zhuǎn)換。在ObjectARX專門提供了仿射變換TransformBy()函數(shù)與Matrix3d()(三維矩陣)類,Matrix3d類可以用于幾何對象的平移、旋轉(zhuǎn)、投影、縮放、鏡像等功能。通過測量學(xué)中四參數(shù)模型將平移、旋轉(zhuǎn)、縮放的參數(shù)解算出來,再將其代入Matrix3d類函數(shù)以此實現(xiàn)坐標(biāo)轉(zhuǎn)換工作,測量學(xué)四參數(shù)模型與仿射變換三維矩陣轉(zhuǎn)換函數(shù)式為:

      Matrix3d zbcs=Matrix3d.Scaling(scaleFactor,movepoint).

      PostMultiplyBy(Matrix3d.Rotation(rotateAngle,Vector3d.ZAxis,movepoint)).

      PostMultiplyBy(Matrix3d.Displacement(moveStartPnt.GetVectorTo(movepoint)));

      上述函數(shù)式中movepoint為四參數(shù)求解得到的(Δy0,Δx0),因大地測量坐標(biāo)系與AutoCAD成圖坐標(biāo)系中X、Y方向相反,在此要變換;moveStartPnt為原轉(zhuǎn)換坐標(biāo)原點(0,0);rotateAngle為四參數(shù)解算的旋轉(zhuǎn)角θ;scaleFactor為四參數(shù)解算的尺長因子m;Displacement()為平移函數(shù);Rotation()為旋轉(zhuǎn)函數(shù);Scaling()為縮放函數(shù)。

      因四參數(shù)轉(zhuǎn)換過程中不涉及Z值的轉(zhuǎn)換,在變換過程中先獲取實體Z值屬性,最后再將其數(shù)值賦回。結(jié)合抗差估計算法的整個轉(zhuǎn)換流程如圖1所示。

      圖1 圖件轉(zhuǎn)換流程Fig.1 Flow Chart of Map Conversion

      4 CAD中坐標(biāo)轉(zhuǎn)換功能實現(xiàn)

      1)控制點坐標(biāo)錄入。

      本程序提供兩個控制點錄入方式,一是事先編寫txt文本文件,根據(jù)文本文件錄入控制點坐標(biāo),二是直接根據(jù)DWG文件在圖件上拾取控制點坐標(biāo)信息。

      2)粗差探測及參數(shù)解算。

      根據(jù)控制點坐標(biāo)錄入信息及抗差估計算法,提供4種抗差估計算法模型,進行粗差的探測及剔除粗差后,參數(shù)解算結(jié)果同時具有圖元坐標(biāo)轉(zhuǎn)換及存盤功能。

      3)轉(zhuǎn)換實體精度分析。

      利用本文研制的軟件與現(xiàn)今應(yīng)用廣泛的Arc-GIS、南方CASS軟件進行坐標(biāo)轉(zhuǎn)換成果比較,驗證軟件的可行性,通過轉(zhuǎn)換控制點中有粗差和無粗差兩種情況進行精度分析,具體結(jié)果見表1。

      表1 圖件轉(zhuǎn)換坐標(biāo)檢測差值/mmTab.1 Test of the Coordinates of Map Conversion/mm

      對表1特征點進行坐標(biāo)轉(zhuǎn)換中誤差計算可知,在控制點無粗差的情況下,本文研制的軟件與Arc-GIS、南方CASS軟件在圖件轉(zhuǎn)換精度上高度吻合,中誤差在2 mm以內(nèi),表明本文軟件具有可行性,在圖件轉(zhuǎn)換過程中不存在額外精度損失,轉(zhuǎn)換方式可行;當(dāng)控制點中含有粗差,ArcGIS、南方CASS軟件的轉(zhuǎn)換精度明顯下降,圖件的轉(zhuǎn)換中誤差在5 cm以上,這兩種軟件不具有抵抗粗差的能力,而本文研制的軟件轉(zhuǎn)換的圖件坐標(biāo)精度損失不大,中誤差控制在5 mm內(nèi),擁有抵抗粗差的能力。

      5 結(jié)束語

      本文對經(jīng)典四參數(shù)模型進行改進,提出抗差估計的迭代坐標(biāo)轉(zhuǎn)換模型。此模型與ObjectARX.NET技術(shù)結(jié)合研制了基于抗差估計算法的Auto-CAD圖件轉(zhuǎn)換軟件,經(jīng)過與商業(yè)軟件對比,本軟件具有抵抗粗差的能力,圖件轉(zhuǎn)換精度較高。在局部區(qū)域控制點稀少同時摻入異常值時,本軟件能發(fā)揮出抵抗粗差的性能,提高整體轉(zhuǎn)換精度。隨著2000國家坐標(biāo)系使用,在偏遠地區(qū)小范圍勘查時,往往缺少高精度轉(zhuǎn)換控制點的情況下,適宜采用此方法來提高整個轉(zhuǎn)換區(qū)域的精度。

      猜你喜歡
      抗差圖件控制點
      一種地質(zhì)圖件數(shù)據(jù)管理系統(tǒng)設(shè)計思路
      遙感解譯成果圖件矢量化方法技術(shù)研究*
      基于MapGIS和ArcGIS的遙感解譯成果圖件數(shù)據(jù)庫設(shè)計與實現(xiàn)
      NFFD控制點分布對氣動外形優(yōu)化的影響
      改善單頻PPP參數(shù)收斂速度的抗差估計方法
      基于風(fēng)險管理下的項目建設(shè)內(nèi)部控制點思考
      相似材料模型中控制點像點坐標(biāo)定位研究
      地形簡化對DEM不確定性的抗差性研究
      基于抗差最小均方估計的輸電線路參數(shù)辨識
      SDCORS在基礎(chǔ)地理信息控制點補測中的應(yīng)用
      仙桃市| 康乐县| 漳浦县| 中阳县| 邯郸市| 喀喇沁旗| 吉水县| 遂川县| 夏邑县| 满城县| 梁平县| 邵武市| 吕梁市| 邛崃市| 武强县| 九寨沟县| 浦县| 东山县| 平泉县| 剑阁县| 铁力市| 册亨县| 博乐市| 德江县| 疏勒县| 镇安县| 修水县| 宁阳县| 延吉市| 五寨县| 南昌市| 盈江县| 安康市| 商洛市| 泽库县| 揭西县| 集贤县| 浦东新区| 南宁市| 咸阳市| 枞阳县|