想找批次轉換虎子山TM2至WGS84經緯度的程式

使用 Garmin eTrex VistaT,查得(自建點)台南市如來天上素食座標:
Datum=WGS84
N23.01810 E120.22692
N23d1'5.2" E120d13'36.9"
170759 2546496 (台灣二度分帶)

Datum=Taiwan
169917 2546700 (台灣二度分帶,Match MMP2003Plus)

Hu-Tzu-Shan
169930 2546727 (台灣二度分帶)

此景點在VistaT地圖上正確的位置座標如上,也就是同一自建點,
切換不同的datum/format組合得到以上數據。

將VistaT的WGS84座標(N23.01810 E120.22692)輸入至
Magic e-Map 3.1查詢,得到的位置是錯誤的(誤差約20公尺)。

然而此錯誤的位置剛好約是Mobile Map 2003 Plus PC地圖
內建景點「如來天上」的位置。

再將同樣的座標值(N23.01810 E120.22692)以+Waypoint .txt
匯入Papago V5.2 PC,得到的景點位置是正確的。

將VistaT的Taiwan TM2座標(169917 2546700 )輸入
Mobile Map 2003 Plus PC地圖得到的座標位置和實際位置
是一樣的。這是否表示MMP內許多地方標示的「虎子山」其實
是TWD67(VistaT datum=Taiwan)?

再將同樣的座標值(169917 2546700)選擇虎子山(Hu-Tzu-Shan)
TM二度分帶的方式輸入福爾摩沙旅行家或GoGoMap或台灣電子地圖網頁
得到的結果也是正確的。

