OpenLayers实战:解析EPSG:3857与EPSG:4326的坐标转换原理与应用场景

1. 初识OpenLayers中的坐标系

刚接触OpenLayers开发时,坐标系这个概念让我头疼了好一阵子。记得第一次在地图上显示标记时,明明输入的经纬度坐标是正确的,但标记却跑到了非洲附近。后来才发现,原来是坐标系没搞清楚。

OpenLayers中最常用的两种坐标系是EPSG:3857和EPSG:4326。简单来说,EPSG:4326就是我们熟悉的经纬度坐标系,GPS设备、Google Earth都使用这种格式。它的坐标看起来像[114.05, 22.37]这样,第一个数是经度,第二个是纬度。

而EPSG:3857则是Web地图的"标准语言",也叫Web墨卡托投影。它的坐标数值要大得多,比如[12914838.35,4814529.9]。这种投影方式有个特点:它把地球表面"拉伸"成一个正方形,方便在网页上显示。

2. EPSG:4326详解:GPS的通用语言

2.1 什么是WGS84坐标系

EPSG:4326其实就是WGS84坐标系,这是全球定位系统(GPS)使用的标准。我第一次用无人机采集地理数据时,设备输出的就是这种格式的坐标。它的特点是以经纬度表示位置:

  • 经度范围:-180到180度
  • 纬度范围:-90到90度

在实际开发中,我们遇到的很多地理数据都是这种格式。比如从手机GPS获取的位置信息,或者从政府公开数据平台下载的GIS数据。

2.2 在OpenLayers中使用EPSG:4326

如果你想直接用EPSG:4326坐标系创建地图,可以这样设置View:

import View from 'ol/View';

let view = new View({
  projection: "EPSG:4326",
  center: [116.404, 39.915], // 北京天安门坐标
  zoom: 10
});

但这样会有一个问题:地图看起来会被"压扁"。这是因为地球是球形的,直接平铺到二维平面上就会产

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值