Taiwan datums

台灣大地基準及座標系統相當複雜｡
茲抽絲剝繭,以利開放原始碼應用｡
Taiwan's datums and coordinate systems are quite confusing. On
this page we attempt to sort them out for use in open source tools.
[ (閱本頁於中文框)]
==TWD67 vs. TWD97==
現代台灣地圖只能出現下列座標: Modern Taiwan maps will only have the following coordinates, if any:
#TWD67
##經緯度 longitude/latitude
##二度分帶 2-degree transverse Mercator
#TWD97/WGS84
##經緯度 longitude/latitude
##二度分帶 2-degree transverse Mercator
===How can I tell if a map is 怎判斷某圖為 TWD67 vs. TWD97?===
TWD67 例 examples:
* 東北角三貂角燈塔東邊外海就是東經122度整. 若是TWD97時, 則122度線穿越過燈塔西側.
* 國道一號新竹公道五交流道為東經121度 Expressway 1's Gongdaowu interchange lies upon 121.00 deg. E. == 250000m E.
* 台北市復興南路為 Taibei City's Fuxing S. Rd. lies upon 304000m E.
* 豐原火車站前為 221000m E. lies in front of Fengyuan railway station.
若以上偏約 If the above are off by about 828 meters 公尺, 該圖則 then the map is TWD97.
===混淆 TWD67, TWD97 易耽誤救援 confusion can delay rescues===
If you mix up TWD67 and TWD97, your results could be off by a kilometer -- dangerous!
它們若弄錯,測的結果可能差一公里, 會釀成新聞如:
*2003年7月民航局公告總統府限航區座標烏龍事件,錯用舊座標系統
甚至有危險｡ 那末, 今日除了東經､北緯外, 必加個TWD67或TWD97始有意義｡ So, these days, beside longitude and latitude, one must also mention "TWD67" or "TWD97" for the data point to be useful. 一個負責任的地圖出版社應同時載TWD67及TWD97才對｡ 建議如公里方格前者用黑, 後者用籃, 而兩者之經緯度於邊遠用短線｡ 一看 TWD97 是用籃方格, 或至少邊緣短線｡ A responsible map publisher should print both grids...
2003年網友說:
應詳細介紹目前台灣地區 TWD67/TM2 及經緯度, TWD97/TM2 及經緯度, WGS84/經緯度的使用現況, 釐清許多人對此的錯誤觀念,同時我也與消防署詢問搜救地點坐標通報的規範時, 對方告知只要求以經緯度通報, 但是沒有要求是以 WGS84 為 datum, 追問下竟然他們根本不知道原來還有 TWD67,TWD97, WGS84 的差別, 我就舉三貂角雷達為例,今天收到民航局的每月通告, 提到三貂角新近安裝啟用航路搜索雷達, WGS84 經 緯度是 N25度0分27.5秒, E122度0分3.9秒, 高度128.4公尺(421英尺), 馬上查對 上河文化的北島地圖發現居然這地點是在海裡面, 再看看其他地圖發現政經版 1/25000地圖的, 戶外生活〔方格而已〕的全部都是如此, 因此判斷這應該是這些國內地圖都是使用TWD67所致, 也就是全部都是以虎子山為基準算出來的｡ 如果你要再確認, 不妨用松山機場報道中心點位置(N25度04分10秒, E121度33分6秒)確認就知道了!!他們才恍然大悟, 我給了 Garmin 何經理電話請他們聯絡, 因此你真的必須要建立此一網頁, 如果最高搜救機關都沒有規定通報規則(最好以 WGS84 為 datum 的經緯度), 更何況下屬警察機關, 搜救單位(民間或是消防隊), 以及對登山人員的宣導, 徒增搜救成本｡ 對了何經理提到 TWD97/TM2 及經緯度已經使用於新出版的航照圖, 只是不知道何時民間登山常用的經建版 1/25000 及 1/50000 地形圖會改變 datum, 或許你也可以以此向相關單位詢問未來推廣 TWD67 改為 TWD97 的轉變時程, 因為這對全台灣的坐標通報實在有很大的影響, 相信你是此中專家, 一定知道相關影響層面｡
大約需經某難發生, 單位們才懂得三種 datum 之別｡ 反正, 今日光報個 x, y 不夠, 必須加註用的是哪個基準 (datum)才安全｡
總而言之, 救難者應尋三處 To sum it up, rescuers should check three places:
 Confusion matrix
