OpenLayers学习笔记中级篇(三、地图的分辨率设置)

Vue+OpenLayers6入门教程汇总目录,OpenLayers教程,Vue+OpenLayers中文文档,OpenLayers手册,OpenLayers6文档教程,OpenLayers中文手册 OpenLayers介绍,相比较其他地图引擎有什么优点四种流行地图引擎比较Gis开发入门,OpenLayers、Leaflet、Maplibre-gl和Cesiumjs地图引擎介绍以及几种地图服务vms、vmts介绍。 阅读详情

LOD是Levels of Detail的简写,用于根据当前的环境,渲染不同的图像,用于降低非重要的细节度,从而提高渲染效率,在电子游戏中经常运用,对于需要显示全球地图的GIS系统而言,更需要应用这项技术。 在不同的细节层次下,自然分辨率就可能不一样,这两者是紧密结合在一起的。 对于图形显示系统而言,分辨率作为屏幕坐标和世界坐标之间计算的纽带,其作用是非常重要的。 本节将以实例的方式深入浅出的讲解这两个重要的概念,及在OpenLayers 3中的应用。

首先我们来讲解LOD的原理,在详细讲解之前,假设给你两张A4纸,在其中一张纸上把你家整个绘制上去,在另一张纸上只把你睡的房间绘制上去。如果别人想看你家,你会给哪一张纸?如果想看你睡的房间,你会给哪一张纸? 相信你不会给错,LOD就是这种根据不同需要,采用不同图的技术方案。在地图应用中,最直观的体验,就是地图放大缩小。当地图放大后,能看到更详细的地理信息,比如街道,商店等等。当地图缩小再缩小,原来能看到的街道,商店就看不见了,当能看到更大的区域,我们的屏幕就相当于是A4纸,大小不变。

LOD这个技术方案非常棒,非常符合我们的自然习惯,所以在很多图形系统中都使用了这项技术。在GIS系统中,不断放大,就能看到更多地图细节,了解更加详细的信息。对于GIS引擎的开发者而言,需要实现这项技术,当发现用户放大地图时,就立马使用更有细节的地图图片,替换现在显示的地图图片。 现在问题来了:意思是说对于同一个地点而言,需要有很多张呈现不同细节程度的图片?是的,你没有猜错,虽然在使用地图的过程中,感觉放大缩小地图是浑然一体的,但其实就在你眼皮下发生了图片替换。 不同层级使用具有不同细节的地图图片,这就需要为每一个层级准备图片,如果使用离线工具下载瓦片地图,会看到下载的图片是按照层级Z进行存储的。开发者不用担心数据源的处理,只需要知道这个原理就可以了。

下面我们来举一个例子:

在使用google在线瓦片地图进行加载时, 最小层级0情况下,只用了一张256*256像素的图片表示整个地球平面如下:

我们来调试一下:

可以看到目前zoom=0这个层级时,地图瓦片只有一张256*256的图片,下面我们来改变一下,让zoom=1,再来看一下效果:

地图没有太大的变化,我们调试看一下:

大家可以清楚的看到在zoom稍大一个层级1情况下,用了四张256*256像素的图片来表示整个地球。现在对照一下,你是否更加的明白了LOD原理及在GIS中的应用呢?

如果这一块了解的差不多了,那么我们接着来学习瓦片的计算方法!

不同环境条件下,加载具有不同细节的图片资源,可以提高效率,这就是LOD技术,但LOD技术并不是终点。 瓦片技术可以更进一步提高效率。 其原理是将一张大图片切割成很多张小图片,按照呈现需要,加载其中的几张小图片即可。 为什么这样就能提高效率?因为屏幕显示窗口的大小是固定,比如屏幕分辨率是800*600,或者1024*768,又或者是1920*800等等。如果屏幕分辨率是800*600,一张大图是9000*9000,那么同一时间,你只能看到这张图片的十分之一。 但是在不切片的情况下,你却必须要加载整个地图。 如果是在本地浏览还好,假如是发布在网络上,则网络传输和渲染,都将耗时。如果我们按照500*500大小进行切片,我们则只需要加载4张500*500的小图片就可以了。 对于WebGIS而言,需要在网络上发布,同时需要显示整个地球,自然需要使用瓦片技术。

下面我们来看一下瓦片地图的切片方式:

如果对整个地球图片进行切片,需要考虑的是整个地球图片大小,以及切片规则,切片大小。 对于WebGIS而言,在线地图几乎都采用墨卡托投影坐标系(Mercator),对应的地图投影到平面上就是一个正方形。 为了方便使用,切片时大多按照正方形的方式来进行切片,比如切片大小为256*256。一个1024*1024的地图,就可以切成4张小的瓦片。 同时,瓦片大小几乎都是256*256,有一些则会增加到512*512。

如果对整个地球图片进行切片,需要考虑的是整个地球图片大小,以及切片规则,切片大小。 对于WebGIS而言,在线地图几乎都采用墨卡托投影坐标系(Mercator),对应的地图投影到平面上就是一个正方形。 为了方便使用,切片时大多按照正方形的方式来进行切片,比如切片大小为256*256。一个1024*1024的地图,就可以切成4张小的瓦片。 同时,瓦片大小几乎都是256*256,有一些则会增加到512*512。

LOD会使得不同层级下的全球地图大小不一致,结合瓦片技术一起,就出现了金字塔瓦片。 在WebGIS中,上一层级的一张瓦片,在更大一层级中,会用4张瓦片来表示,依次类推,比如上一节中看到的Google在线瓦片地图的第0级和第1级的瓦片地图。 这样做可以维持正方形的投影方式不变,同时按照2的幂次方放大,计算效率非常高。

具体的计算方法:

不知道到这一步,大家是否还能看懂呢?其实仔细想想也非常简单,就是地图瓦片的个数从1变4,4变16,16变64。。。

下面我们再应用我们上面所学的这些理论知识去实践一下,我们计算一下我们之前加载的地图的瓦片坐标!为什么要给瓦片坐标呢?因为任意一个层级的地图,切成多个瓦片后,我们只有给瓦片编号,才能通过编号找到瓦片。这个问题在这就涉及到坐标系,不同的在线地图服务商,可能定义不一样的瓦片坐标系,坐标系不一样,那么对应的同一个位置的瓦片的坐标也会不一样。 需要引起重视!好了,话不多说,直接上代码:

<!doctype html>
<html xmlns=http://www.w3.org/1999/xhtml>
<head>                  
    <meta http-equiv=Content-Type content="text/html;charset=utf-8">
    <meta http-equiv=X-UA-Compatible content="IE=edge,chrome=1">
    <meta content=always name=referrer>
    <title>瓦片坐标</title>
    <link href="css/ol.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="js/ol.js" charset="utf-8"></script>
</head>

<body>
    <div id="map" style="width: 100%"></div>
<script type="text/javascript">
    var osmSource = new ol.source.OSM();
    var map = new ol.Map({
    layers: [
        // 加载Open Street Map地图
      new ol.layer.Tile({
        source: osmSource
      }),
      // 添加一个显示Open Street Map地图瓦片网格的图层
      new ol.layer.Tile({
        source: new ol.source.TileDebug({
          projection: 'EPSG:3857',
          tileGrid: osmSource.getTileGrid()
        })
      })
    ],
    target: 'map',
    view: new ol.View({
      center: ol.proj.transform(
          [104, 30], 'EPSG:4326', 'EPSG:3857'),
      zoom: 10
    })
});
</script>
</body>

</html>

我们先运行代码看一下效果:

这里我们进行地图的放大缩小展示:

 

我们可以看到,随着我们放大地图,瓦片的坐标是会改变的,下面我们进行代码的解释:

在OpenLayers 3提供了一个用于调试瓦片的source: ol.source.TileDebug。可以清晰的看到每一个瓦片的坐标,这是我们用来显示瓦片坐标的方法。

然后从上面的效果图中,大家会发现瓦片坐标中有3个数字,我来解释一下这三个数字的意义。第一个数字是层级z,第二个数字是表示经度方向上的x,第三个数字是表示维度方向上的y。 通过这三个数字,我们就可以快速准确的找到一个瓦片。

好了,关于瓦片的计算,我们就介绍到这儿了,下面再来介绍一下分辨率的问题!

前面简单提到过,分辨率是屏幕坐标和世界坐标的纽带,通过它,才能知道你在屏幕上用鼠标点击的位置对应于世界地图具体的经纬度位置。 OpenLayers 3的ol.Map已提供了对应的方法getCoordinateFromPixel来帮助你实现坐标转换。 你可能经常使用这个函数,但却不知道背后是怎样的一个原理,本节将理清其中的来龙去脉。