若將VistaT的WGS84(N23d1'5.2" E120d13'36.9")座標輸入
康訊網頁查詢,所得結果座標是在中華路上(如來天上和華銀的中間)。
再將此座標輸入GoGoMap@PC 2003得到和康訊網頁類似的
結果(中華路上)。

由於我去過如來天上素食,所以知道其正確位置在7-11和華銀
的對面(中華路和大橋二街交叉口上,靠南的象限)。

真是愈來愈混亂了,datum/format已經轉的頭昏,再加上
不同圖資間的差異…要直接用座標來取代地址,還有好多東西
要研究。





sm91kimo 於 2003-09-01 15:41 修改過

用 papago v3.x 查,
N23.01810 E120.22692
N23d1'5.2" E120d13'36.9"

"位置在7-11和華銀的對面(中華路和大橋二街交叉口上,靠南的象限)"
是這個沒錯,


虎子山座標(二度分帶)是
X: 169916, Y:2546703
應該是 TWD67, garmin 的 Datum=Taiwan (而不是 Hu-Tzu-Shan).
(
TWD67大地基準點以南投埔里之虎子山起算,
而 TWD67 比 用 1924 Internation 的 Hu-Tzu-Shan 通用,
有些地方在講虎子山座標, 指的是 TWD67
)

<!--引言開始 (您引用了全部文章,請適度引言)-->
sm91kimo wrote:
Datum=WGS84
N23.01810 E120.22692
N23d1'5.2" E120d13'36.9"
170759 2546496 (台灣二度分帶)

Datum=Taiwan
169917 2546700 (台灣二度分帶,Match MMP2003Plus)

Hu-Tzu-Shan
169930 2546727 (台灣二度分帶)

由於我去過如來天上素食,所以知道其正確位置在7-11和華銀
的對面(中華路和大橋二街交叉口上,靠南的象限)。
<!--引言結束 -->
使用4參數法轉換(67->97):
輸入如來天上TWD67 TM2座標169917, 2546700,得到170744, 2546492。

和VistaT的WGS84 TM2座標值(170759, 2546496)差距約15公尺。

再用 proj 轉到經緯度得到:
120d13'36.398"E 23d1'5.012"N
而 VistaT 的 WGS84經緯度是 120d13'36.9"E 23d1'5.2"N
這個台灣坐標演變史,稍翻一下即可清楚…

日治時期地籍坐標、UTM六度分帶坐標、三度分帶坐標、二度分帶坐標
由於虎子山是台灣的地理中心點,因此以它為基點。

經建版地圖你可見到其說明是
高程 :自臺灣基隆平均海水面為零公尺起算      
平面控制:採用聯勤總部測量署民國69年檢測三角點成果,以南投縣埔里鎮虎子山三角點為原點
地理座標:虎子山三角點 東經 120°58′25.9750“北 緯23°58′ 32.3400〞
要說是虎子山系統,也沒人會反對。

由於以前官方仍視 TM2 坐標為機密,TWD67 也說得不清不楚,
所以你無法看到國際組織上有清楚定義的 WGS84 和 TWD67 對應參數。
GPS 各家生產商仍以舊 Hu-tzu-shan 為台灣的 datum ,
以 Garmin GPS 為例,最早是沒有 虎子山 datum, 後來才有…
也不過幾年前才修正增加 Taiwan datum 的選項,
由於之前顯示的錯誤,甚至 datum 為 WGS84 ,也顯示 T67
後雖在使用反應下通通為 TM2

一般使用者也不清楚大地基準和顯示格式有何關係,
登山方面或是搜救系統已有很多實例了…
所以 POI 的彙整及來源,你很清楚,他卻不明白…
真的就是…慢慢研究囉!



In the GPS World, everyday is fun.

假如 garmin 的 WGS84, TMD67 是正確的,
看來 4參數法的誤差了...

提供4參數法的網頁,
http://gis.thl.ncku.edu.tw/coordtrans/coordtrans.aspx
所轉出來的,
TWD67二度分帶座標值 : 169917.000, 2546700.000
TWD97經緯度座標值  : 120:13:36.39873, 23:01:05.01176
TWD97二度分帶座標值 : 170744.055, 2546491.957



<!--引言開始 (您引用了全部文章,請適度引言)-->
sm91kimo wrote:
使用4參數法轉換(67->97):
輸入如來天上TWD67 TM2座標169917, 2546700,得到170744, 2546492。

和VistaT的WGS84 TM2座標值(170759, 2546496)差距約15公尺。

再用 proj 轉到經緯度得到:
120d13'36.398"E 23d1'5.012"N
而 VistaT 的 WGS84經緯度是 120d13'36.9"E 23d1'5.2"N
<!--引言結束 -->
原先的目的是為了要將 MMP 自建景點匯出的.uni 檔轉,
換成 +Waypoint .txt 透過 GTM 給 VistaT 用。

暫時就先用4參數轉換法,雖然有約15公尺的差距,但總是能
轉換成接近的點。

如果MMP可直接匯出(入)+Waypoint WGS84 .txt file(且轉換過
的座標位置在VistaT正確),那就有現成的可用了。而且這樣順便可
和PPG互通自建點,更方便享用yao's GPS 景點分享網站的資訊。

同樣是
http://jidanni.org/geo/taiwan_datums/index.html
所介紹的
cs2cs 程式, (同樣在 proj 的 source 裏, make 完就應該有了)
以及參數,

garmin 的 TWD67
/proj-4.4.7/src >echo 169917 2546700 | ./cs2cs +proj=tmerc +ellps=aust_SA +towgs84=-764.558,-361.229,-178.374,-.0000011698,.0000018398,.0000009822,.00002329 +lon_0=121 +x_0=250000 +k=0.9999 +to +proj=tmerc +datum=WGS84 +lon_0=121 +x_0=250000 +k=0.9999
170758.70 2546493.70 20.09

ppg 同樣的 WGS84 的 TWD67 (虎子山)
/proj-4.4.7/src >echo 169916 2546703 | ./cs2cs +proj=tmerc +ellps=aust_SA +towgs84=-764.558,-361.229,-178.374,-.0000011698,.0000018398,.0000009822,.00002329 +lon_0=121 +x_0=250000 +k=0.9999 +to +proj=tmerc +datum=WGS84 +lon_0=121 +x_0=250000 +k=0.9999
170757.70 2546496.70 20.09


garmin WGS84 顯示的,
170759, 2546496

所以, 利用 cs2cs, garmin 的 TWD67 輸入得到的,
170758.70 2546493.70 20.09
X 誤差不到 1 M,
Y 差 2M多....

利用 cs2cs, ppg 的 TWD67 輸入得到的,
170757.70 2546496.70 20.09
X 誤差不到 2 M,
Y 誤差不到 1 M,

看起來用 cs2cs 準確多了...



<!--引言開始 (您引用了全部文章,請適度引言)-->
sm91kimo wrote:
使用4參數法轉換(67->97):
輸入如來天上TWD67 TM2座標169917, 2546700,得到170744, 2546492。

和VistaT的WGS84 TM2座標值(170759, 2546496)差距約15公尺。

再用 proj 轉到經緯度得到:
120d13'36.398"E 23d1'5.012"N
而 VistaT 的 WGS84經緯度是 120d13'36.9"E 23d1'5.2"N
<!--引言結束 -->
非常感謝ec兄提供的寶貴範例和這些範例中神奇的數字,真是太神奇啦,
所得結果完全符合我的需求。也感謝大家的引導,我才漸漸知道怎麼使用
積丹尼前輩網頁中的資訊。

再次感謝感謝。

以下程式執行後得:
120.226920277778 23.0180752777778

#!/usr/bin/perl

($a, $b) = t67to97(169917, 2546700);
print "$a $b\n";

sub t67to97
{
my($X67, $Y67) = @_;
my($X97, $Y97, $cmd);

$cmd = "echo $X67 $Y67 | cs2cs +proj=tmerc +ellps=aust_SA " .
'+towgs84=-764.558,-361.229,-178.374,-.0000011698,.0000018398,' .
'.0000009822,.00002329 +lon_0=121 +x_0=250000 +k=0.9999 ' .
'+to +proj=tmerc +datum=WGS84 +lon_0=121 +x_0=250000 +k=0.9999';
($X97, $Y97) = `$cmd` =~ /([\d.]+)\s+([\d.]+)/;
($ed, $em, $es, $nd, $nm, $ns) = `echo $X97 $Y97 |
proj -I +proj=tmerc +ellps=GRS80 +lon_0=121 +x_0=250000 +k=0.9999`
=~ /(\d+)d(\d+)'([\d.]+)"E\s+(\d+)d(\d+)'([\d.]+)"N/;
return ($ed + $em / 60 + $es / 3600, $nd + $nm / 60 + $ns / 3600);
}

sm91kimo 於 2003-09-01 23:01 修改過
請問若反過來要從WGS84轉換至TWD67,cs2cs應該加什麼參數呢?

剛亂試了一下,好像加 -I 就可以了。

附加壓縮檔: mobile01-20030901234442-t67-97.rar
座標的問題算是解決大部分了,各種電子地圖間自建景點的互享,
目前較大的問題是 Magic e-Map V2/V3 的圖資和其它大多數
廠商(VistaT, MMP, GoGoMap...)等不同。

以如來天上素食來說,大多數電子地圖的座標都是一致的:
WGS84
N23.01810 E120.22692
N23d1'5.2" E120d13'36.9"
170759 2546496

Taiwan (TWD67, or 虎子山)
169917 2546700

若將上述 WGS84 輸入 Magic e-Map 所得位置和大部分電子地圖
差了約二十幾公尺,如來天上素食跑到華銀那邊去了。
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!