他報的是 They report 	我拿的圖是 Our map is 	我應查 We should check
WGS84 	WGS84 	原報的 original X,Y
WGS84 	TWD67 	X-828m, Y+207m
TWD67 	WGS84 	X+828m, Y-207m
TWD67 	TWD67 	原報的 original X,Y
正如病人說他是AB血型, 仍必測試始能輸血, 無法確定報的人搞清什麼 WGS84/TWD67,
又支派的人員圖堆亦然搞不清, 故建議直昇機飛上述三處, 成西北西東南東狀,
過程中指揮中心千萬不要替人家轉換座標, 以免混淆極增｡
註:我們無實際救難經驗, 以上屬猜測理論｡
Recommendation to rescuers: just like medical workers still will test
the patient's blood type before giving them a transfusion even though
they insist they are type AB etc., we shouldn't trust the reporting
public's vague notions of datums, if any. Nor should we trust various
rescue teams with piles or PDAs of various maps. Therefore the
helicopter should check in the above three places, which form a
west-northwest - east-southeast line. During the process the
coordination center should not "help" anybody by converting the
original reported coordinates, lest confusion increase exponentially.
Note however that we have no rescue experience and the above is all a
guess as to how things should operate.
The finder of
confluence 24N 121E
reassures us he was using WGS84 and not TWD67.
===台灣地區投影座標系統 Basic facts for both TWD67 and TWD97===
TWD basics
Latitude origin 	0 degrees
Central meridian	121 degrees E (台灣本島, 東引), 119 degrees E (澎湖, 金門, 馬祖)
Scale factor 	0.9999
False easting 	250000 m
False northing 	0 m
均為二度分帶投影 They are both 2 degree wide transverse Mercator projections. They
differ in their ellipse, see below.
===Q&A===
;Q. 有沒有所謂的原點 Is there an origin (0,0)?
:A. 至赤道與東經121度, 頭再往西, 往前250公里｡ 此時已離地面相當高｡ 此點好像是原點｡Go to the junction of the equator and 121 degrees east longitude, then point one's head west and go straight 250 km. When one stops one will be considerably above the earth's surface. I'm pretty sure that is the "origin".
;Q. TM2兩個緯度E､N, 是不是往正北方, N就會增加; 往正東方, E就會增加? If I go due east or north, will that increase TM2's E and N values?
:A. 不完全一致｡ 拿地圖仔細看, 唯一TM方格線與經､緯線完全平行就是250kmE 即東經121度那條, 其他有多少歪斜｡Not exactly. Take a good look at a map. The only place where the longitude and latitude grid lines are parallel to the TM2 grid lines is 250 km E., i.e., 121 east longitude, that single line. All other lines are more or less askew.
==TWD67, TWD97, WGS84 Q&A==
;Q. 我買的的 GPS 沒有 TWD97 這個新的大地基準 (datum). 未來遇到用 TWD97 的地圖怎麼辦? 聽說設定 WGS84 就可以了;好像 WGS84 與 TWD97 只差幾公分,未來幾十年也如此嗎?
:A. 我們一般談到大地基準如 TWD67 或 WGS84 或 TWD97, 通常可由兩個方向來說明
:# 橢球體的大小及方位: 所謂橢球體的大小是指的我們居住的地球有多大, 橢球體的方位是指這個球體應該擺在什麼位置才能與地球重合的很好. TWD67 與 WGS84 的球體大小不等, 而 WGS84 與 TWD97 的球體大小兩者可說相同.
:# 坐標基準: TWD67 的坐標基準在埔里, GPS WGS84 坐標基準不在埔里, TWD97 的坐標基準在台灣地區的內政部八個追蹤站的坐標值為基準. TWD67 的坐標基準與 WGS84 坐標基準兩者不一致, 約相差1公里. TWD97 的坐標基準與 WGS84 坐標基準兩者相差不大, 約幾公分至數十公分.因此, 未來使用 TWD97 的地圖與 GPS 定位的坐標, 在導航及登山的需求上應可視為一致.
;Q. 看了您解答就明白了,TW 是指 Taiwan, 但還是不知道 D 是指什麼??
:A. Datum(大地基準)
;Q. TWD67 名字中的 '67' 是因為應用的是國際上的 Geodetic Reference System 1967,而 TWD97 名字中的 '97' 是因為是國內 1997.1.1 起算?
:A. TWD67 是內政部公告之坐標基準係引用國際上的 Geodetic Reference System 1967 的橢球體大小, 作為臺灣地區大地基準的橢球大小, 其坐標基準在埔里. TWD97 名字中的 '97' 是因為臺灣地區於 1997 年以 GPS 重新計算坐標基準, 於 1997 年完成, 他的橢球體大小是採用國際上的 Geodetic Reference System 1980 的橢球體大小, 此橢球大小與 WGS84 的球體大小兩者可說相同.
;Q. 我們不是要求很準,只是希望出外時有三個參數可以背來做臨時 TWD67 與 TWD97 轉換｡好像全省可以用某點之 TWD67 座標,其X(東)加 828 米,Y (北)減 207 米,Z (高度)加 20 米(按:報｢海拔｣,仍用 TWD67 的 Z 值…否則連基隆水面也高 20 米｡ ｢真高｣加 20 米得 WGS84/TWD97 的｢橢圓球高｣)(但 Z 的準確度不如 X,Y),以大約達到其 TWD97 座標}誤差不會超過 5 米不管你在台灣本島哪裡嗎?洪老師有沒有覺得更好用的參數?當然這個方法 只適合手上無電腦用時｡
:A. 實用上於導航用途方面, 應可使用上述的方法, 簡易作一個坐標轉換. 否則於登山地區附近找一座已知 TWD67 坐標的控制點, 同時進行 GPS 定位得到 WGS84 的坐標, 如此大致可得到兩者坐標基準的差值, 再以此差值作為這區域的坐標轉換資料.
==座標轉換基本觀念Coordinate tranformation==
基本上座標轉換可分成二大部分來看,
#座標格式轉換(Coordinate conversion),這部分只有經緯度球面座標, 方格平面座標( 例如:台灣常用的TM2二度分帶座標)及XYZ三維直角座標的相互轉換, 均在同一個座標基準下, 例如: TWD67 TM2<-->TWD67 經緯度, 因此依照公式精細計算是沒有任何誤差的. 計算公式請見附件.
#基準轉換(Datum transformation), 這是最複雜也是學術研究報告最多的主題, 主要有三個類別來進行,當然不同轉換法的誤差大小不一｡
##二維平面基準轉換: 這類都忽略高度轉換, 僅以X,Y值以數學公式運算.
###二參數轉換:如上河文化提到的座標概略換算公式.
###三參數轉換
###四參數轉換(正形轉換Conformal transformation或Helmert轉換):成大水工所轉換網頁的四參數
###六參數轉換(仿射轉換Affine transformation):地籍圖座標轉換常用
###二次多項式轉換
##三維空間基準轉換: 這類也是以數學公式進行座標與高度的轉換, 當然也有以高度為0來進行運算.
###三參數轉換: DX,DY,DZ平移參數
###四參數轉換
###標準Molodensky轉換:Garmin GPS的Molodensky轉換, 常用於民用GPS, 初期是美國國防部應用於軍事上,各國轉換參數可以在WGS84技術文件TR8350.2中找到, 有DX,DY,DZ,DA,DF, 另有簡化Molodensky轉換(Abridged Molodensky transformation).
###七參數轉換:主要有Bursa-Wolf模式及Molodensky-Badeka模式兩種, 專業用GPS常用Bursa-Wolf七參數轉換等等, 七參數轉換誤差會比三參數來的小.
###十參數轉換(Krakiwsky-Thomson transformation)
###多項式轉換(MRE,Multiple Regression Equation複迴歸法)
###二階段基準轉換法
##曲面擬合模式(surface modeling):這是最精確的全國座標轉換常用方式, 目前許多國家都用網格轉換法(最小曲率法), 如: 台灣MTWDCON程式, 美加地區NADCON程式, 澳洲NTv2程式, 將轉換區域化成1000m×1000m的方格來對照TWD67, TWD97的座標, 網格中的座標則用內插法推算出來. 當然不同研究學者也持續發展不同的轉換模式, 反正有強大的電腦進行推算, 但是本類的模式轉換是無法用單一數學公式計算的. 有以下幾種方法:
###最小曲率法(Minimum Curvature Interpolation)
###最小二乘共置法(Least Squares Collocation)
###全區多項式法(Global Polynomial)
###克力金法(Kriging)
以上的分類方式是進行台灣地區三角點轉換過程中閱讀台灣許多學術文獻歸納出來, 這樣應該有助於初學者理解與系統性學習. 當然實際要進行上述轉換計算時, 一定會牽涉到橢球體相關參數, 及三角函數, 建議閱讀附件資料比較容易著手計算. 台灣地區基準Molodensky轉換參數
===轉換參數===
台灣地區現有轉換參數與精度:(TWD67與TWD97相互轉換)專業人員通常以小區域轉換, 以取得極高(公分級)的精度, 不以全島為轉換區域.
#最小曲率法: 官方版台灣本島轉換程式MTWDCON宣告精度為30cm.
#二參數轉換: TWD67橫座標=TWD97橫座標-828公尺, TWD67縱座標=TWD97縱座標+207公尺, 誤差約在5公尺以內.
#平面四參數轉換:僅適用台灣本島,最大誤差約2公尺X67=X97-807.8-A*X97-B*Y97; Y67=Y97+248.6-A*Y97-B*X97X97=X67+807.8+A*X67+B*Y67; Y97=Y67-248.6+A*Y67+B*X67A=0.00001549, B=0.000006521 -- 即下列 Perl Geography-NationalGrid-TW.
Molodensky三參數轉換:(GPS手持機適用)
#Molodensky轉換(參數供程式進行TWD67<->TWD97雙向轉換):
##台灣本島參數DX, DY, DY, DA, DF為-685, -470, -237, -23, -0.00081204, 精度約1.64公尺.
##澎湖地區參數DX, DY, DY, DA, DF為-752, -349, -179, -23, -0.00081204, 精度約2.44公尺, 最大為4.09公尺. 使用時記得設定User Grid(使用者自訂方格): 中央經線--E119度, 尺度比:0.9999, 橫座標平移量:250000m, 縱座標平移量: 0
#Molodensky轉換(參數供程式進行Hu-Tzu-Shan 1950<->TWD97雙向轉換):
##台灣本島參數DX, DY, DY, DA, DF為-637, -549, -203, -251, -0.14192702, 精度約5公尺以內. 若用於澎湖地區則誤差擴大至9.22公尺.
##澎湖地區參數DX, DY, DY, DA, DF為-650, -544, -199, -251, -0.14192702, 精度約2.89公尺. 
Bursa-Wolf七參數轉換:(GIS,座標轉換等軟體適用)
#Bursa-Wolf七參數轉換(參數供程式進行TWD67<->TWD97雙向轉換):DX,DY,DZ= -730.160, -346.212, -472.186rX= -7.968" (-0.00003863弳), rY= -3.5498" (-0.00001721弳), rZ= -0.4063" (-0.00000197弳)dS/Scale= -18.2ppm (或0.99998180)座標轉換精度: 台灣本島約1公尺, 澎湖約5公尺, 金門約20公尺, 馬祖約40公尺. 尚可滿足於地圖查對位置這類不精確用途,驗證精確與否請參考TWD67與TWD97座標共同點檔 common points file｡
#Bursa-Wolf七參數轉換(參數供程式進行Hu-Tzu-Shan 1950<->TWD97雙向轉換):DX,DY,DZ= 541.3141, 48.2482, 57.1666rX= -2.8906", rY= 22.247", rZ= -37.512"dS/Scale= -2.847ppm座標轉換精度: 台灣本島約1公尺, 澎湖約10公尺.
#Bursa-Wolf七參數轉換(參數供程式進行Bessel<->TWD97雙向轉換):DX,DY,DZ= -1104.5, 229.5, 71.2rX= -0.01" , rY= 0.02", rZ= 0.04" dS/Scale= -10ppm 座標轉換精度: 台灣本島約3公尺.
中國地區現有轉換參數與精度:(尚未更正!)
#Bursa-Wolf七參數轉換(參數供程式進行北京54<->WGS84雙向轉換):
DX,DY,DZ= 541.3141, 48.2482, 57.1666rX= -2.8906", rY= 22.247", rZ= -37.512"dS/Scale= -2.847ppm座標轉換精度約1公尺
#Molodensky轉換(參數供程式進行北京54<->WGS84雙向轉換):(GPS手持機適用)
DX,DY,DZ= 541.3141, 48.2482, 57.1666rX= -2.8906", rY= 22.247", rZ= -37.512"dS/Scale= -2.847ppm座標轉換精度約1公尺.
免費座標及基準轉換程式:
#Inverse Molodensky程式(計算三參數)
#Molodensky轉換法Geotrans程式
===附件 Appendix===
附件檔案內容請下載
#二維及三維座標基準轉換圖示
#座標格式轉換公式及說明
#各類基準轉換公式及說明
#NATO發佈各國基準轉換Molodensky參數及七參數
#各國平面投影座標系統列表
*Working with Coordinates and Units 對於座標 Coordinate 及基準 datum 有極清楚且簡單的說明, 非常容易讓一般人理解｡
===政府的封閉程式 Government's closed-source programs===
*.PDFs(broken link)林務局
*.ZIPs(broken link)內政部
本來應該能夠由內政部地政司衛星測量中心 取多些點做 67, 97 比較, 但因其成果供應要點: ｢…以公尺為單位,且其個位數值以零替代｣, 故休想｡ 所謂｢公｣佈和｢公｣告 TWD97 的｢公｣字程度就這樣｡
===開放原始碼程式 Open source programs===
Perl Geography-NationalGrid-TW, 採之之例 example program using it
===其他程式 Other programs===
* 中研院GIS研究支援工具 Tools for Windows.
*2007年 note
這兩處座標轉換程式不如自行輸入參數來的精確, 使用時請務必留意!
==座標轉換舉例 Coordinate Transformation examples==
===經緯度與二度橫麥卡脫投影之間 Between latitude/longitude and 2-degree transverse Mercator projection===
proj is free software:
GNU/Linux example, 東郡大山 Dongjundashan TWD67: given x and y, compute longitude and latitude (and store them in variable LL):
 $ LL=$(echo 258566.571 2613894.788 |
 proj -I +proj=tmerc +ellps=aust_SA +lon_0=121 +x_0=250000 +k=0.9999)
 $ echo $LL
 121d5'2.255"E 23d37'42.655"N
