在前端中Proj4.js使用简单介绍及进阶应用

 更新时间:2025年01月10日 09:54:32   作者:Code_Geo  
这篇文章主要介绍了在前端中Proj4.js使用简单介绍及进阶应用的相关资料,Proj4是一个用于处理JavaScript里的几何图形和坐标计算的库,它提供了多边形、点、线等几何对象的计算功能,需要的朋友可以参考下

前言

Proj4 是一个用于处理 JavaScript 里的几何图形和坐标计算的库。虽然这个库的知名度不如其他几何处理库如 Turf.js,但它提供了用于多边形、点、线等几何对象的计算功能,类似于 GIS(地理信息系统)的某些功能。

一、基础知识

在使用Proj4之前,可以了解一下投影的相关定义,可以参考下面网站:

https://epsg.io/

http://spatialreference.org

二、Proj4js引用

前端添加Proj4js有三种方式:

1、从http://trac.osgeo.org/proj4js/wiki/Download下载,获取产品包中dist/proj4.js文件。

2、引入CDN上的Proj4js:https://cdnjs.com/libraries/proj4js

3、本地有Node.js,可以直接使用npm install proj4进行安装。

三、Proj4的简单使用

proj4.js中预定义了三个坐标系,其他的坐标系则需要自己定义了,下面以从WGS84(4326)到Web墨卡托(3857)的转换为例

    const wgs84 = 'EPSG:4326';
    const webMercator = 'EPSG:3857';
    const pointWGS84 = [12.4924, 41.8902];  
    const pointWebMercator = proj4(wgs84, webMercator, pointWGS84);
    console.log(pointWebMercator);

更多的使用情况,带挖掘!!!

附:进阶应用

看了上面的例子,难道Porj4js在iClient中只能做坐标转换功能呢?当然不是的,最后,在向大家介绍个Proj4js的另一种用法,在iClient for Openlayers如何读取非4326或3857的地图数据。

例如我们获取到的地图数据如下,我们看到目标坐标系是EPSG:3395。

如何使用iClient for Openlayers直接浏览呢。

1、计算分辨率(固定写法)

2、定义3395坐标系,并设置地图范围

3、用Tile将地图展示出来

总结

到此这篇关于在前端中Proj4.js使用简单介绍及进阶应用的文章就介绍到这了,更多相关前端中Proj4.js使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 浅谈Webpack 是如何加载模块的

    浅谈Webpack 是如何加载模块的

    这篇文章主要介绍了Webpack 是如何加载模块的,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • JS 网页彩蛋 实现代码

    JS 网页彩蛋 实现代码

    显示一定时间后消失,刷新之后清空变量值,重新开始记录键值。 程序的原理就是检测按键的键值,当达到预定条件时执行规定的函数。
    2009-09-09
  • 微信小程序实现收藏与取消收藏切换图片功能

    微信小程序实现收藏与取消收藏切换图片功能

    这篇文章主要介绍了微信小程序实现收藏与取消收藏切换图片功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • 用js编写简单的贪吃蛇小游戏

    用js编写简单的贪吃蛇小游戏

    这篇文章主要为大家详细介绍了用js编写简单的贪吃蛇小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • 两个数组去重的JS代码

    两个数组去重的JS代码

    这篇文章主要介绍了两个数组去重的JS代码,有需要的朋友可以参考一下
    2013-12-12
  • JS获取当前时间戳方法解析

    JS获取当前时间戳方法解析

    这篇文章主要介绍了JS获取当前时间戳方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • JS返回上一页实例代码通过图片和按钮分别实现

    JS返回上一页实例代码通过图片和按钮分别实现

    返回上一页的方法有很多,本代码通过图片和按钮分别实现,感兴趣的朋友可以参考下,希望对大家有所帮助
    2013-08-08
  • 详解JS事件循环及宏任务微任务的原理

    详解JS事件循环及宏任务微任务的原理

    在js中,我们一般将所有的任务都分成两类,一种是同步任务,另外一种是异步任务。而在异步任务中,又有着更加细致的分类,那就是微任务和宏任务。本文将详细讲解这二者的原理与使用,需要的可以参考一下
    2022-05-05
  • 纯JavaScript实现的分页插件实例

    纯JavaScript实现的分页插件实例

    这篇文章主要介绍了纯JavaScript实现的分页插件,涉及javascript结合php动态实现分页效果的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • JS拖拽的进一步练习,移动与拉伸实现代码

    JS拖拽的进一步练习,移动与拉伸实现代码

    这次增加了一些相关的功能,增加四个角的拉伸改变宽度,主要还是用到一些简单的坐标位置计算,没有什么技术难度,熟练了一下自己对拖拽的运用
    2012-05-05

最新评论