如题
我想把下载好的png瓦片地图发布为wms,地图为世界全图,因为下载器是git上找的,所以只有png瓦片,想过去拼接然后再在geoserver或者arcgis中重新切割的方法,但地图太大,拼接太费时费力。
瓦片可以用QGIS以路径/{z}/{x}/{y}. png的方式加载,正常显示,但没有像arcgis缓存服务的配置文件,也就是xml cdi等配置文件都没有,请问可以导出arcgis的缓存格式吗,或者有没有其他方法可以实现发布wms
说明:可以把我下载的瓦片发过来,只要问题能解决,绝对采纳
1 下载地图数据,在工具菜单中,通过拼接,接每层的瓦片数据拼接成 tif 大图
2 安装 geoserver 安装版, 好处:不用配置tomcat,因为其自带一个jetty 服务器
3 在geoserver安装目录bin目录下,点startup.bat启动
登录,初始账号:admin 密码:geoserver 如图:http://localhost:8080/geoserver/web
4 选择左侧工作区 导航,新建一个工 作区
5 添加数据存储:
可以看看这篇文章:https://blog.csdn.net/nanke_yh/article/details/124937148
这篇文章中重点是想实现谷歌瓦片地图的下载,在我使用的工程项目中也是直接使用这些瓦片数据,后台提供缓存,就没有做拼接了。
在python3中,可以用 urllib.request 库进行图片的下载,然后用 PIL.Image 库(pillow)进行图片的合并。
如果想进行拼接处理可以参考文章:https://zhuanlan.zhihu.com/p/465904646
这里面涉及图片的下载、拼接以及掩膜裁剪处理。
——————————————————————————————————————————————
以上提供一种思路就是利用python代码实现瓦片数据的获取和拼接裁剪,然后再进行你需要的步骤。
另外,对于你说的第二种,直接将png瓦片数据通过缓存配置文件进行发布,我这了解的不多,推荐你参考https://www.jianshu.com/p/a1a5c42b39e6。这里面介绍了一种wampserver发布jpeg瓦片数据的流程。应该类似可借鉴吧。
最后想知道你这个工作的后续,最后可以整理一下流程结果呀。
这个问题很复杂。目前我接触过的地图服务器是geoserver和arcgis server。它们两个的默认切片缓存格式都不相同,这里为了方便,将geoserver的缓存格式记为A,arcgis server的缓存格式记为B,默认下载的xyz的png瓦片格式记为C。我研究过C转A,B转A,并且成功发布。
下载的z/x/y形式的瓦片,本身是png格式,是不含地理信息的,需要将其拼接,并把对应的经纬度范围写入geotiff文件,才能在geoserver或arcgis上发布。发布时需要将整副地图重新切片,切成A或B的格式。总的来说,这条技术路线是:瓦片先拼接成标准的geotiff,再发布,发布时需重新切片。
修改瓦片的命名和路径,使得地图服务器可以直接识别。geoserver的瓦片命名格式我熟悉,如果需要可以私下分享给你。
第一种方式很浪费时间,因为需要将瓦片先拼接,再切片。所以很自然地想到能不能直接把瓦片格式修改为服务器需要的格式,跳过拼接和切片的环节。
第二种方式我成功发布过一个demo,后来因为项目不需要下载瓦片就没继续捣鼓了。
为什么要发布wms呢?直接发布tms不是也可以吗?
http://leafletjs.com/examples/quick-start/
http://www.cnblogs.com/luxiaoxun/p/4454880.html
http://www.cnblogs.com/luxiaoxun/p/5020247.html
https://blog.csdn.net/chen_zhongming/article/details/51952485
安装插件。