Now convert back to x and y:
 $ echo $LL |
 proj +proj=tmerc +ellps=aust_SA +lon_0=121 +x_0=250000 +k=0.9999
 258566.57 2613894.80
(If we were using TWD97 instead of TWD67, we would instead use:)
 $ proj +proj=tmerc +ellps=GRS80 +lon_0=121 +x_0=250000 +k=0.9999
The ellipses we use can be seen with "proj -le":
* For TWD97 use 用:GRS80 a=6378137.0 rf=298.257222101 GRS 1980(IUGG 1980)
* For TWD67 用:
** Use: aust_SA a=6378160.0 rf=298.25 Australian Natl & S.Amer. 1969
** 不要用 DON'T use: GRS67 a=6378160.0 rf=298.2471674270 GRS 67 (IUGG 1967)I.e. the TWD67 spheroid is NOT the International 1967. 名字會亂, 參數才算｡ Names get confused; parameters are what count.
*;Q.The HTZ (Hu Tzu Shan) datum predefined in ArcInfo/ArcGIS is set to Int/Hayford 1909. Have ESRI (Arc authors) made a mistake?
*:A.The parameters are the same as International 1924, so it is correct for Hu-Tzu-Shan 1950. See https://github.com/OSGeo/PROJ/issues/2534. If you want to be sure, check that a=6378388.0, rf=297, or use EPSG:4236.
;Q.是否可以提供經緯度轉二度TM座標公式? Where can I see the formula for latitude longitude to TM conversion?
:A.那麼, 既然是自有軟體, 也許看 Well, since it is Free Software, perhaps see the source code to proj 的原始碼? Also note freegis.org .
GPSFUN(broken link) 有如下之比較 has a comparison like:
大地基準 Datum 	EPSG Code 	參考橢球 Reference spheroid 	長半徑 major axis "a" 	扁率 flattening "f"
HTZ 1950"hu-tzu-shan" may be confused with many other CRS using the same origin point. Use EPSG code or at least attach a year. 虎子山容易和使用同樣原點的座標系統混淆。盡量使用EPSG碼，至少也要加年份。 	EPSG:4236 	International 1924* 	6378388 	1/297
TWD67 	EPSG:3821 	GRS67 modified 	6378160 	1/298.25
TWD97 	EPSG:3822Also EPSG:3823, EPSG:3824	GRS80 	6378137 	1/298.257222101
WGS84 	EPSG:4326 	WGS84 	6378137 	1/298.257223563
台灣經緯度及二度TM座標轉換 Online TM to lat/long transformation (for TWD67 to TWD67, TWD97 to TWD97 will be off by .0001 degree), 但無原始碼, 無千分之一度之下數字, 無清楚網站名｡ but no source code, no decimals below 0.0001 degrees, no clear website name.
====cs2cs 例 example====
And here is a cs2cs (part of the proj software) example:
 echo 121 24|cs2cs -f %.0f +init=epsg:4236 +to +init=epsg:3826 > /tmp/n
 echo 121 24|cs2cs -f %.0f +init=epsg:3824 +to +init=epsg:3828 >> /tmp/n
 perl -anwle 'for ( 0, 1 ) { $m[$_] += $F[$_] * ( $ . %2 ? -1 : 1 ) }END { print "@m"; }' /tmp/n
 -829 204
 egrep -B 1 4236\|3826\|3824\|3828 /usr/share/proj/epsg
 # TWD97
 <3824> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
 --
 # Hu Tzu Shan 1950
 <4236> +proj=longlat +ellps=intl +towgs84=-637,-549,-203,0,0,0,0 +no_defs <>
 --
 # TWD97 / TM2 zone 121
 <3826> +proj=tmerc +lat_0=0 +lon_0=121 +k=0.9999 +x_0=250000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
 --
 # TWD67 / TM2 zone 121
 <3828> +proj=tmerc +lat_0=0 +lon_0=121 +k=0.9999 +x_0=250000 +y_0=0 +ellps=aust_SA +units=m +no_defs <>
