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

        ?

        高斯投影在AutoCAD中的應(yīng)用

        2018-11-05 03:49:54鄭紅艷郭海泉夏鵬
        西部資源 2018年4期

        鄭紅艷 郭海泉 夏鵬

        摘要:本文通過對高斯投影中,高斯投影正算、高斯投影反算,高斯投影換帶這三種轉(zhuǎn)換方式的分析,結(jié)合地形圖在AutoCAD中的常用表達方式,以VB.NET為編程語言,編寫了基于AutoCAD的坐標(biāo)轉(zhuǎn)換程序。最后通過實例驗證了轉(zhuǎn)換方法的正確性。

        關(guān)鍵詞:高斯投影;正算;反算;換帶;AutoCAD

        1.引言

        高斯投影,全稱高斯-克呂格投影,是一種等角橫切橢圓柱投影,由高斯于19世紀(jì)20年代擬定,后經(jīng)克呂格進行修改補充得到的一種投影。除1:100萬國際地圖外,我國的基本比例尺地形圖和各種大比例尺工程地形圖均采用高斯投影坐標(biāo)系統(tǒng)測制成圖。

        高斯投影沒有角度變形,長度和面積變形也較小,中央經(jīng)線無變形,自中央經(jīng)線向投影帶邊緣變形逐漸變擴大。高斯投影的圖形保持了相似性和某點在各方向上長度比的同一性,同時采用分帶法則,使得各帶之間能夠使用相同的方式進行坐標(biāo)計算,因此高斯投影在世界各國得到了廣泛應(yīng)用。

        由于高斯投影存在變形,且離中央子午越遠(yuǎn)變形越大,所以各點的變形是不一致的。當(dāng)中央子午線不一致,需要進行坐標(biāo)轉(zhuǎn)換時,為保存精度的可靠,不能使用AutoCAD自帶的ALIGN(兩點糾正)命令進行轉(zhuǎn)換,只能采用高斯投影換帶進行地形圖坐標(biāo)轉(zhuǎn)換。

        2.高斯投影分析

        高斯投影計算主要有三種方式:高斯投影正算(以下簡稱正算)、高斯投影反算(以下簡稱反算)、高斯投影換帶計算(以下簡稱換帶)。

        2.1高斯投影正算

        正算就是將經(jīng)緯度坐標(biāo)轉(zhuǎn)換為高斯平面XY坐標(biāo)的過程,以方便工程應(yīng)用。計算公式如下:

        2.3高斯投影換帶計算

        換帶計算是正算、反算的引申,其計算過程是將高斯平面XY坐標(biāo)使用原投影參數(shù)先反算為經(jīng)緯度坐標(biāo),然后使用新的投影參數(shù)將經(jīng)緯度坐標(biāo)正算為高斯平面XY坐標(biāo)。

        3.高斯投影在AutoCAD實現(xiàn)的關(guān)鍵步驟

        地形圖在AutoCAD中進行繪制時,使用的是經(jīng)高斯投影正算后的坐標(biāo)。當(dāng)兩幅地形圖的投影參數(shù)不一致(同一參考橢球)時,就需要進行高斯投影換帶,以保證高斯平面坐標(biāo)的一致性。

        3.1建立計算模型

        計算包括兩種,即正算模型和反算模型。建立統(tǒng)一的計算模型后,可以保證各個坐標(biāo)點進行計算時,參數(shù)一致。

        式(1)為正算模型,式(2)為反算模型。

        3.2點對象轉(zhuǎn)換

        在AutoCAD中,一般使用塊、形等對象來表示地形圖中的點狀符號。此類對象轉(zhuǎn)換時,只需要將插入點進行換帶計算即可。注記在地形圖中也是一種特殊類型的點狀符號,轉(zhuǎn)換方式與塊、形等點狀對象的方式相同。

        3.3線對象轉(zhuǎn)換

        在AutoCAD中,一般使用多段線表示河流邊界、道路等線狀符號。線狀符號進行換帶計算時,需要依次獲取每個節(jié)點的原始坐標(biāo),然后對節(jié)點進行換帶計算,最后再更新各個節(jié)點從而完成換帶計算。

        3.4面對象轉(zhuǎn)換

        在AutoCAD中,一般使用閉合的多邊形表示房屋、植被等面狀符號。此類符號的轉(zhuǎn)換方式與線對象轉(zhuǎn)換相同。如果面中含有島洞,此時無法使用閉合多邊形表示,需要使用填充面(Hatch)。填充面由多個環(huán)(HatchLoop)組成,轉(zhuǎn)換時首先依次遍歷每個環(huán),然后再遍歷環(huán)中的每個節(jié)點從而完成換帶計算。

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

        本文中使用VisualStudi02013作為編程環(huán)境,使用VB.NET作為開發(fā)語言,利用AutoCAD提供的ARX.NET開發(fā)接口進行程序開發(fā)。

        4.1創(chuàng)建編程環(huán)境

        在VisualStudi02013中創(chuàng)建一個項目,語言選擇Visual-Basic,類型選擇類庫。項目創(chuàng)建完畢后,引入AutoCAD安裝目錄中的acdbmgd.dll與acmgd.dll,并將“復(fù)制到本地”屬性設(shè)為False。

        4.2高斯投影類的實現(xiàn)

        為提高高斯投影計算使用的效率,將高斯投影相關(guān)計算封裝在類中,主要代碼結(jié)構(gòu)如下:

        Public Class GaussProjection

        Public Sub LB2XY(By Val L As Double,ByVal B As Double,ByRef X As Double,ByRef Y As Double)

        Public Sub XY2LB(ByVal X As Double,ByVal Y As Double,ByRef L As Double,ByRef B As Double)

        End Class

        4.3定制轉(zhuǎn)換命令

        在ARX.NET開發(fā)環(huán)境中,定義新命令的方法是在某個無參數(shù)的Sub方法中添加一個CommandMethodAttribute標(biāo)識,程序加載后,在命令行中輸入相應(yīng)的命令就可以直接調(diào)用CommandMethod標(biāo)識的方法,主要實現(xiàn)代碼如下:

        _

        Public Sub ZBZH()

        Using Trans As Transaction=DB.TransactionManager.StartTransaction

        For Each ID As ObjectId In BlkTab

        Dim Ent As Entity=Trans.GetObject(ID,OpenMode.For Write)

        Select Case True

        Case TypeOf Ent Is Block Reference'轉(zhuǎn)換點狀符號

        Case TypeOf Ent Is Polyline'轉(zhuǎn)換線狀或面狀符號

        Case TypeOf Ent Is Hatch'轉(zhuǎn)換面狀符號

        CaseElse'

        End Select

        Next

        End Using

        EndSub

        4.4加載轉(zhuǎn)換程序

        高斯投影轉(zhuǎn)換程序編寫完畢后,會編譯生成一個DLL文件。在AutoCAD命令行中輸入NETLOAD后選擇相應(yīng)的DLL文件即可完成程序的加載。程序加載后,輸入自定義命令ZBZH后就可以運行高斯投影轉(zhuǎn)換程序了。

        5.應(yīng)用示例

        在某地形圖測繪項目中,從甲方收集了一些參考資料。查閱相關(guān)文檔后得知原始資料的成果是基于1980西安坐標(biāo)系使用119度作為中央子午線投影得到的。

        當(dāng)前項目使用的坐標(biāo)系還是1980西安坐標(biāo)系,但中央子午線是118度30分。如果要想利用原有的測量成果,必須對原成果進行高斯投影換帶計算,才能與當(dāng)前項目的坐標(biāo)吻合。使用ZBZH命令后,就可以對原始資料進行高斯投影轉(zhuǎn)換,效果如圖1。

        在轉(zhuǎn)換前選擇了10個檢查點參與轉(zhuǎn)換,然后將10個檢查點的坐標(biāo)通過南方Coord軟件進行轉(zhuǎn)換,對比結(jié)果如表1。

        從對比差值來看,轉(zhuǎn)換結(jié)果精度可靠。表中出現(xiàn)個別點有約1mm的誤差,是因為精度取位的問題引起的。

        此高斯投影轉(zhuǎn)換程序支持單幅地形圖轉(zhuǎn)換,同時也支持多幅地形圖批量轉(zhuǎn)換,極大地提高了轉(zhuǎn)換的效率。

        6.結(jié)束語

        高斯投影轉(zhuǎn)換是一種使用頻率極高的坐標(biāo)轉(zhuǎn)換方式。由于AutoCAD自身沒有此項轉(zhuǎn)換功能,必須通過開發(fā)才能實現(xiàn)。基于高斯投影轉(zhuǎn)換公式開發(fā)的坐標(biāo)工具在使用過程中能夠極大地提高數(shù)據(jù)轉(zhuǎn)換的效率及精度。

        蜜桃av人妻精品一区二区三区| 久久精品国产亚洲一区二区| 插入中文字幕在线一区二区三区| 亚洲a∨天堂男人无码| 日产乱码一区二区国产内射| 精品一区二区三区久久| 国产人妻人伦精品1国产| 极品粉嫩嫩模大尺度无码| 无码啪啪人妻| 国产真实一区二区三区| 人妻少妇乱子伦精品无码专区电影| 男女真实有遮挡xx00动态图| 青青草免费高清视频在线观看| 三区中文字幕在线观看| 人妻夜夜爽天天爽| 婷婷九月丁香| 国产精品久久熟女吞精| 第一次处破女18分钟高清| 亚洲av电影天堂男人的天堂| 亚洲熟女av中文字幕网站| 亚洲乱码av一区二区蜜桃av| 大学生粉嫩无套流白浆| 日韩一欧美内射在线观看| 亚洲一区二区三区在线观看蜜桃| 亚洲国产中文字幕无线乱码| 亚洲午夜福利在线视频| 国产日韩A∨无码免费播放| 日韩亚洲国产中文字幕| 熟女无套高潮内谢吼叫免费| 久久久久麻豆v国产精华液好用吗 欧美性猛交xxxx乱大交丰满 | 亚洲精品一区二区三区蜜臀| 三级国产自拍在线观看| 高潮抽搐潮喷毛片在线播放| 中国年轻丰满女人毛茸茸| 亚洲精彩视频一区二区| 精品一区三区视频在线观看| 少妇放荡的呻吟干柴烈火动漫| 国产成人cao在线| 婷婷久久av综合一区二区三区| 午夜毛片不卡免费观看视频| 啪啪无码人妻丰满熟妇|