1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > geoserver (三)发布多层级天地图 谷歌地图 高德地图等底图切片服务

geoserver (三)发布多层级天地图 谷歌地图 高德地图等底图切片服务

时间:2023-05-09 22:36:30

相关推荐

geoserver (三)发布多层级天地图 谷歌地图 高德地图等底图切片服务

arcgis发布多层级的底图切片服务的技术已经相对成熟,但是arcgis不开源,因此最近在研究geoserver, geoserver相对比较轻量,又是开源的软件,感觉也挺好用,就是插件比较多,版本比较多,在配置的时候会消耗很多时间。最近在研究geoserver发布天地图地图的切片服务,看了网上很多文档,但是还是遇到很多坑,记录下采坑的情况,本地安装的是geoserver 1.15.2。

总体来说有三种方法,多层级MBTiles、多层级地图大图拼接、发布arcgisserver切好的切片缓存数据。

一、多层级MBTiles规范数据发布

配置MBTiles扩展包,需要下载geoserver-2.15-SNAPSHOT-wps-plugin 和geoserver-2.15-SNAPSHOT-mbtiles-plugin包,本地安装哪个geoserver的版本,就去下载对应的版本,下载完成后把解压的jar包放到geoserver安装路径下webapps/geoserver/WEB-INF/lib文件夹内,重启geoserver。

配置成功后在数据存储的目录会有MBTiles的扩展数据源。

最终因为目录文件的问题没有选择这个方法进行切片。

二、多层级地图大图拼接格式

我们所拿到的数据是天地图各层级构建好金字塔后的tif文件,每个层级对应一份tif文件,这个主要就是要解决多层级的问题。

1、首先我们需要在Gridsets里添加下载的天地图各层级所对应的比例尺和坐标;

2、然后可以通过数据存储的GeoTIFF格式的数据加载各层级的天地图tif文件,对每个层级的文件都进行切片。也就是假设是第8层级的数据,我们只切8级的瓦片,第9级的数据,我们只切9级的瓦片。

3、所有层级的瓦片都切好后,去切片路径下将多个文件夹内的切片服务合并成一个完整的目录,然后直接去tile caching中选择完整目录的服务预览即可。

这种方法完全可以实现,但是预览的时候遇到了bug,缩放的时候会有经纬度的闪跳,后期解决了再更新。

三、GeoWebCache插件发布ArcGIS切片服务

我本地安装的是geoserver的1.15版本,本身已经继承了geowebcache的发部分功能,但是想调用arcgisserver的瓦片,还是需要在本地安装geowebcache插件,我一开始用的是与geoserver版本一致的1.15版本,但是测试后有问题, 报503错误。网上查了很多资料,最终确定用相对比较稳定的geowebcache1.10.0(war包)版本,完美发布。

1、下载好geowebcache1.10.0后,解压并将其拷贝到webapps的目录下

2、重新启动geoserver,在浏览器中一次输入http://localhost:16080/geoserver/web/和http://localhost:16080/geowebcache/home,如果出现下图即安装成功。

3、配置geowebcache的缓存目录:geoserver-2.15.2\webapps\geowebcache\WEB-INF目录下,打开web.xml并在context-param下添加节点,然后重启geoserver,在E:\geoserver\arcgis目录下会自动生成如下文件:

<context-param><param-name>GEOWEBCACHE_CACHE_DIR</param-name><param-value>E:\geoserver\arcgis</param-value></context-param>

4:配置arcgis server的缓存切片路径

arcgisserver切片缓存的目录如上图所有,我们需在第3点生成geowebcache.xml中配置缓存路径,在layers节点下添加代码:

</arcgisLayer><arcgisLayer><name>tdtLayer_map</name><tilingScheme>D:\arcgisserver\directories\arcgiscache\eastChinaSea_eastSeaMap\Layers\Conf.xml</tilingScheme><tileCachePath>D:\arcgisserver\directories\arcgiscache\eastChinaSea_eastSeaMap\Layers\_alllayers</tileCachePath><hexZoom>false</hexZoom></arcgisLayer>

网上很多教程说需要更改Conf.xml和conf.cdi文件,但是经过测试,是不需要改的。

重启geoserver服务,如果能够正常访问http://localhost:16080/geowebcache/home,则表示配置成功,如果不行,则去geoserver-2.15.2\webapps\geowebcache\WEB-INF目录下,在geowebcache-core-context.xml文件中添加代码:

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

5、预览geowebcache服务:打开http://localhost:16080/geowebcache/home,点击

A list of all the layers and automatic demos进入图层选择:

点击png进行预览

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。