Taiwan datums/cad2twd67


 * 1) !/usr/bin/perl
 * 2) cad2twd67 -- # 地籍座標轉換成TWD67
 * 3) Taiwan "Cadastral" to TWD67 coordinate transformation
 * 4) Copyright       : http://www.fsf.org/copyleft/gpl.html
 * 5) Created On      : Fri May 13 23:28:16 2005


 * 1) 地籍座標即日據時代沿用至今地籍圖之常見座標.
 * 2) 單位為「間」，等於 20/11 米，即六台尺.
 * 3) 原點為台中公園的 89 號三角點.

use strict; use warnings;
 * 1) 只是抄李弘洲﹑朱杏修﹑曾德福 在
 * 2) 1999年第十八屆測量學術及應用研討會論文集之公式.

my $XCtm69 = 227361.634 + 0.0; my $YCtm69 = 2632574.582 + 0.0;
 * 1) 「六十九年成果」之二度分帶坐標：


 * 1) 大約本程式是針對全省.
 * 2) 故若只針對單一鄉鎮不遠處，
 * 3) 亦已有一已知點，
 * 4) 可以試細調以上的 0.0，
 * 5) 否則誤差可達幾十公尺.

my $XCcad = 5750; my $YCcad = -21300; my $A    = 1.8182516286522; my $B    = -0.004167109289753;
 * 1) 轉換參數

my $Xcad; my $Ycad;
 * 1) 每行輸入之地籍坐標（單位為「間」）

while (<>) { die "Enter Xcad, Ycad" if ( ( $Xcad, $Ycad, undef ) = split ) != 3;

# $Xtmtrn, $Ytmtrn 是由地籍坐標($Xcad, $Ycad)經四參數轉換套合至 #「六十九年成果」而成之近似二度分帶坐標. my $Xtmtrn = $A * ( $Xcad - $XCcad ) - $B * ( $Ycad - $YCcad ) + $XCtm69; my $Ytmtrn = $B * ( $Xcad - $XCcad ) + $A * ( $Ycad - $YCcad ) + $YCtm69; printf "%.3f\t %.3f\n", $Xtmtrn, $Ytmtrn; }


 * 1) 以上 "69" 大概類似 TWD67 我猜.
 * 2) 轉回去？ 要深讀他們的文章...


 * 1) Usage example:
 * 2) $ more cadfile
 * 3) -5000 1250
 * 4) -14100 -23500
 * 5) $ perl cad2twd67 < cadfile
 * 6) 207909.397       2673620.953
 * 7) 191260.172       2628657.146