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进行预览
geoserver (三)发布多层级天地图、谷歌地图、高德地图等底图切片服务相关推荐
- android java 经纬度(国标WGS84/gps84/硬件/谷歌地球卫星,Gcj02/腾讯地图/高德地图,Bd09/百度地图)之间互换
android java 经纬度(国标WGS84/gps84/硬件/谷歌地球卫星,Gcj02/腾讯地图/高德地图,Bd09/百度地图)之间互换 前言: 由于项目需要,很多时候都需要地图经纬度直接的转换 ...
- ios html调起高德地图,iOS 调用百度地图, 高德地图,苹果自带的地图
在你项目的info.plist添加 LSApplicationQueriesSchemes 为KEY 类型为NSArray;添加对应的白名单 高德:iosamap百度:baidumap - (void ...
- 天地图<——>高德地图互转坐标 工具类
1.首先弄明白几种在线地图的坐标系: (1)天地图:CGCS2000,2000国家大地坐标系:我们其实很多时候直接用WGS84的坐标来代替CGCS2000坐标.因为CGCS2000的定义与WGS84实 ...
- Mysql 高德转天地图经纬度sql ,高德地图GCJ-02火星坐标系与GPS的WGS-84坐标系转换
-- mysql高德转天地图 SELECT -- 经度 xlongitude * 2 -(xlongitude +(((300.0 + (xlongitude - 105.0) + 2.0 * (yl ...
- android 百度地图高德地图开发
实现百度地图和高德地图导航(方式) 如图:根据第三方地图来实现不同的出行方式 第一步:首先判断手机是否安装第三方导航应用如百度地图或者是高德地图 - 没有安装则提示安装应用 /*** 通过包名获取应用 ...
- 百度地图高德地图横向评测nbsp;出…
要说是现在的导航APP,<Google Maps>是当之无愧的大哥,可惜在由于先天的水土不服,它在国内并没有得到在海外的好成绩,至今国内的导航APP市场还在战国时代,各路豪杰各显其能.今天 ...
- gcoord: 转换WGS84、GCJ02、BD09坐标,解决百度地图高德地图坐标系不统一的问题
做过地图相关开发的同学肯定会遇到这样一个问题:同样的经纬度坐标,在百度地图和高德地图上位置不一样. 关于坐标系 我们通常用经纬度来表示一个地理位置,但是由于一些原因,我们从不同渠道得到的经纬度信息可能 ...
- JS百度地图高德地图API的接入与使用
1.实现功能 1.显示地图 移动地图 缩放地图 拖拽地图 显示地图小部件 2.添加删除自定义覆盖物(服务区) 点弹跳动画 添加文字标签/图标/ 点聚合 3.点聚合功能 4.弹出文字信息窗口 弹出图文信 ...
- html5 调用高德地图,高德地图在h5项目中的集成(点标记)
关于高德地图在项目中的集成,网上已经有很多相关的很优秀的文章了,故本篇内容仅用于参考和巩固. 1.使用高德地图之前需要在高德开放平台(https://lbs.amap.com/dev/index)创建 ...
最新文章
- 迪杰斯特拉算法c++_《算法图解》学习记录7--迪杰斯特拉算法
- C++ Primer 5th笔记(6)chapter6 函数:参数匹配
- leetcode 263, 264, 1201, 313. Ugly Number I, II, III, Super Ugly Number(leetcode 丑数问题合集)
- python程序 爱意_[Python]快学学怎么Python爬一段情书送女朋友吧
- jQuary总结11:jQuery插件封装---jQuery封装 手风琴 动画插件
- Liaoning Province--保三成功
- Spring中利用配置文件和 value注入属性值
- jQuery的实用特性扩展类库:jQuery++
- 1-2月热点:度目发布煤矿电子封条解决方案,AI助力生产安全,推进煤矿智能化建设
- INVT英威腾GD200A系列变频器使用PID实现恒压供水功能的相关参数设置及接线
- 基于matlab的gmsk,基于MATLAB的GMSK仿真分析-移动通信系统三级项目报告
- 十三号星期五题解 【模拟】
- iOS 微信和QQ分享显示“未验证应用”问题处理(尤其是Swift 中 continueUserActivity 不执行问题)
- “红黑树”,我一脸懵逼......
- 修炼你的《九阳神功》行走江湖
- auto CAD 二次开发 c#.net 之JIG画多段线(polyline)
- 书翻页效果php,Css实现翻书效果
- 在Vf中如何将Excel数据导入(用Vf来导)?
- 语音相关的数据集-5个数据集
- 未能加载或程序集“XXXX,Version=0.0.0.0,Culter=neutral,PublicKeyToken=null”或它的某一个依赖项。试图加载格式不正确的程序。...
热门文章
- String详解(intern、StringBuffer、StringBuilder)
- java增强for循环_Java中增强for循环的实现原理和坑详解
- vue 在线聊天实战范例(含选择发送表情、图片、视频、音频,自定义右键快捷菜单,一键复制,左右聊天气泡)
- 美しい女の子が一言作者弗不安
- 支付宝人脸注册业务流程
- JZOJ 5344. 摘果子
- Error response from daemon: conflict: unable to delete 6f8214d56bfc (cannot be forced) - image has d
- Android基础-LruCache原理解析
- 使用bootstrap模板开发,网页打开很慢的解决办法
- python excel sheet个数_python得到一个excel的全部sheet标签值方法