GeoServer入门(二):WMTS图层瓦片切割与调用

2023-05-16

本章主要讲述如何GeoServer进行图层瓦片切割与缓冲,发布标准的WMTS服务,并介绍了REST格式的调用参数。主要包含以下内容:

  • 图层切片与缓冲
  • WMTS服务调用

在GeoServer入门(一):发布第一个图层中,利用GeoServer服务器发布了第一张WMS地图,并使用OpenLayers在浏览器中进行了预览和基本的平移和放大操作。细心的读者可能已经发现,每次鼠标操作时浏览器都会向后台服务器发送一个地图更新的请求,这在地图较小、访问量较少的情况下感觉还不太明显。但是,对于稍微大一点的GeoTIFF地图每次花费的时间就显得比较长了。一方面是因为GeoServer服务器每次请求都要根据WMS服务的参数来生成需要返回给浏览器的图像,当地理图像越大时这个过程花费的时间就会越长;另一方面也因为相同的图片生成过程在服务器端被不断的重复,即使已经访问过很多次了也会在下次WMS服务时重新生成,这样就做了很多的无用功,白白浪费了服务器的计算资源。如果能将以前生成过的地理图片缓存在服务器上,这个生成图像的过程就会急剧减少,将会大大减轻服务器的负担,提高服务的影响效率。幸好GeoServer已经内置了GeoWebCache服务,通过这个缓冲机制,可以将所有和图层提前切片保存,虽然从存储空间的角度来讲似乎有些浪费,但是从服务响应时间上来看却极大地提高了地图服务的响应效率。

1. 图层切片与缓冲

GeoServer已内置了GeoWebCache服务,可以直接在GeoServer的管理界面左侧的“Tile Caching”瓦片缓冲菜单栏中进行操作,可以对图层进行切片、设置默认缓冲参数、网格集、磁盘限额等。

(1)打开“切片图层”

点击“切片图层”功能菜单,即可打开“切片图层”页面。

这张页面列出了GeoServer服务器发布的所有图层,在“图层名称”列找到想要进行切片的图层,点击图层的名称打开“编辑图层”页面。

(2)编辑图层切片参数

这里打开的“编辑图层”与GeoServer入门(一):发布第一个图层中“添加新图层”时打开的“编辑图层”页面完全一样。在“Tile Caching”标签页中可以对图层切片参数进行设置。

这里列出的参数可以全部使用默认设置,特别要提到的是网格的设置,GeoWebCache默认使用EPSG:4326和EPSG:3875两种坐标系统来对图层进行切片,这两种坐标系统也是目前WebGIS应用中最为常用的坐标系,如果需要其他的坐标系可以在“Add grid subset”栏中选择添加。其中的放大级别可以先不用设置,在后面具体切片时可以重新设置需要缓冲的切片的缩放级别。

所有参数设置完成后,点“保存”按钮即可。

(3)切片任务

完成切片参数设置以后,就可以在“图层切片”页面中点击图层名称那一行的“Seed/Truncate”按键打开“创建切片任务”设置页面并后台完成切片工作。

 

在“建立切片任务”页面,可以对任务的数量、操作的类型、网格集合、瓦片图像格式、起止缩放级别等参数进行设置,如上图中就设置了使用6个线程来完成EPSG:4326网格的png瓦片切割任务,缩放级别从0级到18级等,最后点击“Submit”按钮即可后台开始上述的切片任务如下:

 

(4)瓦片缓冲文件夹

等到所有这些任务全部都完成后,切片工作就算是完成了,这时可在Tomcat的temp/geowebcache文件夹(Tomcat下war包部署方式,其他方式可相应查找)找到以这个图层名称命名的文件夹,在图层文件夹下列出了瓦片缩放等级为文件夹的多个瓦片目录,所有的瓦片图像就缓冲在这里:

这里出现的文件夹的名字很重要,把名称中的下划线换成冒号(:)后实际上就是很多前台地理空间数据可视化库中所需要用到的TileMatrixID。这时就可以使用客户端来测试一下WMTS服务和瓦片缓冲的实际效果了。

2 WMTS服务调用

在管理界面首页右侧的“服务能力”栏目中找到WMTS服务,点击下面“1.0.0”或者直接在浏览器地址栏中输入

http://localhost:8080/geoserver/gwc/service/wmts?REQUEST=GetCapabilities

来查看GeoServer服务器当前发布的所有WMTS图层的参数情况。由于包含所有和发布图层,这个文件一般会比较长,可以通过搜索图层名称来快速找到该图层的切片情况。

 

 从这个能力文件中可以看出,如果想要以png瓦片的形式访问这个图层,只需使用以下REST命令格式向GeoServer发送请求:

http://localhost:8080/map/gwc/service/wmts/rest/xian:satellite/{style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}?format=image/png

其中:

{style}为瓦片风格,在“创建切片任务”时一般会选择默认值为“raster”;

{TileMatrixSet}为瓦片集合名,“创建切片任务”时会选择“EPSG:4326”或“EPSG:900913”;

{TileMatrix}为瓦片矩阵名,相当于其他切片方法中的缩放层级。由于GeoWebCache同时支持多种网格的切片,所以这个参数的命名与常用的切片机制稍微有点区别。还记得在geowebcache中看到的文件夹的名字吗?这里的{TileMatrix}就是用冒号替换了下划线后的那个文件名。这个参数一般是由前台可视化库自动给出的,注意要能获得正确的缩放级别,如“EPSG:4326:10”就表示10级缩放。

{TileRow}为瓦片行编号,由前台可视化库自动给出;

{TileCol}为瓦片列编号,由前台可视化库自动给出。

明白了这几个参数的含义,就赶紧去找OpenLayers或者Cesium前台JavaScript库去试一下吧!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GeoServer入门(二):WMTS图层瓦片切割与调用 的相关文章

  • 在卸载东西时,一不小心把window资源管理器给结束,电脑黑屏了。

    今天在卸载东西时 xff0c 有个卸载的残旧文件删除不了 xff0c 显示资源管理器正在使用 xff0c 然后我二话不说直接杀进程去了 xff0c 一不小心将资源管理器的进程给就地正法 xff0c 删完之后电脑直接黑屏 话不多说 xff0c
  • 什么是 JDK?

    JDK 是 Java Development ToolKit 的简称 xff0c 也就是 Java 开发工具包 JDK 是整个 Java 的核心 xff0c 包括 Java 运行环境 xff08 Java Runtime Envirnmen
  • 对《Java编程思想》读者的一点建议

    Java 编程思想 这本书在豆瓣的评分高达 9 1 分 xff0c 但我总觉得有点虚高 记得刚上大学那会 xff0c 就在某宝上买了一本影印版的 Java 编程思想 xff0c 但由于初学 Java xff0c 对编程极度缺乏信心 xff0
  • Caused by: java.lang.NumberFormatException: For input string: "performance-now.js"

    DEBUG 2019 01 08 10 43 53 507 org springframework web servlet DispatcherServlet Handler execution resulted in exception
  • spring mvc执行过程

    springMVC执行的过程 流程如下 xff1a 用户发起请求到前端控制器 xff08 DispatcherServlet xff09 xff0c 该控制器会过滤出哪些请求可以访问Servlet 哪些不能访问 就是url pattern的
  • 如何解决电脑无法访问个别网站

    今天重装系统后 xff0c 将所有的系统软件都安装了最新的版本 xff0c 在上网的过程中 xff0c 发现了一个奇怪的问题 xff0c 电脑可以访问网络 xff0c 但却有很多国内的网站都访问不了 xff0c 换了不同的浏览器测试也是同样
  • Springmvc基础

    springmvc入门 springmvc概述 controller层的框架 xff0c 代替Servlet xff0c 处理请求和响应 springmvc快速入门 64 Controller xff1a 将Bean交给Spring管理 x
  • Ocelot简易教程(五)之集成IdentityServer认证以及授权

    Ocelot简易教程目录 Ocelot简易教程 xff08 一 xff09 之Ocelot是什么Ocelot简易教程 xff08 二 xff09 之快速开始1Ocelot简易教程 xff08 二 xff09 之快速开始2Ocelot简易教程
  • 拿什么拯救你,我的团队

    一向认为软件开发就像是在搭房子或者说是在构建一座宏伟的大厦 xff0c 当然这根据工程的大小而定 其实细细想来软件工程的很多地方都是借助于建筑方面的知识 xff0c 就从 工程 这个词来说就是从建筑学引进的 xff0c 类似的还有设计模式
  • ubuntu开机跳过输入密码登录和默认桌面显示,直接启动图形应用程序,替换默认图形桌面

    1 自动登录 Ubuntu开机自动登录 xff0c 这个应该没什么难点 xff0c 自行百度 2 关闭默认的桌面和设置为自己的图形程序 到 usr share xsessions目录下 cd usr share xsessions ls 可
  • ubuntu服务器修改ssh登录用户名及端口

    1 如果默认的ssh登录用户名为ubuntu xff0c 需要开通root账户 xff0c 添加密码 xff1a passwd root 还需修改配置 xff0c 具体方法 xff1a vi etc ssh sshd config 确保一下
  • SpringBoot 集成 WebSocket 实现服务端消息主动推送

    目录 1 什么是websocket xff1f 2 使用Springboot开始整合webSocket3 前端websocket客户端4 测试验证 项目中用到了websocket进行大屏数据实时获取 xff0c 今天写个聊天室demo来进行
  • mysql authentication_string更改密码不成功的问题

    最近新买了电脑 xff0c 再重新安装mysql过程中 xff0c 发现user字段没有了password字段 xff0c update root密码失败 xff0c 发现最新版本更新为authentication string xff0c
  • vs qt 调试 输出 打印 到输出窗口 或控制台窗口

    printf只能输出 到控制台窗口 一 qt Qt日志重定向 xff08 将qDebug信息输出到界面控件 xff09 wx61a586bb4cf91的技术博客 51CTO博客 Windows版qt中 xff0c 如果是一个控制台应用程序
  • import matplotlib ImportError: cannot import name 'is_string_like'

    Traceback most recent call last File 34 321 py 34 line 2 in lt module gt import matplotlib pyplot as pt File 34 C Progra
  • Java多线程

    一 基础概念 1 CPU核心数和线程数 多核心指的是单芯片多处理器 xff0c 将多个CPU集成到同一个芯片内 xff0c 不同的CPU可以单独的运行程序 目前主流的CPU有四核 六核 八核 增加核心数目的是为了增加线程数 xff0c 一般
  • C++实现人脸识别(百度云平台)

    C 43 43 实现人脸识别 xff08 百度云平台 xff09 项目资源下载 项目思路 xff1a opencv 采集人脸照片 xff0c 将照片发送至百度智能云平台 xff0c 百度云平台与人脸库中的数据进行比较并返回结果 一 项目环境
  • 一文学会用 Docker 和 Docker Compose 部署 Node.js 微服务

    后端业务逻辑一般比较复杂 xff0c 全堆在一个 http 服务里不太现实 xff0c 所以基本都会用微服务架构来开发了 比如这样 xff1a 把不同模块的业务逻辑拆分到不同微服务里 xff0c 然后它们和主服务通过 tcp 通信 xff0
  • c++实现天干地支纪年法

    历史课上 老师 xff1a 1894 xff0c 甲午年 xff0c 中日发生甲午战争 学生 xff1a 家务是什么 xff1f 老师 xff1a 甲午 xff01 天干地支纪年法 学生 xff1a 什么是田赶地址 xff1f 老师 xff
  • 对三层和MVC的认识过程

    三层架构就是 MVC xff01 起初老师总说三层 MVC xff0c MVC 三层架构 所以开始的时候脑子就一个概念 xff1a 三层就是 MVC xff0c MVC 就是三层架构 而且想想也合理啊 xff0c 都是 三 MVC 是三个字

