WMTS服务介绍

WMTS规定使用瓦片矩阵集(Tile Matrix Set)来表示切割后的地图,如图1所示,不同瓦片矩阵具有不同的比例尺(分辨率),每个瓦片矩阵由瓦片矩阵标识符(一般为瓦片矩阵的序号,分辨率最低的一层为第0层,依次向上排)进行标识。

一、元数据能力文档(Capacity.xml)

示例链接:

https://diffmap.zggyd.com/iserver/services/map-ecology/wmts100?SERVICE=WMTS&REQUEST=GetCapabilities&VERSION=1.0.0

元数据能力文档的主要内容在于content节点,因此主要介绍该节点下的数据结构的含义。

完整的解释可参考:OpenGIS Web 地图切片服务实施标准 - 开放地理空间联盟 (ogc.org)

1.Layer节点

1)Title跟Identifier:图层地图名与标识符

一系列的Boundingbox:图层地图范围(在不同的坐标系下的)

Style: 图层的样式

ormat:F缓存图片格式

TileMatrixSetLink:比例尺集合的链接,这部分只提供比例尺集合的标识符,然后需要到TileMatrixSet中去索引到对应的比例尺集合。

ResourceURL:获取瓦片图片的url地址模板

2)TileMatrixSetLink中还包含了TileMatrixSetLimits,TileMatrixSetLimits会对其对应的比例尺集合做限制以减少不必要的资源加载和浪费。

2.TileMatrixSet节点

1)基本参数介绍

首先是要了解一下TileMatrixSet节点中各个参数的含义。需要注意的是WMTS中以左上角为原点,向下方向为Y轴正向(由北向南),向右方向为X轴正向(由西向东)。

瓦片矩阵中的每个瓦片由瓦片的行列号来标识,行列号分别从瓦片矩阵左上角点所在的瓦片开始算起,起始行列值是(0,0),依次向下向右增加,如上图所示,也就是取瓦片的索引号。

Identifier:这个瓦片阵列的 ID

TopLeftCorner:这个瓦片的左上角位置,此处是经纬度表达(基于 EPSG:4326 坐标系)

TileWidth、TileHeight:瓦片的像素长宽,即 256 × 256 像素

MatrixWidth、MatrixHeight:代表这一级瓦片横向纵向跨度有多少个瓦片

ScaleDenominator:比例尺分母(字面翻译,其值是一个像素代表的实际距离与像素尺寸(习惯以0.28mm标定)的比值)

2)相关计算思路

分辨率Resolution是指一个像素所代表的实际地面距离,单位米。WMTS 1.0.0是以像素大小0.28mm来标定的(这是一个经验值),即每英寸像素个数为0.00254/0.00028=90.71428571428571个(OGC WMTS规范中的数值)。

瓦片图片的分辨率怎么计算,以4326 切片第 0 级瓦片(256x256像素)阵列有 1 行 2 列为例,一个瓦片边长等同地球赤道的一半。地球周长以400750170m计算

一个像素代表的实际长度=(400750170/2)/256=782715.17578125m

下面可以计算

ScaleDenominator=782715.17578125/0.00028=2795411342.075893

有了ScaleDenominator,对于任意实际地表长度,我们可以计算其在屏幕上的长度。如果再已知像素大小(已知dpi),那么地表实际坐标(x, y)就可以计算出像素坐标了(当然,原点和轴向要定义好,TopLeftCorner正好用得到,定义原点了)

下面总结根据ScaleDenominator计算分辨率的公式

Resolution=(1inch/dpi)×0.0254m/inch ×ScaleDenominator

= (0.0254*ScaleDenominator)/dpi

设定x轴由西向东,原点坐标(x0, y0),瓦片大小tileSize,那么对于实际坐标(x, y),计算其在屏幕上的列坐标为

col=floor((x-x0)/(tileSzie*Resolution))

可见,知道了ScaleDenominator和显示设备的dpi就可以计算某个坐标点的屏幕坐标了。

注:关于dpi的相关说明

1英寸=0.0254米,一般假设一个像素的边长为0.28mm=0.00028米。

那么此时dpi=0.0254/0.00028=90.714

二、描述文档(description XML file)

描述文档可用于请求具体的图层的数据集。