我們唯一的成就是輸出近似我們的黃金 "-828, 207", 並沒有其他主張! Our only accomplishment is printing out something near our golden "-828, 207". No other purpose is intended!
===dx, dy, dx, da, df vs. Garmin===
Garmin "Hu-tzu-shan" 不是 is different from TWD67，有高達10m誤差。
*要用TWD67，請看 To import TWD67, use millerliu提供的 Answer by Miller Liu, 2008年. dx, dy, dx, da, df = -685, -470, -237, -23, -0.00081204
*要用真正的 HTS 1950，請看 Regarding DA, DF, DX, DY, DZ
Garmin T67 Mistake: Garmin 牌 GPS，到 2000 年為止的小問題是｢TM2｣無論datum都是顯示 ｢T67｣。若選 WGS84 datum 怎麼能還要顯示｢T67｣呢?當然這不妨礙功能只是難看｡2003年Cygnet說，經屢次反應修好了。Garmin machines used to mislabel "TM2" grid as "T67" regardless of datum -- this is nonsense under WGS84, because 67 refers to TWD67! They fixed it in 2003.
In 2004/03, Garmin added a new 長了一個新 "TAIWAN" 大地基準選項，真的是 which actually is TWD67 according to the instruction books, so there's no need for a 所以不需要再設定 user datum. Why is the old 爲什麽之前的 HTZ 1950 so close to 也貼近 TWD67?
*Miller: Hu-Tzu-Shan datum 與Taiwan(TWD67) datum其實是兩個完全不同的座標基準, 兩者參考橢球體分別是International 1924, 及GRS67, 但是由於過去都是以虎子山為全台灣所有三角點的座標原點, 因此此處以三角測量方式推算出來的全台各處座標基本上都相差無幾, 也就造成外界將這兩個座標基準加以混淆, 同一三角點以Hu-Tzu-Shan datum 與Taiwan(TWD67) datum表示座標僅偏差30公尺不到. 甚至日治時期1910年起採用的Bessel 1841參考橢球體也是以虎子山為座標原點, 也有偏差距離不大相同的現象. 這點疑問已與GIS教授確認過了.They are actually different datums with different ellipsoids. However, because they use the same Hu-Tzu-Shan origin point to start their triangulation work, the results are close to within 30 meters over the whole island. Even the earlier 1910 datum (No EPSG code), which uses Bessel 1841, is not far off.
==TWD97 vs. WGS84==
TWD97 is very close to 幾乎等於 WGS84. On a more technical level it is a realization of ITRF94, and ITRF frames are generally very close to WGS84 on the Cartesian level. There was an update in 2010, TWD97[2010], to correct for earthquake drift.
On the ellipsoid level the two are very close too. Check out this example of TM projection:
 $ a="120d51'58.2\"E 24d10'54.2\"N"; echo $a #(just see what it looks like)
 120d51'58.2"E 24d10'54.2"N
 $ echo $a | proj +proj=tmerc +ellps=GRS80 +lon_0=121 +x_0=250000 +k=0.9999 -f %.5f
 236402.76293 2675155.08596
 $ echo $a | proj +proj=tmerc +ellps=WGS84 +lon_0=121 +x_0=250000 +k=0.9999 -f %.5f
 236402.76293 2675155.08604
 $ echo 2675155.08604 - 2675155.08596 | bc
 .00008
