OpenLayers坐标转换

背景

        开发过程中需要在前台实现3857到国家2000坐标系的坐标转换功能,利用transform转换报错,经大佬指点利用         proj4.js(proj4js是一个转换点坐标从一个坐标系到另一个坐标系的JavaScript库,包括数据转换)后,成功实现坐标转换。

准备工作,使OpenLayers支持坐标系(这里以EPSG:4512为例)

        1:下载proj4.js文件  https://www.bootcdn.cn/proj4js/

        2:查找坐标系定义  http://epsg.io/

        

         

        3 :页面引入proj4.js  <script type="text/javascript" src="./plugins/proj4/proj4-2.4.4.js"></script>

        4 :定义EPSG:4512坐标系  将上面查找到的定义放到随便一个js文件就行

   proj4.defs("EPSG:4512","+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs");

坐标转换

       通过人机交互Draw绘制了一个EPSG:3857的Geometry(这里记为geom3857),如何将它的坐标转换为                    EPSG:4512(转换后的结果记为geom4512),代码如下:

geom4512 = geom3857.clone().transform('EPSG:3857', 'EPSG:4512');

参考文献

https://blog.csdn.net/xk_zhang/article/details/53543606

猜你喜欢

转载自blog.csdn.net/qq_24309981/article/details/81149602