999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

高斯投影在AutoCAD中的應用

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

鄭紅艷 郭海泉 夏鵬

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

關鍵詞:高斯投影;正算;反算;換帶;AutoCAD

1.引言

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

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

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

2.高斯投影分析

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

2.1高斯投影正算

正算就是將經緯度坐標轉換為高斯平面XY坐標的過程,以方便工程應用。計算公式如下:

2.3高斯投影換帶計算

換帶計算是正算、反算的引申,其計算過程是將高斯平面XY坐標使用原投影參數先反算為經緯度坐標,然后使用新的投影參數將經緯度坐標正算為高斯平面XY坐標。

3.高斯投影在AutoCAD實現的關鍵步驟

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

3.1建立計算模型

計算包括兩種,即正算模型和反算模型。建立統一的計算模型后,可以保證各個坐標點進行計算時,參數一致。

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

3.2點對象轉換

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

3.3線對象轉換

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

3.4面對象轉換

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

4.程序實現

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

4.1創建編程環境

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

4.2高斯投影類的實現

為提高高斯投影計算使用的效率,將高斯投影相關計算封裝在類中,主要代碼結構如下:

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定制轉換命令

在ARX.NET開發環境中,定義新命令的方法是在某個無參數的Sub方法中添加一個CommandMethodAttribute標識,程序加載后,在命令行中輸入相應的命令就可以直接調用CommandMethod標識的方法,主要實現代碼如下:

_

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'轉換點狀符號

Case TypeOf Ent Is Polyline'轉換線狀或面狀符號

Case TypeOf Ent Is Hatch'轉換面狀符號

CaseElse'

End Select

Next

End Using

EndSub

4.4加載轉換程序

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

5.應用示例

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

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

在轉換前選擇了10個檢查點參與轉換,然后將10個檢查點的坐標通過南方Coord軟件進行轉換,對比結果如表1。

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

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

6.結束語

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

主站蜘蛛池模板: 精品人妻无码中字系列| 欧美三级不卡在线观看视频| 中日无码在线观看| 无码高潮喷水在线观看| 第九色区aⅴ天堂久久香| 日本免费高清一区| 亚洲一道AV无码午夜福利| 国产人碰人摸人爱免费视频| 2020最新国产精品视频| 在线看免费无码av天堂的| 91在线视频福利| AV天堂资源福利在线观看| 久久久久88色偷偷| 国产十八禁在线观看免费| 日本欧美一二三区色视频| www.91在线播放| 国产精鲁鲁网在线视频| 欧美一级色视频| 91青草视频| 久久永久视频| 一区二区三区毛片无码| a毛片在线播放| 午夜一级做a爰片久久毛片| 99在线视频网站| 爱色欧美亚洲综合图区| 制服丝袜亚洲| 丁香六月综合网| 拍国产真实乱人偷精品| 亚洲欧洲日产国产无码AV| 国产午夜一级淫片| 99色亚洲国产精品11p| 国产中文在线亚洲精品官网| 狼友av永久网站免费观看| 国产欧美日韩va| 性喷潮久久久久久久久| 日韩精品一区二区三区大桥未久| 日本伊人色综合网| 91精品人妻一区二区| 国产精品亚洲欧美日韩久久| 亚洲日本中文字幕天堂网| 怡红院美国分院一区二区| 精品视频91| 亚洲无码视频图片| 色妞www精品视频一级下载| 99国产精品国产| 久久亚洲国产一区二区| 精品国产自在在线在线观看| 国产成人调教在线视频| 久久永久精品免费视频| 亚洲天堂视频在线播放| 国产xxxxx免费视频| 激情综合五月网| 日韩在线播放欧美字幕| 四虎永久免费地址在线网站| 一级成人a做片免费| 日韩精品无码不卡无码| 日韩欧美国产另类| 久久精品人人做人人爽97| 欧美性色综合网| 无码精油按摩潮喷在线播放| 直接黄91麻豆网站| 在线精品亚洲一区二区古装| 91免费观看视频| 九色视频最新网址| 国产后式a一视频| 精品一区二区三区水蜜桃| 久久夜色精品| 3p叠罗汉国产精品久久| 国产美女精品一区二区| 国产香蕉97碰碰视频VA碰碰看| 精久久久久无码区中文字幕| 91无码国产视频| 国产乱人激情H在线观看| 色悠久久久久久久综合网伊人| 老司机午夜精品网站在线观看| 凹凸精品免费精品视频| 中文字幕永久在线看| 国产精品爽爽va在线无码观看 | 99视频免费观看| 国产精品一区在线观看你懂的| 99精品视频在线观看免费播放| 精品久久香蕉国产线看观看gif|