==二度分帶各投影帶 Zones==
*+lon_0=125 # Chiwei Is. 赤尾島
*+lon_0=123 # Diaoyutai, Pengjia Is... 釣魚台､黃尾嶼､彭佳嶼､棉花嶼
*+lon_0=121 # Taiwan Island 台灣本島, 花瓶嶼
*+lon_0=119 # Penghu Is. 澎湖, Jinmen 金門, 馬祖列島(含東引)
**舊例 Older examples
*** Taiwan_Power_Company_grid#金門 Jinmen
***Taiwan_Power_Company_grid#馬祖 Mazu
*+lon_0=117 # Dongsha Is. 東沙群島
*+lon_0=115 # Nansha Is. 南沙群島(南沙島, 太平島)
gpsman author "M" == Miguel Filgueiras writes:
;M> As far as I understand from your description these 2 degree zones centered from 115 to 125 will cover longitudes from 114 to 126. Does these cover all Taiwan territory?
:Yes, everything that Taiwan owns or still claims to own.
;M> I also take it that these zones cover all the latitude range, that is, for each central meridian there is a single zone for all the possible latitudes in Taiwan.
:Yes, and each has Y=0 at the equator, and X=250000 at the central meridian.
;M> Another point, could you please confirm that the correct scale factor is k0=0.9999.
:Yes, that's right, 0.99990 And note that these 6 zones can be used with both the TWD67 or TWD97 datums.
==高程轉換 Vertical transformations==
TWD67--TWD97高程轉換可利用內政部提供的臺灣地區大地起伏計算程式Geoidint專門進行高度轉換, 目前大地起伏網格檔僅以台灣本島為轉換範圍, 外島無法轉換高度. 台灣地區平均海拔高低於橢球高約20m, 各地區不同. Geoidint是內插程式, 可將大地起伏網格值內插任一位置(輸入十進位之經緯度值),計算依據的大地起伏網格檔(twgeoido1.grd3)由黃金維教授所提供,為 30〞×30〞之解析度(內政部,2001),此網格與實測大地起伏比較,在西部平原可達公分級之精度(Hwang, 1997), 但是在高山地區誤差依然較大｡將橢球高減去內插計算所得之大地起伏值,即可得正高｡台灣地區大地起伏值一圖可參考 2009 年測繪科技成果發表研討會論文集第 1-9 頁
目前最新版地球重力模型 EGM2008 已經公佈 http://earth-info.nga.mil/GandG/wgs84/gravitymod/egm2008/index.html , 前述高程轉換機制將會更為精確, 無論平原地區或高山地區均會有明顯改善. 2009 年測繪科技成果發表研討會論文集第 1-5 至 1-9 頁提出的新大地起伏模式便納入 EGM2008 資料, 並已全島38個檢核點進行精度評估, 誤差平均值從7.2至31.7cm, 較過去更為精確.
==將 TM 或經緯度換成台灣地圖編號 Turn TM or longitude/latitude into Taiwan map numbers==
 $ echo 120.85788 24.18347|./longlat2taiwanmapno
 #1> 120.85788 24.18347
 9521-2-025 9521-2-09 9521-2-NW
 $ echo 9521-2-025|./taiwanmapno2longlat
 #1> 9521-2-025
 120.850 24.175
