# GeoWebCache发布ArcGIS切片数据

# 介绍

有些时候我们的数据是使用ArcGIS进行切片,并且数据量很大。但在项目种由于种种原因(比如穷),我们不能使用ArcGIS Server(因为要收费),懂的都懂。这个时候我们就必须使用别的方式来发布ArcGIS切片数据。这里我们使用GeoWebCache进行数据发布。

注意:不能直接使用GeoServer(集成GeoWebCache版本)来发布,我们需要使用独立版本的GeoWebCache来发布数据。

# 配置环境

  • Tomcat9.0
  • GeoWebCache(1.10.0)
  • ArcGIS切片数据
  • 系统环境(windows11)

# 整体思路

arcgis遥感影像发布流程

# 配置过程

# 安装tomcat9.0

image-20220315224729084

image-20220315224742982

image-20220315224755555

设置tomcat用户和密码

image-20220315224830073

选择jre环境

image-20220315224910310

设置安装位置

image-20220315224940268

完成安装

image-20220315225008977

# 配置Tomcat跨域设置

# 添加跨域jar包

  • cor-filter-2.4.jar
  • java-property-utils-1.9.1.jar

这个可以去maven仓库下载相关jar包

image-20220315225140911

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

image-20220315225414475

# 修改web.xml文件

文件在conf目录下,C:\Program Files\Apache Software Foundation\Tomcat 9.0\conf

image-20220315225551460

添加如下配置代码

<!-- 提供跨域支持 -->
    <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>
1
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

image-20220315225905642

到这Tomcat跨域设置完成

# 安装GeoWebCache

# 安装war包

将GeoWebCache的war包放置到Tomcat的webapps文件夹下,C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps

image-20220315230353531

启动tomcat,会自动解压war包

image-20220315230549145

# 配置缓存位置

设置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>
1
2
3
4

image-20220315231557033

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

image-20220315231758050

# 查看GeoWebCache账号密码

在进行操作的时候可能需要我们提供用户名和密码

image-20220316132707269

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

image-20220316132918600

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

image-20220316133015632

geowebcache/secured

# 将切片放置到缓存位置

这里以影像切片为例(arcgis切片,紧凑(bundle)和离散(png)格式都行)

image-20220315232012661

可以看到缓存目录下已经生成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>
1
2
3
4
5
6

image-20220315232428875

# 结果查看

点击进入图层管理页面

image-20220315232458831

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

image-20220315232542611

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

image-20220315232651389

image-20220315232808197

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

image-20220315232824281

上次更新时间: 2022年5月20日星期五上午11点16分