OpenLayers基础教程——坐标系和投影

1、前言

上一篇博客介绍了如何利用OpenLayers加载一幅OSM地图,虽说代码十分简单,但其中的一个细节可能会被大家忽略掉,那就是EPSG:4326EPSG:3857这两个值的意义。因此,这篇博客就来讲讲坐标系和投影的相关内容。

2、地理坐标系

地理坐标系(Geographic Coordinate System)是使用三维球面来定义地球表面位置,简单一点理解,地理坐标系就是用经度纬度高程这三个值来描述空间中一个点的位置信息。其中,应用较为广泛的地理坐标系就是WGS-84坐标,而它的代号也就是EPSG:4326

3、投影坐标系

投影坐标系 (Projected Coordinate System)的地图单位通常为米 ,它是从地球的近似椭球体投影得到的。在WebGIS开发中,常用的投影坐标系就是web墨卡托投影,而它的代号也就是EPSG:3857

4、地理坐标系和投影坐标系之间的相互转换

OpenLayers中,地理坐标系和投影坐标系之间的相互转换很简单,可以使用如下方法实现EPSG:4326EPSG:3857之间的相互转换。

4.1、EPSG:4326—EPSG:3857

// 方法一:ol.proj.transform
// 结果为:[13358338.89519283, 3503549.843504374]
var point = ol.proj.transform([120, 30], 'EPSG:4326', 'EPSG:3857');
// 方法二:ol.proj.fromLonLat
// 结果为:[13358338.89519283, 3503549.843504374]
var point = ol.proj.fromLonLat([120, 30], 'EPSG:3857');

4.2、EPSG:3857—EPSG:4326

// 方法一:ol.proj.transform
// 结果为:[120, 30](四舍五入)
var point = ol.proj.transform([13358338.89519283, 3503549.843504374], 'EPSG:3857', 'EPSG:4326');
// 方法二:ol.proj.toLonLat
// 结果为:[120, 30](四舍五入)
var point = ol.proj.toLonLat([13358338.89519283, 3503549.843504374], 'EPSG:3857');

5、结语

这篇博客主要介绍了OpenLayers中的坐标系和投影转换方法,如果开发WebGIS相关模块,个人觉得了解这块内容还是很有必要的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值