openlayers3中geowebcache的使用

geowebcache就相当于是openlayers和geoserver之间的中介,首先,geowebcache会根据你的配置信息,把相应的地图图层切好图,存放在磁盘中,然后在使用openlayer加载地图服务的时候,把地图服务的地址指向geowebcache,geowebcache接收到这些请求后,会根据请求的位置和比例尺在切片目录中找到对应的瓦片,然后返回给你,省去了动态生成地图的过程,速度大幅度提高,而且由于请求的图片资源是事先生成好的,浏览器加载这些图片之后,下一次再去请求同样的图片,就会从浏览器的缓存中拉去,速度进一步提高!

geowebcache可以切图,也可以发布WMS服务,这里我们主要讨论的是发布已有的切片服务。因为我们经常可以使用地图下载器中下载各种地图切片,需要将这些切片发布成服务。

1.jdk安装

这里不再赘述,geowebcach是以tomcat的形式发布,必然需要jdk的支持

1.geowebcache的部署

geowebcache可以独立于geoserver存在,这里使用的版本是:1.3-RC3,下载对应的war包放到tomcat的webapp目录中,在tomcat中解压后,会在WEB-INF目录下找到一系列配置文件,先找到web.xml配置生成geowebcache.xml的绝对路径,比如:(在web-app根元素下添加如下标签)

<context-param>
   <param-name>GEOWEBCACHE_CACHE_DIR</param-name>
   <param-value>D:/ArcGIS/arcgisserver/arcgiscache</param-value>
  </context-param>

2.标签配置生成路径,生成geowebcache.xml

在webapps/geowebcach/WEB-INF中的geowebcache-core-context.xml配置生成geowebcache.xml的相对路径,启动tomcat生成geowebcache.xml


<constructor-arg value="WEB-INF/classes" />--路径
    <property name="template" value="/geowebcache.xml">
      <description>Set the location of the template configuration file to copy over to the
        cache directory if one doesn't already exist.
      </description>
    </property>

3.配置geowebcache.xml
打开geowebcache.xml,在gwcConfiguration的layers标签里的wmsLayer标签下面添加arcgisLayer标签。

       <arcgisLayer>
	<name>tiantai</name>
	<tilingScheme>D:/ArcGIS/arcgisserver/arcgiscache/tiantai/图层/conf.xml</tilingScheme>
	<tileCachePath>D:/ArcGIS/arcgisserver/arcgiscache/tiantai/图层/_alllayers</tileCachePath>
	</arcgisLayer>

其中tilingScheme配置为arcgis切片结构的conf.xml、tileCachePath配置为arcgis切片结构的_alllayers文件夹,name为wms服务所定义的名称。

4.启动tomcat,打开http://localhost:8080/geowebcache/demo,查看已发布的WMS服务

 
 最在Demos页面里找到发布的图层,单击右边预览格式即可


注意:切片目录中的<LevelID>必须要从0开始,往后类推,必须14-16级的地图,LevelID为0-3。

注意:geowebcache读取ArcGIS切片不同比例等级时,采取的是16进制,而ArcGIS采取的是十进制,因此需要将切片的图层等级文件夹重命名为对应的十六进制,conf.xml中不需要更改。


转载自:https://blog.csdn.net/u014529917/article/details/52241982

You may also like...