提供手機(jī)自適應(yīng)網(wǎng)站建設(shè)優(yōu)化疫情防控 這些措施你應(yīng)該知道
在 JavaScript 中,使用 proj4
庫進(jìn)行坐標(biāo)系轉(zhuǎn)換是一個(gè)非常常見的操作。proj4
是一個(gè)支持多種坐標(biāo)系的 JavaScript 庫,提供了從一種坐標(biāo)系到另一種坐標(biāo)系的轉(zhuǎn)換功能。
以下是使用 proj4
進(jìn)行坐標(biāo)系轉(zhuǎn)換的基本步驟:
1. 安裝 proj4
你可以通過 npm 或直接引入 CDN 使用 proj4
。
通過 npm 安裝:
npm install proj4
通過 CDN 引入:
<script src="https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.8.1/proj4.js"></script>
2. 示例:WGS84 轉(zhuǎn)換為 Web Mercator
WGS84
是一個(gè)全球通用的地理坐標(biāo)系(經(jīng)緯度),而 Web Mercator
通常用于網(wǎng)絡(luò)地圖(比如 Google Maps、OpenStreetMap)。
以下是代碼示例:
// 導(dǎo)入 proj4 (如果通過 CDN 引入,則不需要這行代碼)
const proj4 = require('proj4');// 定義坐標(biāo)系
const WGS84 = 'EPSG:4326'; // WGS84 坐標(biāo)系
const WebMercator = 'EPSG:3857'; // Web Mercator 坐標(biāo)系// 定義一個(gè)點(diǎn)的經(jīng)緯度
const point = [116.397128, 39.916527]; // 北京天安門經(jīng)緯度// 轉(zhuǎn)換坐標(biāo)
const convertedPoint = proj4(WGS84, WebMercator, point);console.log('轉(zhuǎn)換后的坐標(biāo):', convertedPoint);
3. 自定義坐標(biāo)系
如果你需要轉(zhuǎn)換到某個(gè)自定義坐標(biāo)系,可以通過 proj4
的 proj4.defs
定義。
示例:定義一個(gè) CGCS2000 坐標(biāo)系
// 定義 CGCS2000 (EPSG:4490)
proj4.defs("EPSG:4490", "+proj=longlat +datum=CGCS2000 +no_defs");// 從 WGS84 轉(zhuǎn)換到 CGCS2000
const point = [116.397128, 39.916527]; // 北京天安門經(jīng)緯度
const convertedPoint = proj4('EPSG:4326', 'EPSG:4490', point);console.log('CGCS2000 坐標(biāo):', convertedPoint);
4. 擴(kuò)展:綁定坐標(biāo)文件
如果你需要加載自定義的 .prj
或其他坐標(biāo)文件,可以結(jié)合 proj4
和第三方工具(如 proj4leaflet
)實(shí)現(xiàn)。
5. 常見 EPSG 代碼對(duì)照表
坐標(biāo)系名稱 | EPSG 代碼 |
---|---|
WGS84 (經(jīng)緯度) | EPSG:4326 |
Web Mercator | EPSG:3857 |
CGCS2000 | EPSG:4490 |
UTM 坐標(biāo)系 | EPSG:326xx (北半球),EPSG:327xx (南半球) |