上面说到了每一个层级,会使用不同的瓦片数来表示整个地球,那么无论是哪一个层级,所表示的实际地理空间范围都是一致的。但使用的瓦片个数却是不一样的,以Google在线地图为例,层级0使用了一个瓦片,层级1使用了4个瓦片。 通过计算可以知道层级0整个地球图像为256*256像素大小,层级1整个地球图像为512*512像素大小。 层级0和层级1表示的地球范围都是一样的经度[-180, 180],纬度[-90, 90]。 在层级0的时候,一个像素就表示这么长的经度范围,这么长的纬度范围。 而这两个数字就是分辨率了,即一个像素所表达的范围是多少,这个范围可能是度,可能是米,或者其他单位,根据具体的情况而定。

下面我们来看一下web地图常用的墨卡托投影坐标系下的分辨率!

我们知道,在WebGis中使用的在线瓦片地图是采用的墨卡托(Mercator)投影坐标系,经过投影后,整个地球是一个正方形,所能表示的地球范围为经度[-180, 180],纬度[-85, 85],单位为度。 对应的墨卡托坐标系的范围x[-20037508.3427892, 20037508.3427892],范围y同样是[-20037508.3427892, 20037508.3427892],单位为m。 或许你会好奇这个范围是怎么计算而来的,如果详细了解过它的定义,应该知道墨卡托只是简单的把地球球面剖开拉伸为一个正方形而来,由于南北极两端采用这种拉伸会严重变形,并且南北极在使用过程中很少用到,所以干脆就只投影了[-85, 85]纬度范围的地球。 而展开时,因为纬度范围有缩减,所以肯定只能以经度来展开,即在经度-180度的地方从上到下剖开地球,然后按照赤道方向来展开成一张平面,那么这个平面的长,就等于以地球赤道半径按照圆来计算的周长。 近似的按照6378137米为半径来计算,那么整个赤道周长的一半,即为

以上就是墨卡托投影坐标系范围的完整的计算过程,墨卡托也有很多变形,会有细微的不同,OpenLayers 3默认使用的是EPSG:3857,对于该坐标系的详细定义,可以参见epsg.io 3867。

有了范围之后,要想计算分辨率,按照上面的计算过程就非常简单了,还是以Google在线瓦片地图为例,x方向上的分辨率计算公式可以归纳为:

rangeX表示x方向上整个范围,比如 20037508.3427892 - (-20037508.3427892)20037508.3427892−(−20037508.3427892),256表示的一个瓦片的宽度,单位为像素,2^{level}2​level​​表示的在层级level下,x方向上的瓦片个数。 那么分母计算出来的结果就是在层级level下,整个地图在x方向上的宽度,单位为像素。 那么整个公式计算出来就是在x方向上一个像素所能代表的实际地理范围,即分辨率。

好了,说了这么多晦涩难懂的理论,我们来测试一下分辨率的计算,来看一个demo!

 

<!doctype html>
<html xmlns=http://www.w3.org/1999/xhtml>
<head>                  
    <meta http-equiv=Content-Type content="text/html;charset=utf-8">
    <meta http-equiv=X-UA-Compatible content="IE=edge,chrome=1">
    <meta content=always name=referrer>
    <title>瓦片坐标</title>
    <link href="css/ol.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="js/ol.js" charset="utf-8"></script>
</head>

<body>
	<div><span>当前层级:</span><span id="zoom"></span><span>分辨率:</span><span id="resolution"></span></div>
    <div id="map" style="width: 100%"></div>
<script type="text/javascript">
    var map = new ol.Map({
        layers: [
          new ol.layer.Tile({
            source: new ol.source.OSM()
          })
        ],
        target: 'map',
        view: new ol.View({
          center: ol.proj.transform(
              [104, 30], 'EPSG:4326', 'EPSG:3857'),
          zoom: 10
        })
    });

    // 监听层级变化,输出当前层级和分辨率
    map.getView().on('change:resolution', function(){
        document.getElementById('zoom').innerHTML =  this.getZoom() + ',';
        document.getElementById('resolution').innerHTML = this.getResolution();
    })

    document.getElementById('zoom').innerHTML = map.getView().getZoom() + ',';
    document.getElementById('resolution').innerHTML = + map.getView().getResolution();
</script>
</body>

</html>

先来运行看一下效果:

这里我们监听了地图的层级变化,然后输出当前层级和经过openlayers内部计算后的屏幕分辨率!代码也非常简单,相信大家可以看得懂!

