其他分享
首页 > 其他分享> > proj4js 使用 将坐标转到到目标坐标系下 js库

proj4js 使用 将坐标转到到目标坐标系下 js库

作者:互联网

proj4js

参考:

https://blog.csdn.net/supermapsupport/article/details/89306219

http://proj4js.org/ 官网

引入

链接:https://pan.baidu.com/s/1n4zlDQLEUoHiC3NvTE23fA
提取码:m7f4
--来自百度网盘超级会员V3的分享

直接下载./lib/proj4.js 文件并引入

可以使用第一个网址中的npm或者官网上的方式下载

使用

第一个参数,原坐标epsg,

2,目标坐标的epsg

3,原坐标系下的具体坐标

proj4(proj4('EPSG:4326'), proj4('EPSG:3857'), [113, 23])
  1. Array(2)

    1. 0: 12579102.459639914
    2. 1: 2632018.637586423
    3. length: 2
    4. proto: Array(0)

自定义坐标系

proj4 自己定义的坐标系有限

需要自己定义

 proj4.defs("EPSG:3395","+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");

需要定义参数和EPSG代码的

http://spatialreference.org/ref/epsg/3395/proj4/

将3395 替换成你要的坐标系即可得到代码

+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="./lib/proj4.js"></script>
</head>
<body>
  <script>
console.log(proj4);
console.log(proj4(proj4('EPSG:4326'), proj4('EPSG:3857'), [113, 23]));
proj4(proj4('EPSG:4326'), proj4('EPSG:3857'), [113, 23]);
  // return proj4(proj4('EPSG:4326'), proj4('EPSG:3857'), [lng, lat])

  proj4.defs("EPSG:3395","+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
  // +proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs 

console.log( proj4(proj4('EPSG:4326'), proj4('EPSG:3395'), [113, 23]));
  // proj4(proj4('EPSG:4326'), proj4('EPSG:3857'), [113, 23]);
  </script>
 
</body>
</html>

标签:defs,proj4,23,proj4js,js,3857,EPSG,4326,坐标系
来源: https://www.cnblogs.com/zcbj588/p/16532996.html