GeoServer WMTS 服务

 

准备工作

使用GeoServer发布WMTS服务,需要以下软件或环境

软件环境 版本
Java 1.8
GeoServer ≥2.19.2
Git /

 

下载安装java1.8

  1. Win 64位环境下,下载java1.8安装包

    https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

    下载后启动exe并分别安装jdk与jre至自定义目录

    Jdk安装路径:D:\Program Files\Java\jdk1.8.0_301

    Jre安装路径:D:\Program Files\Java\jre1.8.0_301

    注:后续配置说明以上述安装路径为例

  2. 配置java1.8环境变量

    依次点击“开始”-》“此电脑”-》“属性”-》“高级系统设置”-》“环境变量(N)…”

    新建两个“系统变量”:

    变量名:JAVA_HOME,值:D:\Program Files\Java\jdk1.8.0_301

    变量名:CLASSPATH,值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

    编辑“系统变量”Path,增加“%JAVA_HOME%\bin”和“%JAVA_HOME%\jre\bin”

  3. 重启计算机

  4. 确认Java1.8安装和配置正确

    在cmd中依次输入java -version与javac -version

    以上界面表示Java1.8已安装和配置正确

 

下载GeoServer

  1. 打开http://geoserver.org/,下载GeoServer程序文件

  2. 下载完成后直接解压即可

    例如: 解压后路径E:\geoserver-2.20.0-bin

 

发布服务

 

启动GeoServer

进入GeoServer解压根目录E:\geoserver-2.20.0-bin,右键选择“Git Bash Here”,输入启动命令“./bin/startup.sh”并回车

 

进入GeoServer服务发布页面

  1. 在Chrome浏览器访问http://localhost:8080/geoserver

  2. 点击右上角“登录”,默认账号:admin,默认密码:geoserver

 

新建工作区

  1. 点击左侧菜单栏中的“工作区”,进入工作区界面,点击“添加新的工作区”

  2. 输入“Name”:自定义名称,freedo-workspace

  3. 输入“命名空间URI”:可以参考其它GeoServer工作区命名空间,修改链接最后的值即可,例如:http://www.opengeospatial.net/freedo-workspace

  4. 点击“保存”,返回工作区界面

 

添加新的数据存储

  1. 点击左侧菜单栏中的“数据存储”,进入数据存储界面,点击“添加新的数据存储”,点击矢量数据源中的“Directory of spatial files (shapefiles)”

  2. 在“新建矢量数据源”界面,选择之前创建的工作区“freedo-workspace”

  3. 在“数据源名称”输入:shp-sampledata-freedo

  4. 在连接参数中点击右侧“浏览…”,打开数据文件目录,找到待发布的shp数据后,点击“确定”

  5. 修改“DBF文件的字符集”为UTF-8,保持其他设置项为默认值,点击“保存”后跳转新建图层页面

    注:“DBF文件的字符集”设置值根据数据实际的编码方式决定

  6. 在“新建图层”页面自动读取了待发布shp数据,点击相应数据右侧的“发布”

    注:如果在点击“保存”后没有跳转新建图层页面,在左侧菜单栏中点击“图层”,点击“添加新的资源”,在“添加图层”中找到刚刚创建的数据存储:freedo-workspace: shp-sampledata-freedo,再点击“发布”

  7. 点击“发布”后,进入“编辑图层”页面,在数据分栏中,默认“命名”为:sampledata(自动读取待发布shp的数据名)

  8. 在“坐标参考系统”中,自动定义了本机的空间参考系统(来自待发布的shp)与目标空间参考系统。如果想要对目标参考系统进行修改,可以点击“查找”后,输入对应的EPSG编码并点击相应参考系即可

  9. 在边框中,点击“从数据中计算”自动填写Native Bounding Box

    注:在此处需要计算边框矩形的长宽值,计算方法如下:

    边框长=最大X-最小X=833,766.608156445-(-596,350.2311648708)=1,430,116.8393213158

    边框宽=最大Y-最小Y=4,769,597.654818009-3,607,969.5492127184=1,161,628.1056052906

    完成后,将计算得到的较大边长值(1,430,116.8393213158)记录下来,在后续创建切片方案中需要使用。

  10. 点击“Compute from native bounds”填写纬度/经度边框

  11. 数据分栏中其他设置项保持默认值,点击“保存”,进入图层界面,可以在图层界面中看到刚刚创建的图层sampledata

 

创建切片方案

