Openlayers中加载WMTS地图服务,自定义级别、分辨率

本文详细介绍了在OpenLayers3中如何使用自定义分辨率加载地图,包括设置原点、分辨率数组、矩阵标识等关键参数,以及通过WMTS和XYZ两种方式加载图层的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需要以下几个参数

  • origin(原点)
  • resolutions(分辨率数组)
  • matrixIds(分辨率对应的级别)
  • projection(坐标系)
    以arcgis server 发布的服务为例,如图
    这里写图片描述
var projection = ol.proj.get("EPSG:4326");
var resolutions = [0.00118973050291514, 5.9486525145757E-4, 2.97432625728785E-4, 1.5228550437313792E-4,7.614275218656896E-5, 3.807137609328448E-5, 1.903568804664224E-5, 9.51784402332112E-6, 4.75892201166056E-6];
var matrixIds = [0, 1, 2, 3, 4, 5, 6, 7, 8];
var origin=[-400, 400];

openlayers3中可以通过ol.source.WMTS、ol.source.XYZ等方式加载,无论哪一种,都需要根据上述几个参数进行配置,

var tileGrid = new ol.tilegrid.TileGrid({
     origin: origin, //原点(左上角)
     resolutions: resolutions, //分辨率数组
     matrixIds: matrixIds //矩阵标识列表,与地图级数保持一致
}),

然后根据不同的数据源加载方式,设置参数(url、tileGrid、crossOrigin等)

 //通过WMTS加载
 var wmtsLayer = new ol.layer.Tile({
      opacity: 0.7, //图层透明度
      source: new ol.source.WMTS({
        url: 'http://serverIP:6080/arcgis/rest/services/XXX/MapServer/WMTS/', //WMTS服务基地址
        matrixSet: 'EPSG:4326', //投影坐标系设置矩阵
        format: 'image/png', //图片格式
        projection: projection, //数据的投影坐标系
        //瓦片网格对象
        tileGrid: tileGrid,
        style: 'default',
        wrapX: true
      })
    });
map.addLayer(wmtsLayer);

//通过XYZ加载
var xyzLayer = new ol.layer.Tile({
    source: new ol.source.XYZ({
        crossOrigin: "anonymous",
        projection: "EPSG:4326",
        tileGrid: tileGrid,
        tileUrlFunction: function (tileCoord) {
          var z = tileCoord[0];
          var x = tileCoord[1];
          var y = -tileCoord[2]-1;
          return "http://serverIP:6080/arcgis/rest/services/XXX/MapServer/tile/" + z + "/" + y + "/" +
            x;
        },
        wrapX: true,
      })
    });
 map.addLayer(xyzLayer);

结论:地图采用自定义分辨率时,需要设置图层的tilegird参数

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值