随机推荐

  • Spring入门详解(一)如何配置一个简单的spring项目

    关于spring的一些概念 xff0c 网上已经有很多的说明 xff0c 本系列不会做太多的描述 xff0c 重心在如何配置上 一 准备工作 1 安装JDK xff0c 配置环境 本来不想写这条的 想了想 xff0c 还是写上 2 下载开发
  • 超简洁的群晖交叉编译教程

    超简洁的群晖交叉编译教程 最近把一个群晖的NAS放在校园网里的时候遇到了锐捷认证的问题 xff0c 找了一下没有现成的程序可以拿来用 xff0c 然后自己交叉编译一个mentohust来用 1 环境 Ubuntu20 04 xff0c 先去
  • 基于docker部署nextcloud及其升级和问题修复

    之前用docker部署了一个版本的nextcloud xff0c 但是当时版本中存在一些bug xff0c 所以想升级一下 油管上有博主直接在nextcloud设置里更新的而且能用 这是地址 xff0c 懂的都懂 xff0c 但是我在nex
  • TFRecord的一些用法

    1 TFRecord的用法 首先 xff0c TFRecord是把你的数据存成文件的一个东西 所以首先要有个写文件的东西 xff0c 就是 writer span class token operator 61 span tf span c
  • rsync --exclude或者--exclude-from的路径问题

    先开个头 xff0c 注意 的使用 假设有 my src dir a 把 my src dir复制到 my dst dir xff0c 结果 my dst dir my src dir a rsync a my src dir my dst
  • Sentry迁移:从一台机器到另一台机器

    搜了一下 xff0c 目前写部署的帖子很多 xff0c 但是没找到比较完善的迁移的帖子 xff0c 记一下自己的方法吧 思路 因为现在基本都是使用docker部署 xff0c 所以常规思路大概是docker容器的迁移 xff0c 但是现在s
  • Android studio 2.3.3+Dlib

    最近因为需要 xff0c 尝试着将Dlib移植到android上 android小白一枚 xff0c 做之前没接触过android xff0c 所以就用了别人说比较好的android studio 最新稳定版 xff08 windows下
  • 用verilog实现L293D 驱动板接口

    课程实验做了一个蓝牙智能小车 xff0c nexys4开发板 xff0c MIPSfpga xff08 一个在 FPGA 上实现的商业 MIPS 处理器软核 xff0c Imagination Technologies公司提供给高校免费使用
  • 斐讯k2p openwrt固件改双WAN口

    原理参考教你玩转K2P A1 A2 官改版VLAN 步骤 xff1a network配置 xff0c etc config network里把wan的ifname由原来的eth1改成eth1 2增加wan2 xff0c eth1 3dhcp
  • windows 10安装Anaconda后pip报SSL错解决

    问题 新装的系统 xff0c 安装anaconda python 61 3 7 后 pip install xxx pip is configured with locations that require TLS SSL however
  • JSP中文乱码问题终极解决方案

    在介绍方法之前我们首先应该清楚具体的问题有哪些 xff0c 笔者在本博客当中论述的 JSP 中文乱码问题有如下几个方面 xff1a 页面乱码 参数乱码 表单乱码 源文件乱码 下面来逐一解决其中的乱码问题 一 JSP 页面中文乱码 在 JSP
  • ubuntu lightdm test用户自动登陆

    1 编辑 etc lightdm lightdm conf d 50 myconfig conf 内容 SeatDefaults autologin user 61 test 注意此处是自己要登陆的用户名字
  • 猴小萌的博客开通啦

    多年痴迷计算机技术 xff0c 孜孜不倦地学习着计算机的一切 xff0c 享受着计算机带给我的乐趣和满足感 然而有一天 xff0c 突然发现我所获得的知识和问题的答案基本上全部都来自于网络 xff0c 却从来没有为社区奉献过 xff0c 上
  • Cesium入门(一):第一张Cesium页面

    本章主要讲述如何下载和使用Cesium xff0c 编写完成自己的第一张Cesium应用页面 主要从以下几个方面展开叙述 xff1a 下载和部署CesiumJS编写第一张Cesium页面 1 下载和部署CesiumJS CesiumJS是一
  • Cesium入门(二):Viewer控件参数与外观定制

    本章主要介绍Cesium Viewer控件的选项参数 xff0c 以及如何对Viewer的外观进行定制 主要包括以下内容 xff1a Viewer控件Viewer选项参数定制Viewer外观界面 1 Viewer控件 Viewer是构建Ce
  • Cesium入门(三):加载WMS地图服务

    本章介绍Cesium Viewer控件的是如何加载地图的 xff0c 并以GeoServer服务器为例演示了WMS服务的加载过程 主要包括以下内容 xff1a ImageryProvider加载GeoServer发布的WMS服务 在Cesi
  • Cesium入门(四):叠加显示多个图层

    本章介绍Cesium Viewer控件的imageryLayers容器 xff0c 了解添加和叠加显示多个图层的方法 主要包括以下内容 xff1a imageLayers图层容器添加多个图层 1 imageryLayers图层容器 imag
  • GeoServer入门(一):发布第一个WMS图层

    本章主要讲述如何下载和安装使用GeoServer服务器 xff0c 介绍了GeoServer的管理界面 xff0c 并演示了发布地理数据的简单流程 主要从以下几个方面展开叙述 xff1a 下载和安装GeoServerGeoServer管理界
  • FreeBSD内存交换文件的设置与自动加载

    本文主要讲述FreeBSD操作系统下内存交换文件的作用及其自动加载过程 xff0c 主要从以下几个方面展开叙述 xff1a 交换文件的设置交换文件的自动加载 交换文件是虚拟内存机制的重要组成部分 xff0c 在物理内存不够用时可以临时将不常
  • GeoServer入门(二):WMTS图层瓦片切割与调用

    本章主要讲述如何GeoServer进行图层瓦片切割与缓冲 xff0c 发布标准的WMTS服务 xff0c 并介绍了REST格式的调用参数 主要包含以下内容 xff1a 图层切片与缓冲WMTS服务调用 在GeoServer入门 xff08 一