如果切片方案不变,创建1次之后可跳过此步骤

  1. 点击左侧菜单栏中的“网格集”,进入网格集界面,点击“添加新网格集”

  2. 在“创建新的网格集”界面,“名称”输入:sampledata-gridset-freedo

  3. 在“坐标系”栏,点击右侧“查找”,输入与待发布shp坐标系一致的EPSG编码(例如:4544),查找到坐标系后点击坐标系编码

  4. 在“网格集边界”中,手动输入从数据中计算得到的Native Bounding Box

    注:Native Bounding Box边界值计算方法如下:

    根据之前得到的较大边长值(1,430,116.8393213158),计算网格集边界的最大X、最大Y。

    最小X与边框最小X保持一致:-596,350.2311648708

    最小Y与边框最小Y保持一致:3,607,969.5492127184

    最大X=最小X+较大边长值=-596,350.2311648708+1,430,116.8393213158=833,766.608156445

    最大Y=最小Y+较大边长值=3,607,969.5492127184+1,430,116.8393213158=5,038,086.3885340342

  1. 填写网格集边界后,在“Tile Matrix Set”下,多次点击“Add zoom level”,可以添加多个缩放级别,在发布时根据实际的尺度需求选择一定的缩放区间即可

注:添加缩放级别时,不要手动编辑修改系统自动添加的“像素大小(Pixel Size)”与“比例尺(Scale)”中的参数值;此外,如果对网格集进行了修改编辑,需要删除所有缩放级别并重新添加。

  1. 点击“保存”,返回网格集界面

编辑图层Tile Caching

  1. 左侧菜单栏中点击“图层”,在图层界面找到刚刚创建的图层,并点击sampledata

  2. 在“编辑图层”页面,点击“Tile Caching”分栏,在页面底部“Add grid subset”处下拉找到之前创建好的网格集“sampledata-gridset-freedo”,并点击“+”将网格集加入到图层可用的网格集中

注:系统默认添加的“EPSG:4326”与“EPSG:900913”切片方案不要删除。

  1. 点击“保存”,返回图层界面

进行切片

  1. 左侧菜单栏中点击“切片图层”,进入切片图层界面,找到刚刚设置好的切片freedo-workspace:sampledata

  1. 点击freedo-workspace:sampledata右侧的“Seed/Truncate”

  1. 在GWC Seed Form页面中进行切片设置

    “Number of tasks to use”:08 “Type of operation”:Reseed – regenerate all tiles “Grid Set”:sampledata-gridset-freedo “Format”:image/png “Zoom start”:00 “Zoom stop”:06 其他项保持默认设置,完成参数设置后点击“Submit”

注:“Number of tasks to use”取决于计算机内核数;“Zoom start”与“Zoom stop”的值要在创建的切片方案分级区间内,根据实际需求设置

  1. 开始切片

  2. 多次点击“Refresh list”刷新切片状态,当显示“none”时,切片完成

 

预览服务

  1. 关闭GWC Seed Form页面,回到GeoServer页面,左侧菜单栏中点击“切片图层”,进入切片图层界面,找到刚刚设置好的切片“freedo-workspace:sampledata”,在预览栏下拉选择对应网格集的png预览方式

  2. 在预览界面可以显示完整的shp数据,通过滚轮缩放可以检查确认切片在不同缩放级别下的加载情况,如果有加载不完整或偏移的情况出现,需要在GeoServer中调整图层或网格集信息后重新发布

 

使用服务

获取服务地址

  1. 在浏览器预览页面按“F12”,并在浏览器中使用鼠标滚轮放大缩小服务预览图,在“Network”页面中查看发出的请求,选择任一有响应结果的请求,右键在新标签页中打开,并将服务地址拷贝至文本编辑器

    服务地址示例: http://localhost:8080/geoserver/gwc/service/wmts?layer=freedo-workspace%3Asampledata&style=&tilematrixset=sampledata-gridset-freedo&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image%2Fpng&TileMatrix=sampledata-gridset-freedo%3A2&TileCol=3&TileRow=3

  2. 对服务地址进行编辑,将服务地址最后的切片层级与切片行列号分别替换为{z}、{x}、{y}

    编辑后服务地址示例: http://localhost:8080/geoserver/gwc/service/wmts?layer=freedo-workspace%3Asampledata&style=&tilematrixset=sampledata-gridset-freedo&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image%2Fpng&TileMatrix=sampledata-gridset-freedo%3A{z}&TileCol={x}&TileRow={y}

至此,我们就得到了GeoServer发布的WMTS服务地址

 

在Explorer中加载地图服务

  1. 打开Explorer,新建工程,坐标系选择与WMTS服务数据一致的坐标系

  2. 在“设置”-“地图”-“大地图”下,选择坐标系为“本地”,服务类型为“WMTS”,输入编辑后的服务地址,勾选坐标顺序为“YX”

  3. 拖动场景即可找到已经加载的地图服务,也可以导入对应区域的3dt文件在图层树中双击定位找到地图服务

results matching ""

    No results matching ""

    results matching ""

      No results matching ""