通过proj4js实现不同椭球之间的坐标点的七参数转换

一、本次转换是实现北京54地理坐标到国家2000地理坐标的转换:

1.引用proj4.js文件:

<script type=”text/javascript” src=”https://cdn.bootcss.com/proj4js/2.5.0/proj4.js”></script>

2.定义北京54地理坐标系并填写七参数值:proj4.defs(“EPSG:4214”, “+proj=longlat +ellps=krass +towgs84=44.745645865798,-100.37348291277885,-79.37086255592294,0.05323744846828353,1.6001266383655595,3.12522766589074,4.1736175275126327 +no_defs”);

3.定义2000地理坐标系:proj4.defs(“EPSG:4490”, “+proj=longlat +ellps=GRS80 +no_defs”);

4.将北京54地理坐标系通过七参数转换到2000地理坐标系:var gcs2000 = proj4(“EPSG:4214”, “EPSG:4490”, [113.83591066844463, 34.664758065382884]);

得出结果:113.83649963963825,34.6649486761037;

二、同理也可以实现国家2000地理坐标到北京54地理坐标的转换

1.引用proj4.js文件:

<script type=”text/javascript” src=”https://cdn.bootcss.com/proj4js/2.5.0/proj4.js”></script>

2.定义国家地理坐标系并填写七参数值: proj4.defs(“EPSG:4490”, “+proj=longlat +ellps=GRS80+towgs84=-44.743254348635674,100.37583841010928,79.3732350608334,-0.053254585861773764,-1.6001516299530911,-3.1251532137976015,-4.1741353140740989 +no_defs”);

3.定义北京54地理坐标系:proj4.defs(“EPSG:4214”, “+proj=longlat +ellps=krass +no_defs”);
4.将2000地理坐标系系通过七参数转换到北京54地理坐标:var gcs54 = proj4(“EPSG:4490”, “EPSG:4214”, [113.83650207519531, 34.664951324462891]);

得出结果:113.83591310893135  ,34.66478349520788;
三:注意事项:

towgs84接受的参数分别为x偏移量(单位为米)、y偏移量(单位为米)、z偏移量(单位为米)、x旋转角(单位为角度秒角度秒)、y旋转角(单位为角度秒角度秒)、z旋转角(单位为角度秒)、缩放比例(单位为ppm 也就是百万分之一);

如果是通过一般软件计算出的七参数的话 x旋转角、y旋转角、z旋转角的单位一般是弧度需要转换成单位秒并取负值(计算七参数时规定的旋转方向正好相反);将缩比例值乘以1000000;因为之前算的单位是1;

    原文作者:L.傲骨雄风
    原文地址: https://blog.csdn.net/xlp789/article/details/103398270
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