1. 程式人生 > >轉——WGS84坐標系圖層轉火星坐標系(是整個圖層轉喲,不是轉單點坐標)

轉——WGS84坐標系圖層轉火星坐標系(是整個圖層轉喲,不是轉單點坐標)

無法 工具 open cal 根據 線性 雙擊 延伸 出版

開篇嘮叨(著急的略過)

大天朝“火星坐標系”小科普:是一種國家保密插件,對真實坐標系統進行人為的加偏處理,將真實的坐標加密成虛假的坐標,加密後的坐標被稱為火星坐標系統。所有的電子地圖所有的導航設備,都需要加入國家保密插件。

  • 地圖公司測繪地圖,測繪完成後,送到國家測繪局,將真實坐標的電子地圖,加密成“火星坐標”,這樣的地圖才是可以出版和發布的,然後才可以讓GPS公司處理。
  • 所有的GPS公司,需要用到導航電子地圖的,統統需要在軟件中加入國家保密算法,將COM口讀出來的真實的坐標信號,加密轉換成國家要求的保密的坐標,這樣,GPS導航儀和導航電子地圖就可以完全匹配,GPS也就可以正常工作。

本帖概述:

當前網上關於“百度坐標(BD09)、國測局坐標(火星坐標,GCJ02)、和WGS84坐標系之間的轉換“的技術貼基本都是限於單點經緯度坐標的轉換,還未延伸到地圖圖層轉換的層面,這讓需要圖層轉坐標的盆友看完依然意猶未盡、不知所措,下面依據本人WGS84坐標系圖層轉火星坐標系的經驗,為現有的技術貼寫個續。時間原因,當前只提供一個半自動的轉換思路,有時間的寶寶自己完善下代碼實現全自動化吧······

————————————— 我是分割—————————————

轉換思路

轉換的基本思路是在控制點坐標值轉換的基礎上,通過Arcgis的配準功能實現圖層坐標轉換;轉換過程大致分為控制點選取、控制點坐標值轉換、配準Links File構建及配準執行四個步驟。

轉換過程

1.控制點選取

控制點選取采用Arcgis的Create Fishnet功能,在圖層範圍內均勻采點。(具體使用方法可參考http://blog.sina.com.cn/s/blog_764bc78a0100qbsh.html)

我的待轉換圖層(WGS84坐標)與生成的漁網和控制點,控制點疏密小夥伴們根據需要自己調整吧。

對控制點圖層增加經緯度屬性字段,並進行Calculate Geometry計算獲得控制點的經緯度,並導出生成控制點文件(.txt)。

技術分享圖片技術分享圖片

技術分享圖片 技術分享圖片

2.控制點坐標值轉換

控制點坐標值轉換請參考之前的技術貼https://github.com/wandergis/coordtransform,把上面獲取到的WGS84坐標系控制點的經緯度坐標值轉換為火星坐標系的經緯度坐標值。

3.配準Links File構建

構建如下圖所示的配準控制點關聯文件(.txt),每一行依次為一個控制點轉換前(WGS84)的經度、緯度和轉換後(火星系)的經度、緯度。

技術分享圖片

PS福利來襲:控制點比較多的時候一個一個轉坐標值並構建關聯文件太麻煩,本人對之前技術貼中的坐標值轉換程序進行了拓展優化,可自動讀取控制點文件,批量處理並生成關聯文件。(拿走不謝:http://pan.baidu.com/s/1boMeIPh)

雙擊運行test中的index.html,輸入控制點文件路徑名稱及關聯文件保存路徑名稱,創建即可。

技術分享圖片技術分享圖片

4. 配準執行

Arcgis中打開待校正圖層,並使處於編輯狀態,右鍵工具欄勾選打開spatial adjustment,設置配準數據全選。

技術分享圖片

打開關聯文件links---open links file,選擇上一步生成的link.txt,可看到關聯控制點被加載到地圖中。

技術分享圖片

技術分享圖片

運行adjust,執行配準,完成圖層坐標轉換。(註意:配準會直接修改原數據,最好備份原數據)。

5.最後,看看轉換效果

底圖是高德(火星坐標系)的道路圖,藍色為轉換前的WGS84坐標路網圖層,紅色為轉換後的火星坐標系路網圖層。紅色和底圖基本重疊,藍色偏差較遠。

說明:由於國測局的加偏並不是線性的加偏,所以各地的偏移情況都會有所不同,但是我們無法得到國測局的加密參數,只能各地都使用公布的相同轉換參數,故準換後會存在一定的偏差,但偏差不大,精度要求不高不影響使用。

技術分享圖片

最後的最後,別問我Arcgis中怎樣加載高德地圖,技術分享圖片問他······

http://www.cnblogs.com/pengchen/p/4771288.html

轉——WGS84坐標系圖層轉火星坐標系(是整個圖層轉喲,不是轉單點坐標)