关于分辨率,还有一个问题:为什么我们上面一直以Google在线瓦片地图举例说明? 因为不同的在线瓦片地图可能采用不一样的分辨率,比如百度在线瓦片地图。 所以在使用在线瓦片地图或者自己制作的瓦片地图时,都需要知道使用的分辨率是多少。 如若不然,可能也会出现位置偏移!

好了,本节关于分辨率与瓦片计算的知识就到这儿了,这一块知识比较抽象,希望大家多理解几遍!

下一节我们就将学习地图开发中常用的地图图标的标注等问题!大家加油!

Openlayers入门教程 --- 万字长篇 也许你还不熟悉Openlayers,也许你是一个Openlayers小白,零基础没关系,这篇文章提供最基础的 Openlayers 教程,简单易学,贯穿整个Openlayers 知识体系。读完本文,您将会对 Openlayers 有一个全新的认识。 阅读详情

相关推荐

openlayers全面教程306+【目录】

vue+openlayers系列教程旨在为开发者提供简单快捷的示例。在每一个示例中,解释相应的API知识点。

大剑师兰特的GIS世界 2万+

OpenLayers入门-第一篇、基本概念与核心组件

学习一下openlayers里面的一些基本概念,npm地址。 npm install ol OpenLayers是一个高性能、功能丰富的库,用于在web上创建交互式地图。它可以显示地图瓷砖,矢量数据和标记加载从任何来源在任何网页。OpenLayers的开发是为了进一步使用各种地理信息。它是完全免费的,开源JavaScript。 1.Map A map is made of layers, a view to visualize them, interactions to modify map co

球球不吃虾WHR2349博客 1万+

ORACLE 12C RAC 启动报错,错误代码 ORA-27300,ORA-27301,ORA-27302

非一体机,12.2 无任何补丁,2套X86服务器,1节点集群异常(数据库正常,还有会话),2节点正常工作,负载不高,硬件、空间均未检查到异常,多路径存在掉线的情况,但通过Mulitpath -ll 看又是正常的,2根私有网络,其中一根不同,sysctl中配置的稀疏模式。5、再次加成crs alert ohas等集群日志,以及根据现象和错误再次到后台sr中查找可用信息,发现有一个类似问题,12.2 RAC 无任何补丁,报同样错误,解决方案为重启两套服务器。查询MOS文档以及后台文档,排除上面指出的问题。

weixin_42344665的博客 1463

openlayers入门教程

openlayers基础入门到实战平铺图层。对于提供预呈现、平铺的网格图像的层源,这些网格按特定分辨率的缩放级别组织。图像图层。服务器呈现的映像,可用于任意范围和分辨率。(3)ol.layer.Vector()很常用矢量图层。矢量平铺图层。图层用于客户端呈现矢量平铺数据。

weixin_43239880的博客 3万+

从零搭建宝兰德BES单机版:分离式安装、环境变量配置到控制台访问的避坑指南

本文详细介绍了从零搭建宝兰德BES单机版的完整流程,包括分离式安装、环境变量配置和控制台访问的避坑指南。针对中间件安装部署中的常见问题,提供了账号规划、JDK配置、实例创建和防火墙设置等实用解决方案,帮助开发者和运维人员高效完成BES中间件的部署工作。

weixin_32576389的博客 371

LLMOps的崛起:如何利用Langfuse和Opik构建高效的模型监控与评估体系

本文探讨了LLMOps的崛起,详细介绍了如何利用Langfuse和Opik构建高效的模型监控与评估体系。通过开源工具Langfuse的全景监控方案和Opik的三层评估体系,帮助AI工程团队实现大语言模型的全生命周期管理,提升模型性能和迭代效率。文章还提供了实战技巧和工具链集成方案,助力企业优化AI应用。

ll5678的博客 680

openlayers6【十五】地图样式 Style类详解

