admin管理员组文章数量:1532202
2023年12月23日发(作者:)
WGS84-西安80坐标转换JavaScript示例代码
function GaussProjCal(longitude, latitude)
{
//经纬度转XY平面坐标
var xval, yval;
var ProjNo = 0; var ZoneWide; ////带宽
var longitude1, latitude1, longitude0, latitude0, X0, Y0;
var a, f, e2, ee, NN, T, C, A, M, iPI;
iPI = 0.9433; ////3.98/180.0;
ZoneWide = 6; ////6度带宽
a = 6378137;
f = 1 / 298.257223563;
// a=6378245.0; f=1.0/298.3; //54年北京坐标系参数
//a=6378140.0; f=1/298.257; //80年西安坐标系参数
a = 6378137; f = 1 / 298.257223563;//WGS84坐标系参数
ProjNo = Number(longitude / ZoneWide);
//longitude0 = ProjNo * ZoneWide + ZoneWide / 2;
longitude0 = 120;//118.5;
longitude0 = longitude0 * iPI; //中央经线转换为弧度
latitude0 = 0;
longitude1 = longitude * iPI; //经度转换为弧度
latitude1 = latitude * iPI; //纬度转换为弧度
e2 = 2 * f - f * f;
ee = e2 * (1.0 - e2);
NN = a / (1.0 - e2 * (latitude1) * (latitude1));// NN卯酉圈曲率半径,测量学里面用N表示
T = (latitude1) * (latitude1);
C = ee * (latitude1) * (latitude1);
A = (longitude1 - longitude0) * (latitude1);
M = a * ((1 - e2 / 4 - 3 * e2 * e2 / 64 - 5 * e2 * e2 * e2 / 256) * latitude1 - (3 * e2 / 8 + 3 * e2
* e2 / 32 + 45 * e2 * e2 * e2 / 1024) * (2 * latitude1) + (15 * e2 * e2 / 256 + 45 * e2 * e2
* e2 / 1024) * (4 * latitude1) - (35 * e2 * e2 * e2 / 3072) * (6 * latitude1));// M为子午线弧长,测量学里用大X表示
xval = (NN * (A + (1 - T + C) * A * A * A / 6 + (5 - 18 * T + T * T + 72 * C - 58 * ee) * A * A * A *
A * A / 120));
yval = (M + NN * (latitude1) * (A * A / 2 + (5 - T + 9 * C + 4 * C * C) * A * A * A * A /
24 + (61 - 58 * T + T * T + 600 * C - 330 * ee) * A * A * A * A * A * A / 720));
//X0 = 1000000*(ProjNo+1)+500000;
X0 = 500000;
}
Y0 = 0;
xval = xval + X0;
yval = yval + Y0;
var Coord = new Array(2);
Coord[0] = xval;
Coord[1] = yval;
return Coord;
版权声明:本文标题:WGS84转换 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1703264359a46857.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论