GeoServer发布Arcgis切片服务教程

前言:

笔者因国产化需求,需要采用GeoServer发布地图服务,而原有大量的Arcgis切片服务,因此寻找利用GeoServer发布Arcgis切片的方法。但网上教程均比较古早,且互相冲突,笔者在经过几天的查阅和测试后,总结了一套相对新的发布方法,供大家交流学习。

1.Geoserver下载与安装

1)Geoserver下载

作为一款开源软件,只需去官网进行下载即可,下载地址: GeoServer
如无特殊版本需求,只要下载当前的稳定版本,如下图所示。笔者写文章时稳定版本为2.26.2,此文章以此版本为例。
在这里插入图片描述
在这里插入图片描述

2)Geowebcache下载

GeoWebCache 是一个开源的地图切片缓存服务器,广泛应用于地理信息系统(GIS)和地图服务领域,旨在通过缓存地图切片(Tile)显著提升地图服务的响应速度和性能。GeoWebCache 作为地图客户端(如浏览器、移动端应用)与地图服务器(如 GeoServer、MapServer)之间的代理,通过预先生成并存储地图切片(将地图按固定网格切割为小块图像),拦截客户端请求并直接返回缓存切片,减少实时渲染的计算量。本文需要GeoWebCache集成GeoServer中用来发布Arcgis地图服务。下载地址: GeoWebCache,如无其他需求,下载最近的即可。本文是下载了1.26.2版本。
在这里插入图片描述
在这里插入图片描述

2.集成与功能启动

1)GeoServer功能启动

解压下载的安装包,新建一个存放切片的文件夹,文件夹最好是英文,路径也应该全英文。本文新建data文件夹,作为样例。
在这里插入图片描述

(1)修改web.xml

打开打开GeoServer程序WEB-INF目录,如果按照此教程,应该在geoserver-2.26.2\webapps\geoserver\WEB-INF中,找到web.xml文件,使用记事本或者notepad打开配置文件。修改如下配置:<param-name>为固定的参数,<param-value>为配置文件生成的文件夹地址,可以按需修改。

<context-param>
    <param-name>GEOWEBCACHE_CACHE_DIR</param-name>
    <param-value>D:\softwore\geoserver\map</param-value>
</context-param>

插入如图所示地方:
在这里插入图片描述

(2)配置缓存文件

上一节将缓存目录路径配置完成后,启动一下GeoServer程序,系统将会在缓存目录下自动生成ArcGIS切片缓存配置文件。
首先,找到bin文件下startup启动。在这里插入图片描述
可以在缓存文件生成目录查看生成的配置文件信息。此处笔者为了防止修改错误,备份了原有的geowebcache.xml文件。
在这里插入图片描述
修改geowebcache.xml文件,在layers标签中添加arcgisLayer标签,配置切片图层名、切片方案路径、切片缓存路径参数。name标签为切片名称,<tilingScheme>是arcgis的conf.xml的地址,<tileCachePath>是arcgis切片的图层地址。

<layers>
  <arcgisLayer>
    <name>test</name>
    <tilingScheme>arcgis/conf.xml</tilingScheme>
    <tileCachePath>arcgis/_alllayers</tileCachePath>
  </arcgisLayer>
</layers>

2)Geowebcache的集成

(1)jar包的拷贝

用解压软件打开geowebcache-1.25.4-war包,打开WEB-INF目录中的lib目录,找到gwc-arcgiscache-1.25.4.jar,
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
复制到geoserver-2.26.2\webapps\geoserver\WEB-INF\lib
在这里插入图片描述

在这里插入图片描述

(2)配置文件修改

在geoserver安装包\geoserver-2.26.2\webapps\geoserver\WEB-INF\lib中找到jar包gs-gwc-2.26.2.jar.用解压文件打开
在这里插入图片描述
将geowebcache-1.25.4-war包中的geowebcache-arcgiscache-context.xml
在这里插入图片描述
拷贝到geoserver-2.26.2\webapps\geoserver\WEB-INF\lib中gs-gwc-2.26.2.jar中,并修改其中的geowebcache-core-context.xmlgeowebcache-servlet.xml文件。
在这里插入图片描述
在这里插入图片描述
geowebcache-core-context.xml的文件中加入,如图所示

<bean id="gwcArcGIGridsetConfigutation" class="org.geowebcache.arcgis.layer.ArcGISCacheGridsetConfiguration"/>

在这里插入图片描述
geowebcache-servlet.xml的文件中加入,如图所示

<import resource="geowebcache-arcgiscache-context.xml"/>

在这里插入图片描述

修改完成后点击保存,更新压缩包内容。
在这里插入图片描述

3.切片信息发布

如有需要添加的其他切片只需要在geowebcache.xml,配置ArcGis的切片信息即可(2.1.2内容)。启动Geoserver,登录。找到切片图层,即可看到。选择如图即可预览。
在这里插入图片描述
在这里插入图片描述
如果此时仍没有信息可以尝试在http://localhost:8080/geoserver/gwc/demo中刷新。
在这里插入图片描述

### GeoServer 发布 ArcGIS 紧凑型切片教程 #### 准备工作 在开始之前,需确认已准备好以下资源和环境: - 安装并运行最新的 GeoServer 版本[^1]。 - 下载目标 ArcGIS 的紧凑型切片数据(通常为 `.bundle` 文件夹结构)[^4]。 #### 配置步骤 ##### 添加紧凑型切片目录至 GeoServer 数据存储路径 将准备好的紧凑型切片文件夹复制到 GeoServer 的 `data_dir/gwc/layers/` 路径下。此路径用于存放所有由 GeoWebCache 处理的地图瓦片数据[^3]。 ##### 创建虚拟图层 通过 GeoServer Web 控制台创建一个新的 WMS 图层,并将其命名为与紧凑型切片一致的名字。具体操作如下: 1. 登录 GeoServer 并进入 **Layers -> Add a new layer** 页面。 2. 设置新图层的名称以及边界框参数(可从原始 ArcGIS 地图元数据中获取)[^2]。 ##### 修改 GeoWebCache 配置文件 编辑 GeoServer 中集成的 GeoWebCache 配置文件 (`gwc.xml`) 或者单独部署的 GeoWebCache 实例中的对应配置文件。主要调整部分包括但不限于: - `<seed>` 和 `<truncate>` 参数设置以支持初始加载时自动填充缓存区域。 - 自定义瓦片格式及比例尺序列匹配源 ArcGIS 缓存设定。 以下是示例 XML 配置片段展示如何指定种子策略: ```xml < seedingPolicy>SEED</seedingPolicy> < zoomStart>0</zoomStart> < zoomStop>18</zoomStop> ``` 完成上述更改后重启 GeoServer 或独立 GeoWebCache 服务使改动生效。 ##### 测试发布成果 打开浏览器访问类似于下面 URL 来验证发布的成功与否: http://localhost:8080/geoserver/gwc/demo/{workspace}:{layername}.html 其中 `{workspace}` 替换实际的工作空间名;而 `{layername}` 应该替换为你先前所建立的那个代表紧缩型切片的新图层数字标识符。 --- ### 注意事项 尽管当前版本 GeoServer 已经内置了大部分 GeoWebCache 功能, 对于某些特殊类型的第三方瓦片可能仍存在兼容性问题。因此,在遇到困难的情况下考虑引入外部专用 GeoWebCache 组件作为补充解决方案不失明智之举。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值