proj4js 使用 将坐标转到到目标坐标系下 js库
proj4js
参考:
https://blog.csdn.net/supermapsupport/article/details/89306219
引入
链接: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])
-
Array(2)
-
- 0: 12579102.459639914
- 1: 2632018.637586423
- length: 2
- 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>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程