在openlayer中对瓦片地图进行平移

本文介绍了如何在OpenLayers中处理不同坐标系的瓦片地图,通过平移解决坐标差异问题。针对两种需求,分别展示了在天地图上叠加XYZ格式的高德路网实况图和平移TileArcGISRest格式的地方坐标系地图的方法。关键在于调整tileGrid和修改URL中的BBOX值以实现平移效果。
摘要由CSDN通过智能技术生成

失踪人口回归。
这次给大家介绍的是在openlayer中对在线瓦片地图进行平移。可以解决将高德/百度瓦片地图的偏移问题。
适用的场景:当某个在线瓦片地图的坐标系与我们需要的底图坐标系不同,我们很难对每一幅瓦片都使用特定的算法进行坐标修正再进行显示。比较方便的一种方法是对地图的所有瓦片进行平移,(然后在心里认为坐标已经纠正了)。
由于地球是个球体,地理学家为了方便的将球体上的地物在平面中展示,提出了各种投影坐标系,也就是由xy组成的平面坐标系,对我们中国的用户来说,看的比较多的就是类似于[12605635.286907528,3301707.372582343]的形式。而很多时候,尽管我们认为我们被告知现在使用的是地理坐标系,(比如说天地图使用的是CGCS2000坐标系,这是一种地理坐标系,也就是我们看的很多的经纬度,类似于[113.65465,25.64351]),但是为了能在平面中进行展示,也对地理坐标系进行了一定的转换(也就是投影)后显示,如下图。
在这里插入图片描述
将曲面转换为平面,不可避免的会产生形变,例如在这张图中南极洲的面积似乎就大于非洲,而不同的坐标系产生的形变往往也是不同的。所幸,当研究区域很小时,我们可以忽略由于投影或者其他参数的影响,认为两种坐标系下的结果都几乎没有形变
那么不同坐标系的转换问题就可以简化到只需要平移操作(当然,这并不标准,但往往够用)。
那么在疏通了上述逻辑后,下面就开始介绍怎么在openlayer中对瓦片地图进行平移。关于瓦片地图的原理,怪叔叔做了十分精彩的讲解。
这篇文章介绍的瓦片形式包括两种,分别是XYZ和TileArcGISRest,两种类型的平移方式也有一定区别。下面以两种实际需求来介绍

第一个需求是在天地图上叠加高德地图的路网实况图

高德的路网实况图是XYZ的形式:

    let projection1 = get("EPSG:3857");
    let projectionExtent = projection1.getExtent()
    let startResolution = getWidth(projectionExtent) / 256;
    let resolutions = new Array(22);
    for (let i = 0, ii = resolutions.length; i < ii; ++i) {
   
    resolutions[i] = startResolution / Math.pow(2, i);
    }
    
    let TopLeft=getTopLeft(projectionExtent)
    
    
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值