文章目录1. 写在前面2. ol.style 属性及子类3. ol.style使用栗子 1. 写在前面 地图样式是由 style 类控制的,其包含了地图样式的方方面面,例如,填充色、图标样式、图片样式、规则图形样式、边界样式、文字样式等,样式一般针对矢量要素图层。 了解更多矢量图层可以参考:openlayers6【十三】地图矢量图层 Vector 详解 2. ol.style 属性及子类 1.1 可以配置的选项 /* * @typedef {{ * geometry: (undefined|

@必意玲 1万+

基于OpenMV与双舵机云台的激光追踪系统实战解析

本文详细解析了基于OpenMV摄像头与双舵机云台的激光追踪系统设计与实现。从硬件选型、图像识别算法到PID控制逻辑,全面介绍了如何构建一个高效稳定的激光追踪系统,并分享了电子设计竞赛中的实战经验与调试技巧。该系统在智能玩具、安防监控及教学演示等领域具有广泛应用前景。

prometheus9mon的博客 261

OpenLayers6学习笔记(三)—— 瓦片地图基础知识

一. 数据加载 OpenLayers的地图数据通过图层(Layer)进行组织渲染,通过数据源(Source)设置具体的地图数据来源。Layer可以看作渲染地图的容器,具体的数据需要通过Source设置,Source和Layer是一对一的关系,有一个Source必然需要有一个Layer。 地图数据根据数据源(Source)可分为Image、Tile、Vector三大类型的数据源,对应设置到地图图层(Layer)的Image、Tile、Vector三大类型的图层上,其中矢量图层Vector通过样式(Style

weixin_44030304的博客 3010

​​手把手教你学PCIE--ATU 的 Bar 匹配模式与地址匹配模式详解​

摘要: ATU(地址转换单元)提供两种地址匹配模式:Bar匹配模式基于PCI设备的BAR寄存器自动映射虚拟地址(只需配置物理基址),适用于标准PCI设备DMA;地址匹配模式需显式配置虚拟与物理地址范围,适合自定义映射场景。核心区别在于匹配依据(BAR自动推导vs人工定义),Bar模式简化配置,地址模式更灵活。

MHD0815的博客 380

【微服务】SpringBoot 对接飞书审批流程使用详解

SpringBoot 对接飞书审批流程使用详解

congge_study的博客 3769

openlayers6【三】 地图视图 View 详解

官方文档:https://openlayers.org/en/latest/apidoc/module-ol_View-View.html 上篇文章讲到 ,初始化map地图,必备的三要素之一就是视图(view),这个对象主要是控制地图与人的交互,如进行缩放,调节分辨率、地图的旋转等控制。也就是说每个 map对象包含一个 view对象部分,用于控制与用户的交互。 1. view 属性 center 模组:ol / coordinate〜Coordinate 视图的初始中心。如果未.

@必意玲 8519

Harness Engineering:让Coding Agent真正落地生产

本文将带你系统性地了解如何让Coding Agent真正落地生产,核心是依托(全球领先的持续交付、云成本管理、 feature flagging、安全治理一体化平台),结合企业级AIDD(AI-Driven Development)的工程化实践,构建一套可信赖、可观测、可扩展、可治理的Coding Agent落地体系。核心概念与理论基础:什么是Coding Agent?它和普通的AI代码补全工具(比如GitHub Copilot)有什么区别?什么是Harness Engineering?

移动开发前沿的博客 455

openlayers 入门教程(三):view 篇

iew表示地图的简单 2D 视图。可以用来控制地图在容器中移动,还可以更改地图的中心,分辨率,旋转等。主要会用到两种projection:球面墨卡托 (EPSG:3857)和wgs84(EPSG:4326),查看两者的概念和区别

大剑师兰特的GIS世界 3490

RFC 字符码转换深度解析:Unicode、非 Unicode 与 MDMP 系统的协奏

老版本 MDMP 系统不上传自定义映射时,Unicode 端会落回“预配置列表”。列表里可见西欧 1100、日文 8000、中文 8400 等经典编号。若需强制覆写映射,可在 SM59 ➡Unicode页签启用,或直接勾选作为兜底。字符编码问题常“潜伏”多年,一旦旧系统升级或新增语种便集中爆发。掌握 RFC code page 转换机理、灵活运用 SM59 选项、在早期对 LANG 字段和字段长度进行治理,是根治乱码与 short dump 的关键。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 222

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

openlayers 中设置地图最佳可视范围和限制缩放

ol设置

奔跑的痕迹的博客 6944

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

openlayers [三] 地图视图 View 详解

上篇讲到map的一些属性 这篇我们主要讲解view的一些属性。标出颜色的为常用的方法。

爱玩亚索的程序员 1961

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

OpenLayers 地图打印质量终极指南:分辨率与色彩管理优化技巧

OpenLayers 是一个功能强大的开源地图库,让开发者能够轻松创建交互式地图应用。但在实际使用中,很多用户会遇到地图导出和打印质量问题。本文将为您详细介绍 OpenLayers 地图打印质量设置,特别是分辨率与色彩管理的优化技巧,帮助您获得专业级的打印效果。 ## 🎯 理解 OpenLayers 导出机制 OpenLayers 使用 HTML5 Canvas 元素来渲染地图,这意味着地图

gitblog_00275的博客 1198

OpenLayers 3 之 地图视图(View) 详解

初始化一幅地图,必备的三要素之一就是视图(view),这个对象主要是控制地图与人的交互,如进行缩放,调节分辨率、地图的旋转等控制。也就是说每个 map对象包含一个 view对象部分,用于控制与用户的交互。    主要介绍 view 的作用和用法,并分析商用的地图应用中的相关的功能。功能的具体的实现与如何进行定制和优化,就超过了这篇文章的范围了。

研究与专注 3万+

OpenLayers 入门篇教程 -- 章节三 :掌控地图的视野和交互

《OpenLayers中View对象的深入解析》介绍了View对象作为地图显示控制的核心组件,其功能包括定位、缩放、旋转等地图显示控制。文章详细讲解了基础配置参数、范围约束、分辨率控制和动画方法等核心功能,并提供了实际应用场景如地图导航、响应式布局等。同时给出了性能优化建议和常见问题解决方案,强调View对象对创建流畅地图体验的重要性。掌握View对象配置是实现优秀GIS应用的关键基础。

weixin_67093879的博客 1015

OpenLayers中地图缩放级别的设置方法

一、概述 在OpenLayers中,地图必须具有一个缩放级别的范围,缩放级别可以用比例尺(scale)或者分辨率(resolution)表示。 比例尺——屏幕上1米代表多少地图坐标单位;分辨率——屏幕上一个像素代表多少地图坐标单位。两者的转换关系是:scale = resolution * 72 * 39.3701(1米=39.3701英寸,1英寸=72像素) 地图具有一个总的缩放级别,每个...

weixin_30385925的博客 775

openlayers地图旋转_OpenLayers 3 之 地图视图(View)

OpenLayers 3 之 地图视图(View)初始化一幅地图,必备的三要素之一视图(view),这个对象主要是控制地图与人的交互,如进行缩放,调节分辨率、地图的旋转等控制。也就是说每个map对象包含一个view对象部分,用于控制与用户的交互。主要介绍view的作用和用法,并分析商用的地图应用中的相关的功能。功能的具体的实现与如何进行定制和优化,就超过了这篇文章的范围了。view 类的定...

weixin_29324877的博客 2096

OpenLayers学习笔记(二)

OpenLayers学习笔记(二) 中级篇 地图的分辨率设置 // 添加一个显示Open Street Map地图瓦片网格的图层 new ol.layer.Tile({ source: new ol.source.TileDebug({ projection: 'EPSG:3857', tileGrid: osmSource.getTileGrid() }) }) OpenLayers 3提供了一个用于调试瓦片的source: ol.source.TileD

易小花的博客 1831

Vue+OpenLayers学习系列(五)OpenLayers 加载 WMTS 地图服务(GeoServer)

一、用 GeoServer 发布地图服务并且查看 选择 Tile Caching 里面的 Tile Layers,选择预览方式为 EPSG:4326/png 点开预览该服务,然后在预览页面查看网页源码,查看具体的调用方式和所需的参数。 二、OpenLayers 调用 WMTS 服务 <template> <div id="map" ref="rootmap"> </div> </template> <scri..

Ocean111best的博客 3655

OpenLayers教程09_打印地图:导出地图为图片或PDF

openlayers结合PDF和PNG插件将地图转化为图片或者PDF文档

w131552的博客 2072

OpenLayers教程 多源数据加载之瓦片地图原理

一、瓦片地图简介 瓦片地图(也叫切片地图)源于一种大地图解决方案,就是在多个比例尺下配置地图,然后提前把每个比例尺下的地图绘制为小块图片(瓦片),保存在服务器上用于缓存的目录中。这样客户端在访问地图时,可以直接获取需要的小块图片拼接成整幅地图,而不是由服务器动态创建(实时创建)出一幅图片再发送到客户端,从而极大提高了访问速度。 瓦片地图起始于谷歌地图。在2005年前后谷歌地图已经开始将矢量图层融合为一张栅格化的大图像,大图像被切分为256像素 x 256像素的图片(瓦片)。这些图片预先生...

zhu_zhu_xia的博客 2489
上一篇: OpenLayers学习笔记中级篇(二、对矢量地图的操作)
下一篇: OpenLayers学习笔记中级篇(四、地图图标操作)
MagicMHD
博客等级 码龄9年 503粉丝 78原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值