OpenLayers 坐标体系

OpenLayers 坐标体系 projection 默认就是 EPSG:3857

EPSG:3857坐标系(投影坐标)

在openlayers 中默认的坐标就是google的摩卡托坐标,也就是我们经常看到的 EPSG:3857 坐标系。EPSG:3857 的数据一般是这种的。[12914838.35,4814529.9],看上去相对数值较大。不利于存储,比较占内存。伪墨卡托投影,也被称为球体墨卡托,Web Mercator。它是基于墨卡托投影的,把 WGS84坐标系投影到正方形。我们前面已经知道 WGS84 是基于椭球体的,但是伪墨卡托投影把坐标投影到球体上,这导致两极的失真变大,但是却更容易计算。这也许是为什么被称为”伪“墨卡托吧。另外,伪墨卡托投影还切掉了南北85.051129°纬度以上的地区,以保证整个投影是正方形的。因为墨卡托投影等正形性的特点,在不同层级的图层上物体的形状保持不变,一个正方形可以不断被划分为更多更小的正方形以显示更清晰的细节。很明显,伪墨卡托坐标系是非常显示数据,但是不适合存储数据的,通常我们使用WGS84 存储数据,使用伪墨卡托显示数据。

EPSG:4326 坐标系(地理坐标)

4326 WGS-84:是国际标准,GPS坐标(Google Earth使用、或者GPS模块)EPSG:4326 的数据一般是这种的。[22.37,114.05]。利于存储,可读性高所以我们常常看到和用到的坐标系数据往往不是墨卡托坐标,而是EPSG:4326坐标系下的坐标数据。因为易读和存储小。GPS是基于WGS84的,所以通常我们得到的坐标数据都是WGS84的。

使用 EPSG:4326 部分代码

view: new View({
  projection: "EPSG:4326",      // 坐标系,有EPSG:4326和EPSG:3857
  center: [119, 31],            // 当前坐标
  zoom: 12                      // 地图缩放级别(打开页面时默认级别)
})

使用 EPSG:3857 部分代码

import { fromLonLat } from "ol/proj";

view: new View({
  projection: "EPSG:3857",       // 坐标系,有EPSG:4326和EPSG:3857
  center: fromLonLat([119, 31]), // 当前坐标
  zoom: 12                       // 地图缩放级别(打开页面时默认级别)
})

四下皆无人