在前端中Proj4.js使用簡(jiǎn)單介紹及進(jìn)階應(yīng)用
前言
Proj4 是一個(gè)用于處理 JavaScript 里的幾何圖形和坐標(biāo)計(jì)算的庫(kù)。雖然這個(gè)庫(kù)的知名度不如其他幾何處理庫(kù)如 Turf.js,但它提供了用于多邊形、點(diǎn)、線等幾何對(duì)象的計(jì)算功能,類(lèi)似于 GIS(地理信息系統(tǒng))的某些功能。
一、基礎(chǔ)知識(shí)
在使用Proj4之前,可以了解一下投影的相關(guān)定義,可以參考下面網(wǎng)站:
https://epsg.io/
http://spatialreference.org
二、Proj4js引用
前端添加Proj4js有三種方式:
1、從http://trac.osgeo.org/proj4js/wiki/Download下載,獲取產(chǎn)品包中dist/proj4.js文件。
2、引入CDN上的Proj4js:https://cdnjs.com/libraries/proj4js
3、本地有Node.js,可以直接使用npm install proj4進(jìn)行安裝。
三、Proj4的簡(jiǎn)單使用
proj4.js中預(yù)定義了三個(gè)坐標(biāo)系,其他的坐標(biāo)系則需要自己定義了,下面以從WGS84(4326)到Web墨卡托(3857)的轉(zhuǎn)換為例
const wgs84 = 'EPSG:4326'; const webMercator = 'EPSG:3857'; const pointWGS84 = [12.4924, 41.8902]; const pointWebMercator = proj4(wgs84, webMercator, pointWGS84); console.log(pointWebMercator);
更多的使用情況,帶挖掘!?。?/strong>
附:進(jìn)階應(yīng)用
看了上面的例子,難道Porj4js在iClient中只能做坐標(biāo)轉(zhuǎn)換功能呢?當(dāng)然不是的,最后,在向大家介紹個(gè)Proj4js的另一種用法,在iClient for Openlayers如何讀取非4326或3857的地圖數(shù)據(jù)。
例如我們獲取到的地圖數(shù)據(jù)如下,我們看到目標(biāo)坐標(biāo)系是EPSG:3395。
如何使用iClient for Openlayers直接瀏覽呢。
1、計(jì)算分辨率(固定寫(xiě)法)
2、定義3395坐標(biāo)系,并設(shè)置地圖范圍
3、用Tile將地圖展示出來(lái)
總結(jié)
到此這篇關(guān)于在前端中Proj4.js使用簡(jiǎn)單介紹及進(jìn)階應(yīng)用的文章就介紹到這了,更多相關(guān)前端中Proj4.js使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javascript實(shí)現(xiàn) 百度翻譯 可折疊的分享按鈕列表
這篇文章主要介紹了javascript實(shí)現(xiàn) 百度翻譯 可折疊的分享按鈕列表的方法,需要的朋友可以參考下2015-03-03javascript數(shù)組的擴(kuò)展實(shí)現(xiàn)代碼集合
非常不錯(cuò)的javascript數(shù)據(jù)功能增強(qiáng)函數(shù)2008-06-06JS實(shí)現(xiàn)的一個(gè)簡(jiǎn)單的Autocomplete自動(dòng)完成例子
這篇文章主要介紹了JS實(shí)現(xiàn)的一個(gè)簡(jiǎn)單的Autocomplete自動(dòng)完成例子,需要的朋友可以參考下2014-04-04