Acad轉(zhuǎn)Earth程序采用基于AutoCAD的VBA編寫,能夠?qū)AD對(duì)象轉(zhuǎn)換成GoogleEarth所需的KML文件。免費(fèi)軟件,無任何功能和時(shí)間上的限制。
使用方法
1、 打開CAD,運(yùn)行本程序
2、 經(jīng)緯度修正計(jì)算
修正原因:GoogleEarth采用的是WGS84坐標(biāo)系統(tǒng),WGS84坐標(biāo)和北京54、西安80坐標(biāo)之間是不存在一套轉(zhuǎn)換參數(shù)可以全國通用的,它們是兩個(gè)不同的橢球基準(zhǔn)。
修正方法:可采用七(三)參數(shù)法,參數(shù)需測(cè)繪院提供或自行采點(diǎn)計(jì)算,本程序采用多點(diǎn)北京54或西安80坐標(biāo)計(jì)算出的經(jīng)緯度和同一點(diǎn)的WGS84經(jīng)緯度計(jì)算平均差值進(jìn)行修正,經(jīng)測(cè)試,能夠滿足CAD圖形轉(zhuǎn)到GoogleEarth的精度要求。
操作方法:
(1)找出CAD圖與GoogleEarth中同一點(diǎn),建立如下文件示例格式,選取3點(diǎn)或更多。
修正文件格式:
;;標(biāo)識(shí) X坐標(biāo) Y坐標(biāo) 84緯度(度分秒) 84經(jīng)度(度分秒)
1 3402917.0506 562267.5588 30.443882 111.390380
2 3384673.0591 554926.8618 30.344747 111.342492
3 3367259.4966 551614.9128 30.252232 111.321695
文件格式說明:
X、Y坐標(biāo):平面坐標(biāo),與CAD中X、Y坐標(biāo)相反,X坐標(biāo)為7位、Y坐標(biāo)為6位,可通過命令I(lǐng)D獲取。
84緯度(度分秒)、84經(jīng)度(度分秒):GoogleEarth中與CAD圖中同一點(diǎn)的經(jīng)緯度,可采用菜單-添加-地標(biāo)來獲取,獲取前需確認(rèn)菜單-工具-選項(xiàng)-3D視圖-顯示經(jīng)緯度為度分秒格式,經(jīng)緯度數(shù)值用小數(shù)表示,如:140.022866為140°02′28.66″。
(2)設(shè)置坐標(biāo)系,給定中央子午線,中央子午線可以采用CAD圖對(duì)應(yīng)的子午線也可隨意給定,但修改后需重新修正計(jì)算,對(duì)最終導(dǎo)入GoogleEarth結(jié)果沒有影響;點(diǎn)擊修正計(jì)算后選取該文件,程序?qū)⑸伞疚募鸰計(jì)算結(jié)果】文件 并自動(dòng)打開文件以方便檢查是否存在誤差較大的點(diǎn),結(jié)果文件格式如下。
計(jì)算結(jié)果文件格式:
標(biāo)識(shí) 緯度修正(分) 緯度修正(分)
1 0.00664 0.03826
2 0.00617 0.03773
3 0.00750 0.03858
4 0.22911 -0.20751
----------------------------
緯度修正平均:0.06236
經(jīng)度修正平均:-0.02324
如存在相對(duì)誤差較大的點(diǎn)(如上述第4點(diǎn)),修改原文件舍棄該點(diǎn)或重新選取相對(duì)點(diǎn)后重新計(jì)算修正值 ,修正值單位為分。有的點(diǎn)相對(duì)誤差加大可能是由于GoogleEarth的衛(wèi)星圖片精度不夠,如下圖所示中GoogleEarth新老衛(wèi)片接頭存在較大誤差,對(duì)這種情況可以對(duì)CAD圖形分段進(jìn)行操作。
3、生成KML文件
A、設(shè)置坐標(biāo)系統(tǒng)、中央子午線及參數(shù),點(diǎn)擊轉(zhuǎn)換按鈕,給定保存的KML文件名,程序?qū)⑶袚Q到CAD,選取 需轉(zhuǎn)換對(duì)象,程序?qū)⒆詣?dòng)生成GoogleEarth所需的KML文件,生成的KML格式為UTF-8以支持中文顯示,無需采用記事本另存為UTF-8格式。
B、程序支持文本、直線、多段線、三維多段線、圓、圓弧。
C、中央子午線用°′″表示,如:111.15為111°15′。
D、對(duì)于【多段線存在圓弧部分】選項(xiàng),一般情況不勾選,確實(shí)存在可勾選,勾選后將對(duì)每條多段線進(jìn)行判斷并處理,影響轉(zhuǎn)換速度,特別是EICAD的緩和曲線由很多段小圓弧組成,如緩和曲線和圓未合并,可不勾選。
4、切換到GoogleEarth。
直接雙擊KML文件切換到GoogleEarth或在GoogleEarth中用菜單-文件-打開KML文件。
5、測(cè)試結(jié)果:
(1)麻陽高速
高速公路140km南北向,導(dǎo)入GoogleEarth,公路與地圖相對(duì)位置基本吻合。如下兩張圖位置相差約100km,從圖中原有道路可以看出,導(dǎo)入線形與地圖相應(yīng)位置基本重合。
(2)大隨高速
高速公路東西向約80km,導(dǎo)入GoogleEarth線形與施工時(shí)的衛(wèi)片基本吻合。
6、CAD坐標(biāo)不是真實(shí)坐標(biāo)如何操作?
CAD坐標(biāo)不是真實(shí)坐標(biāo)即為相對(duì)坐標(biāo)時(shí),可采取坐標(biāo)轉(zhuǎn)換計(jì)算得到CAD相對(duì)真實(shí)坐標(biāo),然后進(jìn)行操作。
(1)GoogleEarth中獲取相對(duì)點(diǎn)經(jīng)緯度。
(2)采用坐標(biāo)轉(zhuǎn)換程序?qū)⑾鄬?duì)點(diǎn)經(jīng)緯度轉(zhuǎn)換成平面坐標(biāo),坐標(biāo)轉(zhuǎn)換程序可到網(wǎng)上搜索下載,多為免費(fèi)版,記住轉(zhuǎn)換采用的坐標(biāo)系及中央子午線。
(3)將CAD圖以相對(duì)點(diǎn)為參照移至計(jì)算后的平面坐標(biāo)處 ,單點(diǎn)可采用move或align命令,2點(diǎn)、3點(diǎn)可采用align命令,align命令不支持超過3點(diǎn)。
(4)運(yùn)行本程序,設(shè)置轉(zhuǎn)換采用的坐標(biāo)系及中央子午線,單點(diǎn)移動(dòng)、2點(diǎn)對(duì)齊經(jīng)緯度修正設(shè)為0(計(jì)算結(jié)果也為0),3點(diǎn)對(duì)齊需根據(jù)對(duì)齊后的相對(duì)點(diǎn)XY坐標(biāo)進(jìn)行經(jīng)緯度修正,然后進(jìn)行轉(zhuǎn)換操作。
7、關(guān)于坐標(biāo)系(大地坐標(biāo)、平面坐標(biāo)、投影、北京54、西安80、WGS84)的一些理解
先從簡(jiǎn)單說起,假設(shè)地球是正圓的,地球表面上的一點(diǎn)可以用經(jīng)緯度來表示,這時(shí)的經(jīng)緯度是唯一的。那什么情況下是不唯一的呢,就是地球不是正圓的時(shí)候。實(shí)際也是如此,地球本來就不是圓的,而是一個(gè)橢圓。關(guān)于這個(gè)橢圓并不是唯一的,比如克拉索夫斯基橢球,1975國際橢球等等。橢球的不同主要由兩個(gè)參數(shù)來體現(xiàn),一個(gè)是長(zhǎng)半軸、一個(gè)是扁率。之所以會(huì)有不同的橢球體出現(xiàn),是因?yàn)榈厍蛱罅?,地球不是一個(gè)正橢球體,一個(gè)橢球體不可能都滿足地球每個(gè)角落的精度要求,在一些邊緣地帶誤差會(huì)很大,在赤道附近有適合赤道使用的橢球體,在極圈附近有適合極圈的橢球地,一切都是為了符合當(dāng)?shù)氐木刃枰?。如果你有足夠的需求也可以自定義一個(gè)橢球體。基于以上原因,這時(shí)經(jīng)緯度就不是唯一的了,這個(gè)應(yīng)該很好理解,當(dāng)你使用克拉索夫斯基橢球體時(shí)是一對(duì)經(jīng)緯度,當(dāng)使用另外一個(gè)橢球體時(shí)又是另外一對(duì)經(jīng)緯度。
用經(jīng)緯度表示的是地理坐標(biāo)系,也稱大地坐標(biāo)系。有時(shí)候用地理坐標(biāo)系不夠方便,人們比較習(xí)慣于使用平面坐標(biāo)系,平面坐標(biāo)系用xy表示。
把球體表面的坐標(biāo)轉(zhuǎn)成平面坐標(biāo)需要一定的手段,這個(gè)手段稱為投影。投影方法也不是唯一的,還是為了一個(gè)目的,務(wù)求使當(dāng)?shù)氐淖鴺?biāo)最準(zhǔn)確。所以目前就存在了好多投影方法,比如高斯投影、墨卡托投影等。誰有本事而且有那方面的需求也可以自創(chuàng)一套投影方法。
接下來是關(guān)于WGS84、北京54、西安80的概念:
首先有WGS84、北京54、西安80大地坐標(biāo)系,是用經(jīng)緯度表示的,也有WGS84、北京54、西安80平面坐標(biāo)系,使用xy表示的。WGS84的橢球采用國際大地測(cè)量與地球物理聯(lián)合會(huì)第17屆大會(huì)測(cè)量常數(shù)推薦值; 北京54采用的是克拉索夫斯基橢球;西安80采用的是1975國際橢球,所以地球表面上一點(diǎn)的這三者大地坐標(biāo)是不一樣的,即經(jīng)緯度是不一樣的。
目前比較流行的是高斯- 克呂格投影和墨卡托投影,當(dāng)然也可以用別的投影,看實(shí)際需要了。
涉及到不同坐標(biāo)系,就會(huì)有坐標(biāo)轉(zhuǎn)的問題。關(guān)于坐標(biāo)轉(zhuǎn)換,首先要搞清楚轉(zhuǎn)換的嚴(yán)密性問題,即在同一個(gè)橢球里的坐標(biāo)轉(zhuǎn)換都是嚴(yán)密的,而在不同的橢球之間的轉(zhuǎn)換這時(shí)不嚴(yán)密的。例如,由1954北京坐標(biāo)系的大地坐標(biāo)轉(zhuǎn)換到1954北京坐標(biāo)系的高斯平面直角坐標(biāo)是在同一參考橢球體范疇內(nèi)的坐標(biāo)轉(zhuǎn)換,其轉(zhuǎn)換過程是嚴(yán)密的。由1954北京坐標(biāo)系的大地坐標(biāo)轉(zhuǎn)換到WGS-84的大地坐標(biāo),就屬于不同橢球體間的轉(zhuǎn)換。
不同橢球體間的坐標(biāo)轉(zhuǎn)換在局部地區(qū)的采用的常用辦法是相似變換法,即利用部分分布相對(duì)合理高等級(jí)公共點(diǎn)求出相應(yīng)的轉(zhuǎn)換參數(shù)。一般而言,比較嚴(yán)密的是用七參數(shù)的相似變換法,即X平移,Y平移,Z平移,X旋轉(zhuǎn),Y旋轉(zhuǎn),Z旋轉(zhuǎn),尺度變化K。要求得七參數(shù)就需要在一個(gè)地區(qū)需要3個(gè)以上的已知點(diǎn),如果區(qū)域范圍不大,最遠(yuǎn)點(diǎn)間的距離不大于30Km(經(jīng)驗(yàn)值),這可以用三參數(shù),即X平移,Y平移,Z平移,而將X旋轉(zhuǎn),Y旋轉(zhuǎn),Z旋轉(zhuǎn),尺度變化K視為0,所以三參數(shù)只是七參數(shù)的一種特例。
如果不考慮高程的影響,對(duì)于不同橢球體下的高斯平面直角坐標(biāo)可采用四參數(shù)的相似變換法,即四參數(shù)(x平移,y平移,尺度變化m,旋轉(zhuǎn)角度α)。如果用戶要求的精度低于20米,在一定范圍(2'*2')內(nèi),就直接可以用二參數(shù)法(ΔB,ΔL)或(Δx,Δy)修正。但在實(shí)際操作中,這也取決于選取的公共點(diǎn)是否合理,并保證其足夠的精度。
1、本站程序可能用到的控件comdlg32.ocx、xpcmd.ocx,如位于程序文件夾請(qǐng)復(fù)制到windows\system32或winnt\system32,不存在可到http://www.rb-1.cn下載。 2、如程序運(yùn)行不正常,可到http://www.rb-1.cn下載安裝VB6運(yùn)行庫。如程序啟動(dòng)出現(xiàn)系統(tǒng)錯(cuò)誤,可到http://www.rb-1.cn下載安裝VB6運(yùn)行庫 ,如仍出錯(cuò),可點(diǎn)擊windows開始-運(yùn)行,輸入regsvr32.exe C:/Windows/System32/xpcmd.ocx類似語句。 3、如出現(xiàn)出現(xiàn)運(yùn)行錯(cuò)誤429Active部件不能創(chuàng)建對(duì)象,可運(yùn)行regsvr32 scrrun.dll。 |