;Q. 台灣官方地圖的圖號的訂定,是以 東經 73 度 30 分和北緯 14 度為標準分幅線,每 30 分 * 30 分為一幅,即以台中區圖號 9521 為例,為距東經 73 度 30 分的第 95 張圖及距北緯 14 度第 21 張圖,這個算法我明 瞭｡但不明瞭的是,為什麼訂出東經 73 度 30 分和北緯 14 度為標準分幅線呢?我是 猜想這分幅線是否為中國的邊疆?
:A. 看起來如此｡
台灣地圖有趣的地方 Taiwan map curiosities:
像片基本圖 1:5000 版尾編號 001 至 100 以三位數與二位數的 1:10000 版來區別;
但本來若用 00 至 99 好處多多:簡短又不造成右一排開頭數位不規則 51…59､60
Orthophotomaps are labeled from 1-100 instead of the more systematic 0-99...
==台灣軍圖 Taiwan Army maps==
台灣軍方地圖使用座標格式應該是UTM(六度分帶),大地基準則是從Hu-Tzu-Shan, TWD67演進到TWD97｡
PLGR(軍用精準型GPS)軍方學術文章曾提到:
台灣地區座標系採用｢1967年大地參考系統｣ ( Geodetic Reference System 1967;GRS-67)橢球體,以南投縣埔里鎮之虎子山為大地基準原點,故泛稱為｢虎子山座標系｣｡軍用基本地形圖採橫麥卡脫投影(UTM)､6度分帶座標,本島中央經線為123度(51帶),澎湖地區為117度(50帶),橫座標西移500,000公尺,中央子午線尺度比率為0.9996｡ 
聯勤401廠於民國88年起,為配合GPS之運用,於軍圖GRS-67系統下之UTM方格網,加印WGS-84之方格網(以紫色短線加印於圖幅邊上),此種軍圖目前已撥發部隊使用｡使用者可同時運用兩種座標系,檢查PLGR內建之WGS-84座標系與USER1轉換GRS-67座標系之精度｡
==地籍座標 Cadastral coordinates==
若在地政事務所看到以六台尺(1.818公尺)為單位之老座標, 就是所謂的地籍座標｡目前已經改以公尺為單位, 國土測繪中心已經開發完成｢臺灣地區地籍測量坐標系統轉換程式｣.
If in a land office you stumble upon an old grid that uses the Japanese 20/11 meters per
unit, that is the so called Cadastral coordinates.
參考 Mugnier 得採: 
Using numbers from Mugnier we arrive at:
 proj +proj=gstmerc +ellps=bessel +lon_0=120.683329 +lat_0=24.145056 +to_meter=20/11 # https://zh.wikipedia.org/wiki/臺中公園#三角原點與其紀念碑
