# GeoWebCache发布ArcGIS切片数据
# 介绍
有些时候我们的数据是使用ArcGIS进行切片,并且数据量很大。但在项目种由于种种原因(比如穷),我们不能使用ArcGIS Server(因为要收费),懂的都懂。这个时候我们就必须使用别的方式来发布ArcGIS切片数据。这里我们使用GeoWebCache进行数据发布。
注意:不能直接使用GeoServer(集成GeoWebCache版本)来发布,我们需要使用独立版本的GeoWebCache来发布数据。
# 配置环境
- Tomcat9.0
- GeoWebCache(1.10.0)
- ArcGIS切片数据
- 系统环境(windows11)
# 整体思路

# 配置过程
# 安装tomcat9.0



设置tomcat用户和密码

选择jre环境

设置安装位置

完成安装

# 配置Tomcat跨域设置
# 添加跨域jar包
- cor-filter-2.4.jar
- java-property-utils-1.9.1.jar
这个可以去maven仓库下载相关jar包

将jar包放到tomcat的lib目录下,C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib

# 修改web.xml文件
文件在conf目录下,C:\Program Files\Apache Software Foundation\Tomcat 9.0\conf

添加如下配置代码
<!-- 提供跨域支持 -->
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
<init-param>
<param-name>cors.allowOrigin</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.supportedMethods</param-name>
<param-value>GET, POST, HEAD, PUT, DELETE</param-value>
</init-param>
<init-param>
<param-name>cors.supportedHeaders</param-name>
<param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value>
</init-param>
<init-param>
<param-name>cors.exposedHeaders</param-name>
<param-value>Set-Cookie</param-value>
</init-param>
<init-param>
<param-name>cors.supportsCredentials</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

到这Tomcat跨域设置完成
# 安装GeoWebCache
# 安装war包
将GeoWebCache的war包放置到Tomcat的webapps文件夹下,C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps

启动tomcat,会自动解压war包

# 配置缓存位置
设置GeoWebCache的web.xml,修改缓存位置,C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\geowebcache\WEB-INF
代码如下:
<context-param>
<param-name>GEOWEBCACHE_CACHE_DIR</param-name>
<param-value>D:\arcgis\cache</param-value>
</context-param>
2
3
4

打开浏览器,输入地址:GWC Home (opens new window)

# 查看GeoWebCache账号密码
在进行操作的时候可能需要我们提供用户名和密码

密码可以在geowebcache的conf目录下找到:C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\geowebcache\WEB-INF

打开users.properties,就可以看到默认的账户和密码

geowebcache/secured
# 将切片放置到缓存位置
这里以影像切片为例(arcgis切片,紧凑(bundle)和离散(png)格式都行)

可以看到缓存目录下已经生成geowebcache,xml
# 修改geowebcache.xml
在layers标签下添加arcgis切片图层信息,代码如下:
<arcgisLayer>
<name>wuxi_20200724</name>
<tilingScheme>D:\arcgis\cache\wuxi_20200724\图层\conf.xml</tilingScheme>
<tileCachePath>D:\arcgis\cache\wuxi_20200724\图层\_alllayers</tileCachePath>
<hexZoom>false</hexZoom>
</arcgisLayer>
2
3
4
5
6

# 结果查看
点击进入图层管理页面

点击reload Configuration按钮,重新加载配置

可以看到图层已经被识别到了


这里我们已经可以看到图层已经在OpenLayers中被正常加载,这里是使用wms标准服务
