Geoserver加载mbtiles格式的离线影像地图

  1. Geoserver支持多种格式的地图文件web发布,包括MBTiles格式。MBTiles是由MAPBOX公司所主持的一个开源标准,专门用于存储瓦片地图,它实际上就是一个SQLite数据库文件,将瓦片地图分层级存储于其中。

  2. Geoserver通过扩展插件,来发布mbtiles的切片数据库,需要安装wps plugin,mbtiles两个插件这在Geoserver的extension中可以看到。https://geoserver.org/release/stable/
    用tomcat将geoserver的war包发布,然后将wps 和mbtiles插件的jar包放到WEB-INF/lib目录,重启Geoserver,就可以在Geoserver的数据源中,看到mbtiles的数据源配置,按向导很容易完成发布并预览地图。

  3. 前端展示,可以使用openlayer、QGis等流行工具

  4. 关于MBTiles地图文件的制作,目前有一些工具,比如 AllMapSoft Universal Maps Downloader 9.925 ,选择相应的地图级别,经纬度范围,即可下载并生成mbtiles格式。
    Geoserver加载mbtiles格式的离线影像地图_第1张图片
    在Tools菜单中可以Export to MBtiles 文件Geoserver加载mbtiles格式的离线影像地图_第2张图片

该工具支持多种地图来源,但是使用中有个问题:
(1)每次只能下载一个层级,导出到同一个mbtiles文件时会清空上一次的内容,我摸索出一个办法,可以用SQLiteDatabaseBrowser等SQLite维护工具打开相应的mbtiles文件,即让该文件保存占用打开状态,然后再分多次下载各个级别的地图,输出到这个mbtiles文件中,这样就能在同一个mbtiles文件中保存各个级别的地图了。
(2)由于疯狂的下载会导致googlemap服务器拒绝服务,建议分几天,均衡下载,也可以下载Openstreetmap的地图,似乎不限流。
用SQLiteDatabaseBrowser打开mbtiles文件可以看到各分层级保存的瓦片图Geoserver加载mbtiles格式的离线影像地图_第3张图片

你可能感兴趣的:(Geoserver加载mbtiles格式的离线影像地图)