返回《Vue+OpenLayers7》专栏目录:Vue+OpenLayers7入门到实战

OpenLayers地图默认使用什么投影?
在回答这个问题之前,我们需要了解什么是地图投影。
什么是地图投影?
地图投影是将球面地图上的三维地理坐标系(经纬度)转换成平面地图上的二维坐标系的过程。由于地球是一个近似的椭球体,而平面地图是一个二维表面,因此需要采用适当的投影方式来实现这种转换。
更多地图投影知识请参考博主另一篇文章:《GIS入门,什么是地图投影,地图投影有哪些类型,墨卡托投影属于哪一种类型的投影,为什么OpenLayers地图默认使用墨卡托投影》
OpenLayers 使用什么地图投影?
OpenLayers默认使用的是Web 墨卡托投影 (EPSG:3857)。
使用 OpenLayers 创建的每个地图(Map)都有一个视图(View),并且每个视图(View)都将具有投影(projection)。由于地球是一个三维的,近圆的三维图形,但地图的 2D平面 视图不是,所以我们需要用一个数学表达式来表示它,就是:投影。
当然了,不仅有一个投影,有许多常见的投影(其他投影可以参考《GIS入门,什么是地图投影,地图投影有哪些类型,墨卡托投影属于哪一种类型的投影,为什么OpenLayers地图默认使用墨卡托投影》)。每个投影都具有不同的属性,它可以准确地表示距离、角度或面积。某些投影更适合表示世界上的不同地区。
回到最初的问题:OpenLayers 能够处理大多数投影。如果地图初始化时没有明确设置,那么地图默认将将使用 Web 墨卡托投影 (EPSG:3857)。例如,OpenStreetMap项目的地图和商业产品(如Bing地图或谷歌地图)也使用相同的Web 墨卡托投影 (EPSG:3857)。
如果想要一张显示整个世界的地图,这个**Web 墨卡托投影 (EPSG:3857)**是一个不错的选择,如果你想使用OpenStreetMap或Bing图块,更需要使用这个投影。
如何更改地图的投影?
如果想要将 OpenLayers 的默认投影更改为更适合所在区域的或特定数据的投影。
OpenLayers7依赖项
package.json中添加
"ol": "7.5.2"
- 使用npm安装依赖
npm install ol@7.5.2
- 使用Yarn安装依赖
yarn add ol@7.5.2
比如下面将地图默认投影更改为EPSG:4326的示例代码:
import Map from 'ol/Map.js';
import View from 'ol/View.js';
// 更改投影为EPSG:4326:
const map = new Map({
view: new View({
projection: 'EPSG:4326'
})
});
如此,我们便更改了OpenLayers地图的投影,是不是很简单!

本文介绍了OpenLayers地图默认使用Web墨卡托投影,并详细解释了地图投影的概念。同时,提供了如何在OpenLayers7中更改地图投影的方法,包括依赖项的安装和示例代码。
8808

被折叠的 条评论
为什么被折叠?