but that is for getting results that closely match today's WGS84... A proper way is to use the coordinates of the day, 100 years ago, and then apply a transformation... 
但據:
￼台灣地區在光復以前之測量控制點有兩大各自獨
立之座標系統
￼一為日本陸地測量部之路測系統,以南投埔里虎
子山天文點為基點,採用白塞爾(Bessel,1841)橢
球元子計算控制點之經緯度,再改算為平面直角
坐標計算控制點之經緯度,再改算為平面直角坐
標｡
￼
另一為地政單位之地籍測量系統,以台中公園內
之地籍三角點為基點,直接以平面直角坐標推算
全省之地籍控制點坐標｡二者構成之基礎不同,
其間並無可資聯繫之關係｡
轉換程式 Programs:
*Taiwan datums/cad2twd67: 地籍座標轉換成TWD67 Taiwan "Cadastral" to TWD67 coordinate transformation
*bnpcoa2shp: .coa, .bnp 格式轉成 format conversion to Shapefile.
*bnpcoa21kml: 台灣地籍 .coa, .bnp 格式中一筆地轉成 KML Taiwan cadastral .coa, .bnp format to KML for one parcel
*par2kml: 台灣地籍 .par 格式中幾筆地中心點轉成 KML Taiwan cadastral .par format to KML for a range of center points
(Re: Availability of .PAR, .BNP, .COA files):
積丹尼先生/女士您好:
您於100[2011]年4月14日寄給本[地政]司的電子郵件,案件編號為1000418229486,經交由本司地政資訊作業科查處結果,答覆如下:
 有關詢問地籍圖檔資料格式乙節,按所謂(.PAR)､(.BNP)､(COA)格式,是依據fortran語言欄位定義,其功能是地政機關本身便於交換
