陳 靜
(中國(guó)石油集團(tuán)工程設(shè)計(jì)有限責(zé)任公司華北分公司,河北 任丘 062552)
Google Earth路徑信息提取至CAD技術(shù)研究
陳 靜
(中國(guó)石油集團(tuán)工程設(shè)計(jì)有限責(zé)任公司華北分公司,河北 任丘 062552)
在Googel Earth中結(jié)合衛(wèi)星地圖進(jìn)行選線,并將選出的線路各個(gè)折點(diǎn)坐標(biāo)導(dǎo)出至CAD中,自動(dòng)生成矢量圖,與地形圖吻合,生成工程線路走向圖。
Googel Earth路徑信息導(dǎo)出; 坐標(biāo)轉(zhuǎn)換; CAD中自動(dòng)生成工程線路走向圖
長(zhǎng)輸管道工程設(shè)計(jì)過(guò)程中,常常遇到下面的難題:買來(lái)的地形圖日期較舊,現(xiàn)場(chǎng)實(shí)際情況與地形圖描述信息相差很大,而Googel Earth中衛(wèi)星地圖日期較新,卻無(wú)法生成矢量圖出版。解決這一問(wèn)題的辦法就是在Googel Earth中對(duì)衛(wèi)星地圖和地形圖疊加進(jìn)行選線,并將選出的線路各個(gè)折點(diǎn)坐標(biāo)導(dǎo)出至CAD中,自動(dòng)生成矢量圖,在CAD中與地形圖吻合,生成工程線路走向圖。
在Googel Earth中,衛(wèi)星地圖和地形圖疊加方法如下:選擇菜單“添加-影像貼圖”,將會(huì)出現(xiàn)一個(gè)對(duì)話框,修改影像貼圖名稱,然后點(diǎn)取“坐標(biāo)點(diǎn)”項(xiàng),定義地形圖的四個(gè)角坐標(biāo),如圖1所示。
衛(wèi)星地圖和地形圖疊加后,可結(jié)合疊加圖進(jìn)行選線,創(chuàng)建路徑。保存格式有兩種:一種是默認(rèn)的kmz文件,另一種是kml文件。kml同kmz一樣, 用來(lái)描述和保存地理信息如點(diǎn)、線、圖片、折線的,其引入引出方法與kmz類似,只是選擇文件格式為kml就行了。kml與kmz不同的是,它是一種xml描述語(yǔ)言,是文本文件格式的,所以有它的優(yōu)點(diǎn)。比如,可以直接貼在網(wǎng)頁(yè)上,由于是文本文件格式,其格式我們可以掌握,因而能通過(guò)文本編輯器修改kml文檔。
圖1 添加影像貼圖Fig.1 Add the image texture
在kml中,路徑是用 <LineString> 元素創(chuàng)建的。以唐山遷安市附近一條模擬線路為例,看一看以下代碼,您就會(huì)明白Googel Earth是如何用以下代碼來(lái)生成形狀的:
<kml xmlns="http://earth.google.com/kml/2.2">
<Document>
<name>aa.kml</name>
<Style id="sn_ylw-pushpin1">
<IconStyle>
<scale>1.1</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pushpi
n/ylw-pushpin.png</href>
</Icon>
<hotSpot x="20" y="2" xunits="pixels"
yunits="pixels"/>
</IconStyle>
<LineStyle>
<color>ff0000ff</color>
<width>2.2</width>
</LineStyle>
</Style>
<Style id="sh_ylw-pushpin1">
<IconStyle>
<scale>1.3</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pushpi
n/ylw-pushpin.png</href>
</Icon>
<hotSpot x="20" y="2" xunits="pixels"
yunits="pixels"/>
</IconStyle>
<LineStyle>
<color>ff0000ff</color>
<width>2.2</width>
</LineStyle>
</Style>
<StyleMap id="msn_ylw-pushpin1">
<Pair>
<key>normal</key>
<styleUrl>#sn_ylw-pushpin1</styleUrl>
</Pair>
<Pair>
<key>highlight</key>
<styleUrl>#sh_ylw-pushpin1</styleUrl>
</Pair>
</StyleMap>
<Placemark>
<name>路徑</name>
<styleUrl>#msn_ylw-pushpin1</styleUrl>
<LineString>
<tessellate>1</tessellate>
<coordinates>
118.5076323339115 ,39.88492154454674,0
118.5327174406854 ,39.90374842193365,0
118.5554762739915 ,39.90896825588727,0
118.5686286653008 ,39.92087299206633,0
118.5850297467256 ,39.93245270780359,0
118.6086485701484 ,39.93676138390605,0
118.6276615260924 ,39.93730070542584,0
118.6444620176696 ,39.94662872790234,0
118.6538278926043 ,39.95612077295152,0
</coordinates>
</LineString>
</Placemark>
</Document>
</kml>
請(qǐng)注意,它其實(shí)只是一條折線。<tessellate> 標(biāo)簽把線切成小段,而 < coordinates > 標(biāo)簽定義每一個(gè)折點(diǎn)的經(jīng)度、緯度和高度(按照嚴(yán)格的順序)。多個(gè)折點(diǎn)使用空格隔開(kāi),經(jīng)緯度按照WGS84標(biāo)準(zhǔn)。
下一步需要做的工作就是用文本編輯器修改kml文檔,刪除除經(jīng)緯度以外的所有文字,保存為*.txt格式。
由于CAD中使用的是平面直角坐標(biāo),因此需要進(jìn)行 WGS84坐標(biāo)即大地坐標(biāo)到平面直角坐標(biāo)的轉(zhuǎn)換。
常規(guī)的轉(zhuǎn)換應(yīng)先確定轉(zhuǎn)換參數(shù),即橢球參數(shù)、分帶標(biāo)準(zhǔn)(3°,6°)和中央子午線的經(jīng)度[1]。
橢球參數(shù)就是指平面直角坐標(biāo)系采用什么樣的橢球基準(zhǔn),對(duì)應(yīng)有不同的長(zhǎng)短軸及扁率。[1]北京54坐標(biāo)系采用克拉索夫斯基橢球參數(shù),長(zhǎng)半徑為6378245(m),短半徑為6 356 863(m),扁率為1∶298.3;西安80坐標(biāo)系采用國(guó)際地理聯(lián)合會(huì)(IGU)第十六屆大會(huì)推薦的橢球參數(shù),長(zhǎng)軸半徑為6378140±5(m),短半徑為6 356 755.288(m),扁率為1:298.257;WGS-84坐標(biāo)系其參數(shù)采用 IUGG第 17屆大會(huì)大地測(cè)量常數(shù)的推薦值。長(zhǎng)半徑為6378137± 2(m),短半徑為6 356 752.314 2(m),扁率為1 / 298.257 223 563。
按一定經(jīng)差將地球橢球面劃分成若干投影帶,這是高斯投影中限制長(zhǎng)度變形的最有效方法。分帶時(shí)既要控制長(zhǎng)度變形使其不大于測(cè)圖誤差,又要使帶數(shù)不致過(guò)多以減少換帶計(jì)算工作,據(jù)此原則將地球橢球面沿子午線劃分成經(jīng)差相等的瓜瓣形地帶,以便分帶投影。通常按經(jīng)差6°或3°分為6°帶或3°帶。6°帶:以0°子午線算起,每6°為1帶,第1帶的中央子午線為東經(jīng)3°。3°帶:以東經(jīng)1°30′開(kāi)始,每隔3°為1帶,第1帶的中央子午線為東經(jīng)3°。我國(guó)通常采用6°分帶法,將全球分為60個(gè)帶,我國(guó)包括從13帶到第23帶共11個(gè)帶。[2]一般的工程中6°帶應(yīng)用較為廣泛。
對(duì)于中央子午線的確定有兩種方法,一是取平面直角坐標(biāo)系中Y坐標(biāo)的前兩位×6-3,即可得到對(duì)應(yīng)的中央子午線的經(jīng)度。如x=4 417 926.253 m,y=20 628 951.765 m,則中央子午線的經(jīng)度=20× 6-3=117°。另一種方法是根據(jù)大地坐標(biāo)經(jīng)度,如果經(jīng)度是在 114~120°之間,那么對(duì)應(yīng)的中央子午線的經(jīng)度=(114+120)/2=117°[3]。
確定參數(shù)之后,可以用軟件進(jìn)行轉(zhuǎn)換。在目前流行的換算軟件中,存在一個(gè)共同的不足之處,就是靈活性較差,大都需要一個(gè)點(diǎn)一個(gè)點(diǎn)地進(jìn)行,不能成批量地完成,給實(shí)際工作帶來(lái)許多不便。個(gè)別可以批量轉(zhuǎn)換的軟件也存在這樣那樣的錯(cuò)誤。筆者發(fā)現(xiàn),用 EXCEL可以很直觀、方便地完成坐標(biāo)換算工作,現(xiàn)在已有相應(yīng)的小程序被開(kāi)發(fā)出來(lái),經(jīng)筆者大量驗(yàn)算,轉(zhuǎn)換結(jié)果非常正確。此小程序即為“高斯投影坐標(biāo)換算 0.4B” ,用于高斯投影坐標(biāo)變換,中央子午線用“度分秒”表示,方便了獨(dú)立坐標(biāo)系的換算。此程序可正算、反算、換帶、求面積。我們需要用到的是坐標(biāo)正算功能,即由大地坐標(biāo)轉(zhuǎn)換為平面直角坐標(biāo)。注意此軟件使用的大地坐標(biāo)格式為度分秒格式,前面得到的*.txt文件大地坐標(biāo)格式為十進(jìn)制的度格式。為了最終實(shí)現(xiàn)Google Earth路徑信息提取至CAD中,筆者對(duì)此軟件進(jìn)行了改進(jìn)。
我們需要將前面得到的*.txt文件導(dǎo)入至EXCEL中,文本導(dǎo)入向?qū)е械诙阶⒁夤催x“逗號(hào)”,這樣才能以“逗號(hào)”作為分隔符號(hào),將坐標(biāo)的經(jīng)緯度分兩列導(dǎo)入進(jìn)來(lái),見(jiàn)圖2。
圖2 導(dǎo)入經(jīng)緯度坐標(biāo)Fig.2 Import the longitude and latitude Coordinate
導(dǎo)入進(jìn)來(lái)的經(jīng)緯度格式為十進(jìn)制的度格式,我們使用INT、ROUND函數(shù)和CONCATENATE函數(shù)對(duì)十進(jìn)制的度進(jìn)行取整,字符串合并,最終實(shí)現(xiàn)十進(jìn)制的度向度分秒格式的轉(zhuǎn)換。代碼如下:
CONCATENATE(INT(A3),".",IF(INT((A3-INT(A3) )*60)<10,CONCATENATE("0",INT((A3-INT(A3))*60)) ,INT((A3-INT(A3))*60)),IF(ROUND(((A3-INT(A3))*60 -INT((A3-INT(A3))*60))*60,0)<10,CONCATENATE(" 0",ROUND(((A3-INT(A3))*60-INT((A3-INT(A3))*60)) *60,0)),ROUND(((A3-INT(A3))*60-INT((A3-INT(A3)) *60))*60,0)))
通過(guò)“高斯投影坐標(biāo)換算 0.4B” 軟件轉(zhuǎn)換后的直角坐標(biāo)縱坐標(biāo)前少帶號(hào)“20”,我們使用CONCATENATE函數(shù)將直角坐標(biāo)以Y坐標(biāo)在前、X坐標(biāo)在后的方式,合并成一個(gè)坐標(biāo)組字符串,以便CAD讀入,例如CONCATENATE("20",H14,ROUND(I3,3)&",",ROUN D(H3,3)),計(jì)算結(jié)果為“20628951.765,4417926.253”。
“高斯投影坐標(biāo)換算 0.4B” 軟件界面見(jiàn)圖3。
圖3 坐標(biāo)換算軟件界面Fig.3 Coordinate conversion software interface
坐標(biāo)組數(shù)據(jù)讀入CAD中,生成矢量圖形并不難。只需復(fù)制坐標(biāo)組數(shù)據(jù)切換至cad中,點(diǎn)多義線命令,接下來(lái)在命令欄的提示后左鍵點(diǎn)擊,再直接右鍵粘帖,回車,即可最終實(shí)現(xiàn)Google Earth路徑信息提取至CAD中的目的。
為了生成工程線路走向圖,我們還需要將工程所在地段的地形圖作為光柵圖像參照插入,然后將地形圖放大到 1∶1比例,以地形圖上任一點(diǎn)為基點(diǎn),將地形圖移至其實(shí)際直角坐標(biāo)處。最后所做的工作就是裁剪地形圖,進(jìn)行工程線路走向圖出版。
Google Earth路徑信息提取至CAD技術(shù)并不復(fù)雜,合理地利用此技術(shù)能夠提高設(shè)計(jì)質(zhì)量,減少設(shè)計(jì)重復(fù)選線工作量,方便設(shè)計(jì),加快設(shè)計(jì)進(jìn)度。當(dāng)然,也可以反向操作,將 CAD中管線路由轉(zhuǎn)換成Google Earth路徑,可以在Google Earth中進(jìn)行三維瀏覽,方便直觀,有利于管線路由的進(jìn)一步優(yōu)化。
[1]坐標(biāo)的基本概念[EB].百度文庫(kù),2011.
[2]王順.工程測(cè)量中坐標(biāo)系及投影面、投影帶的選擇[EB].中路網(wǎng)博客,2008.
[3]大地坐標(biāo)和北京54等坐標(biāo)系之間的轉(zhuǎn)換[EB]. 百度文庫(kù),2012.
Research on Extraction Technology of Google Earth Path Information to CAD
CHEN Jing
(China Petroleum Engineering Co., Ltd. North China Branch, Hebei Renqiu 062552,China)
The route is first selected from Googel Earth combined with satellite maps, and then the coordinates of each turning point in selected route are exported into CAD to automatically generate vectorgraph, the project route map is finally generated combined with topographic maps,.
Exporting Googel Earth path information; Coordinate conversion; Engineering route maps
G255
A
1671-0460(2014)11-2390-04
2014-03-22
陳靜(1976-),女,四川樂(lè)至人, 2003年畢業(yè)于河北工業(yè)大學(xué),工程師,主要從事油氣儲(chǔ)運(yùn)設(shè)計(jì)工作。E-mail:646685772@qq.com。