不同座標系經緯度轉換演算法(JS)

2021-10-01 19:42:13 字數 1632 閱讀 7633

/*墨卡托投影座標轉經緯度*/

export function mercatortolonlat(mercator);

var x = mercator.x/20037508.34*180;

var y = mercator.y/20037508.34*180;

y= 180/math.pi*(2*math.atan(math.exp(y*math.pi/180))-math.pi/2);

lonlat.x = x;

lonlat.y = y;

return lonlat;

}

/*經緯度轉墨卡托投影座標*/

export function lonlattomercator(lonlat) ;

var x = lonlat.x *20037508.34/180;

var y = math.log(math.tan((90+lonlat.y)*math.pi/360))/(math.pi/180);

y = y *20037508.34/180;

mercator.x = x;

mercator.y = y;

return mercator ;

}

/*墨卡托投影座標計算兩點實際距離*/

export function distanceto(point, point2)

return distance;

}

var pi = 3.14159265358979324;

var a = 6378245.0;

var ee = 0.00669342162296594323;

/*判斷是否在國內,不在國內則不做偏移*/

function outofchina(lon, lat)

else

}function transformlat(x,y)

function transformlon(x,y)

function transform(wglat,wglon)

; if (outofchina(wglat, wglon))

var dlat = transformlat(wglon - 105.0, wglat - 35.0);

var dlon = transformlon(wglon - 105.0, wglat - 35.0);

var radlat = wglat / 180.0 * pi;

var magic = math.sin(radlat);

magic = 1 - ee * magic * magic;

var sqrtmagic = math.sqrt(magic);

dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * pi);

dlon = (dlon * 180.0) / (a / sqrtmagic * math.cos(radlat) * pi);

mars_point.lat = wglat + dlat;

mars_point.lon = wglon + dlon;

}

經緯度座標系轉東北天 經緯度座標系轉換

網際網路地圖的座標系現狀 地球座標 wgs84 國際標準,從 gps 裝置中取出的資料的座標系 國際地圖提供商使用的座標系 火星座標 gcj 02 也叫國測局座標系 中國標準,從國行移動裝置中定位獲取的座標資料使用這個座標系 國家規定 國內出版的各種地圖系統 包括電子形式 必須至少採用gcj 02對...

經緯度座標轉換

經緯度與xy座標轉換工具類 public class latlngxyzconverthelper xy轉經緯度 需要轉換的x座標 需要轉換的y座標 地圖級別 轉換後的經度 轉換後的緯度 public static void tiletolatlng double tile x,double til...

經緯度座標系轉換為UTM座標系(matlab)

如題所說,直接上程式。驗證自己做一下,結果應該是對的。誠不我欺。注意 程式名與函式名保持一致!地理經緯度座標轉換為utm座標 size shuzu size lat shuru for i 1 size shuzu 2 輸入經緯度 lat 29.819206 lon 116.133243 lat l...