javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > 前端中Proj4.js使用

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

作者: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使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

阅读全文