地籍圖資料所定之標準,至宗地資料檔､地號界址檔及界址坐標檔是依上該格式標準所產製之地籍圖檔,僅供地政機關內部使用｡又台端如
有大量地籍圖資需求,依｢電子資料流通作業要點｣規定,可至地政事務所申請所需地籍圖資｡本案造成您使用地政資訊之困擾,至感抱歉
｡謝謝您的來信｡
承辦人:陳永志
聯絡電話:04-22544496#210
另參地籍圖資網路便民服務系統.
==參閱 See also==
*Taiwan Power Company grid 台灣電力公司座標
*China datums 常及台灣 often overlap into Taiwan
==外部連結 External links==
*Grids & Datums. Republic of China (Taiwan) by Clifford J. Mugnier
*上河文化台澎地區座標轉換程式與Google map定位
*地籍圖資網路便民服務系統
*環保署水源保護區GIS採官方MTWDCON程式轉換,非常精確. 
*成功大學水工所大地座標轉換程式
*台灣三角點 TWD67 座標表 Taiwan Triangulation Points' Coordinates
*PCTrans 4.26座標轉換程式 功能簡介與使用說明
*1/10000 相片基本圖
*地圖生產器
*1/25000 經建版地形圖(一至四版, 另有日據時期地圖)
* https://www.facebook.com/groups/odtwn/ OpenData / Taiwan
* https://www.facebook.com/groups/OpenStreetMap.TW/
Category:Taiwan
Category:Datums by country
Category:Confusion