Geoserver-通过WMTS方式获取切割完成的地图瓦片

前提:已经在Geoserver上面发布了地图瓦片。

在一些应用的前端页面中,通常设置的投影方式是EPSG:3857(伪墨卡托投影),相比于EPSG:4326(WGS84),裁剪掉了南北纬85°以上区域。
但是进行裁剪的时候还是以EPSG:4326的中心,不过是删减了南北纬85°以上区域的瓦片,所以计算得到的行列号的编号无变化。


查看瓦片格式

获取高德地图的瓦片请求格式

获取高德地图公开瓦片链接为:
https://webst01.is.autonavi.com/appmaptile?style=%1&x=%2&y=%3&z=%4
其中的“%”为占位符,需要传入相应的参数,这里需要传的参数分别是
 style:地图样式,卫星图的数值代号为6;x:瓦片的行号;y:瓦片的列号;z:缩放的等级(zoom)。
比如我要获取一个卫星图像,瓦片行列号为(x=13489,y=6209),缩放等级为14,则URL示例如下:
https://webst01.is.autonavi.com/appmaptile?style=6&x=13489&y=6209&z=14
 
Geoserver获取瓦片的请求格式其实和高德地图的格式差不多,可以对照着进行理解与修改。
 

获取Geoserver的瓦片请求格式

在Geoserver运行之后,在浏览器输入:
http://localhost:8080/geoserver/gwc/service/wmts?REQUEST=GetCapabilities
会打开一个XML文件,如下所示:
 
往下找<Contents>标签,可以看到所有图层<Layer>的信息。
 
在每个<Layer>标签内,可以看到该图层的名称(<ows:Title>USA Population</ows:Title>),因此我们可以用搜索栏去快速检索自己发布的地图。
这里以标题名为North America sample imagery的图层为例,它位于名为nurc的工作空间中,图层名为Img_Sample
 
<Layer>标签的最后,可以看到这样几个获取不同数据格式的URL样式:
 
 
 
以访问PNG瓦片格式为例,使用REST命令格式向GeoServer发送请求:
http://localhost:8080/map/gwc/service/wmts/rest/{SpaceName}:{LayerName}/{style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}?format=image/png
 
其中:
{SpaceName}为工作空间名,在“创建工作空间”时会给出;
{LayerName}为图层名,在“创建图层”时会给出;
{style}为瓦片风格,可选值有:raster、polygon等,可以在<Style>标签下的<ows:Identifier>标签查看这个图层的发布格式在“创建切片任务”时一般会选择默认值为“raster”;
{TileMatrixSet}为瓦片集合名,在<TileMatrixSet>标签下可以看到有“EPSG:4326”的投影方式,可在Geoserve的“切片图层→{相应的图层}→Tile Caching→STYLES”里面设置;
{TileMatrix}为瓦片矩阵名,相当于其他切片方法中的缩放层级。如“EPSG:4326:10”就表示10级缩放。
{TileRow}为瓦片行编号,由前端给出;
{TileCol}为瓦片列编号,由前端给出。
 
 
按照上面获取高德地图瓦片数据的示例,可以将上面这个REST方式获取瓦片数据的URL请求改为:
http://localhost:8080/geoserver/gwc/service/wmts/rest/nurc:Img_Sample/raster/EPSG:4326/EPSG:4326:%1/%2/%3?format=image/png
工作空间、图层名和投影方式都是已知的,此时我们设置的可变参数为缩放等级z,瓦片的行列号(x,y)。
 
根据每一级的层级不同,瓦片的行列号名称也会随机改变,可以从每一个<TileMatrixSetLink>标签内看到缩放的等级以及相对应的最大最小值行列号。
 
根据上述知识,可以直接手动修改参数,然后在浏览器中进行实验:
http://localhost:8080/geoserver/gwc/service/wmts/rest/nurc:Img_Sample/raster/EPSG:900913/EPSG:900913:3/2/2?format=image/png
 
OK。成功得到返回的地图瓦片。 这样我们就能在OpenLayers等其他应用中获取到指定行列号的瓦片数据。
至于如何计算目标瓦片的行列号,请参考其他文章。
 
 
 
 
 
 
posted @ 2024-04-15 21:16  LesPlumes  阅读(246)  评论(0编辑  收藏  举报