GetCapabilitiesUrl:即请求的能力文档的链接

Layer:要获取的图层的表示

Style:要获取的图层的样式

TileMatrixSet:要获取的图层的比例尺集合

DataWindow:要获取的图层的包围盒

BandsCount:波段/通道数,1个用于灰度数据,3个用于RGB,4个用于RGBA。(可选,默认为4)

UnsafeSSL:一般使用https的时候把这个设为true

其他的标签为默认值即可。

三、一些问题和难点

1.天地图的dpi为96,这与常见的dpi不一致

2.选中图层的包围盒应当与其TileMatrixSet一致

四、其他

1.关于restful与kvp

Restful风格的链接:https://maps.wien.gv.at/basemap/1.0.0/WMTSCapabilities.xml

Kvp风格的链接:

https://opencache.statkart.no/gatekeeper/gk/gk.open_wmts?service=WMTS&request=GetCapabilities

参考:

1.WMTS -- OGC Web Map Tile Service — GDAL documentation

2.WMTS服务初步理解与读取_wmts-china-CSDN博客

3.WMTS服务中TileMatrix 与 ScaleDenominator的理解-CSDN博客

4.WebGIS教程 标准 WMTS服务初步理解与读取

5.https://www.cnblogs.com/oloroso/p/9553207.html

6.22. 使用OGC/ISO协议 — QGIS Documentation 文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/573308.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

echarts树图-树效果展示

