close
用法:

1. 載入proj4js.js, 例如:

2. 定義自定座標檔案(座標檔案的自定方法有多種, 可用檔案的方式, 或者在程式內自行宣告, 或者直接給定EPSG名稱, proj4js會自己抓取), 以下採用自己定義的方式, 幾個台灣常用的座標系統如下:

Proj4js.defs["EPSG:3821"] = "+title=經緯度:TWD67 +proj=longlat +towgs84=-752,-358,-179,-.0000011698,.0000018398,.0000009822,.00002329 +ellps=aust_SA +units=度 +no_defs";

Proj4js.defs["EPSG:3825"] = "+title=二度分帶:TWD97 TM2 澎湖 +proj=tmerc +lat_0=0 +lon_0=119 +k=0.9999 +x_0=250000 +y_0=0 +ellps=GRS80 +units=公尺 +no_defs";

Proj4js.defs["EPSG:3826"] = "+title=TWD97 TM2+proj=tmerc +lat_0=0 +lon_0=121 +k=0.9999 +x_0=250000 +y_0=0 +ellps=GRS80 +units=公尺 +no_defs";

3. 宣告要使用的投影系統, 這邊Proj()的方法有點類似 loading 的方式會把程式加載到proj4js內, 例如
var EPSG3826 = new Proj4js.Proj('EPSG:3826');
var EPSG4326 = new Proj4js.Proj('EPSG:4326');

4. 自定轉換函式
function TransCoord(x, y) {
var result;
if (Proj4js) {
var p = new Proj4js.Point(parseFloat(x), parseFloat(y));
Proj4js.transform(EPSG3826, EPSG4326, p);
result = {x: p.x, y: p.y};
}
return result;
}

再來就可用

var c = TransCoord(217400, 2672400);

來取得轉換過的座標 (c.x, c.y)
arrow
arrow
    全站熱搜

    give 發表在 痞客邦 留言(0) 人氣()