echarts树图实现数据以树的结构展示,其效果如下: 代码如下: const data {name: XXX公司,itemStyle: {color: #00ADD0},children: [{name: 网络主机,itemStyle: {color: #FFA12F},children: [{name: 普通路由器,itemStyle: {color: #604BF…

高可靠性部署系列(2)--- IPS双机热备

高可靠性部署系列(2)--- IPS双机热备 前言网络拓扑设备选型网络规划组网需求配置思路操作步骤结果验证前言 近期有读者留言:“因华为数通模拟器仅能支持USG6000V的防火墙,无法支持别的安全产品,导致很多网络安全的方案和产品功能无法模拟练习,是否有真机操作的实验或者案…

Kimi 大模型支持 Tool Calling 功能,并入驻字节「扣子Coze」开发平台!

Kimi 大模型API 支持 Tool Calling 功能 Kimi 大模型学会「使用工具」了,API 已支持 Tool Calling 功能。开发者们在打造自己的 AI Agents 时,可以让 Kimi 大模型与丰富的自定义外部工具进行交互,打开 AI 应用更大的想象空间。例如,在对话中,当用户问到一家公司的地址时,…

SAP BPC UJKT使用详解

SAP BPC(SAP Business Planning and Consolidation)旨在帮助企业进行财务规划、预算编制、预测分析和财务报告。 一、UJKT是什么? UJKT是什么呢?它是SAP 中的一个TCODE,该事务码的描述为脚本逻辑检测器,对应的源代码程序为&#…

nuxt3 无法创建项目问题

Error: Failed to download template from registry: Failed to download https://raw.githubusercontent.com/nuxt/starter/templates/templates/v3.json: TypeError: fetch failed 错误信息 解决方案 进入windows系统修改hosts文件 C:\Windows\System32\drivers\etc增加以…

IDEA中Vue开发环境搭建

1. IDEA安装Vue.js 文件>设置>插件>搜索Vue.js并安装。 2. 安装Node.js 官网地址:https://nodejs.org 安装包下载地址:https://nodejs.org/en/download 下载并安装,安装时,勾选添加系统变量选项。 # 如果正确安装…

如何批量跟踪京东物流信息

随着电商行业的快速发展,快递业务日益繁忙,无论是商家还是消费者,都需要一种高效、便捷的快递查询工具。快递批量查询高手软件应运而生,以其强大的功能和便捷的操作体验,赢得了广大电商、微商精英们的青睐。 快递批量…

通用计算平台与医用计算平台的差异

1.通用计算平台参考信息 《医疗器械软件注册审查指导原则(2022年修订版)(2022年第9号)》中关于“通用计算平台”有说参考《IMDRF/SaMD WG/N10 FINAL: 2013》 2.IMDRF/SaMD WG/N10 FINAL: 2013中关于通用计算平台的说明 3.通用计…

YOLOv8常见水果识别检测系统(yolov8模型,从图像、视频和摄像头三种路径识别检测)

1.效果视频(常见水果识别(yolov8模型,从图像、视频和摄像头三种路径识别检测)_哔哩哔哩_bilibili) 资源包含可视化的水果识别检测系统,可识别图片和视频当中出现的六类常见的水果,包括&#xf…

git lab 2.7版本修改密码命令

1.gitlab-rails console -e production Ruby: ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux] GitLab: 14.9.0-jh (51fb4a823f6) EE GitLab Shell: 13.24.0 PostgreSQL: 12.7 2根据用户名修改密码 user User.find_by(username: ‘username’) # 替换’use…

2024年航空航天与工业技术国际学术会议(IACAIT 2024)

2024年航空航天与工业技术国际学术会议(IACAIT 2024) 2024 International Conference on Aerospace and Industrial Technology 一、【会议简介】 2024年航空航天与工业技术国际学术会议,将汇集全球顶尖专家,探讨前沿技术。 这次会议主题为“航空航天与…

PMP®考试的形式、题型、考试内容和趋势

PMP考试形式: 国内的PMP考试是由中国国际人才交流基金会和PMI共同组织举办,统一采取的都是线下笔试。一年考4次,今年的考试安排在3月、6月、8月、11月。3月10日的PMP考试已结束,接下来是6月份的考试,考试时间预计在6月…

2024年了,还有必要搭建企业网站吗?

现在企业的营销手段五花八门。当下火爆的短视频直播平台展现出的裂变效应也取得不错的成绩,这不禁让很多企业舍弃做网站的念头,投入自媒体账号。那么,2024年了,还有必要搭建企业网站吗? 我们分两种企业来看&#xff1…

利用弹性云主机部署高效数据库系统

在当今云计算的时代,弹性云主机(EC2)为我们提供了前所未有的灵活性和可扩展性,使得在云端部署高效的数据库系统成为可能。本文将从选择适当的云服务配置、优化数据库设置、建立完备的数据备份与恢复策略,以及加强数据库…

LeetCode-219. 存在重复元素 II

题目描述 给你一个整数数组 nums 和一个整数 k &#xff0c;判断数组中是否存在两个 不同的索引 i 和 j &#xff0c;满足 nums[i] nums[j] 且 abs(i - j) < k 。如果存在&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 示例 1&#xff1a; 输入&…

springboot+vue学习用品商店商城系统java毕业设计ucozu

该系统利用java语言、MySQL数据库&#xff0c;springboot框架&#xff0c;结合目前流行的 B/S架构&#xff0c;将互动式学习用品网上商城平台的各个方面都集中到数据库中&#xff0c;以便于用户的需要。该系统在确保系统稳定的前提下&#xff0c;能够实现多功能模块的设计和应用…

天人、人间、二神之间的宗教战争

文本&#xff1a;创世记 2-3、马太福音 23-24、启示录 12-13  天人、地球人和两位神之间的宗教战争是什么样的&#xff1f;  属天的&#xff08;天体&#xff09;是神&#xff08;创世记6&#xff09;&#xff0c;属地的&#xff08;地上的人&#xff09;是肉身。有两个主要的…

学python的第十九天

网络通信和访问数据库 1.1 基本的网络知识 TCP/IP IP是低级的路由协议&#xff0c;它将数据拆分在许多小的数据包中&#xff0c;并通过网络将他们发送到某一特定地址&#xff0c;但无法保证所有包都抵达目的地&#xff0c;也不能保证包按顺序抵达 TCP&#xff08;传输控制协议…

【数据结构】哈希桶

目录 前言&#xff1a; 开散列&#xff08;哈希桶&#xff09; 开散列的概念 哈希桶的模拟实现 整体框架 查找 插入 删除 析构函数 前言&#xff1a; 闭散列线性探测缺点&#xff1a;一旦发生哈希冲突&#xff0c;所有的产生哈希冲突的数据连续存储在一块区域&#xff…

算法-栈操作

1047. 删除字符串中的所有相邻重复项 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:string removeDuplicates(string s) {string stack;for(char& ch:s){if(stack.size()>0&&chstack.back()){stack.pop_back();}else{stack.push_back(ch);}…