导出高清地图

导出方式选择

导出地图的方式有很多,以下对比方式的区别及使用场景:

QGIS / ArcGIS Desktop:适用于专业、高质量的打印或导出,需要人工操作,不适合全自动化服务;

GDAL WMS/WMTS:适用于专业、高质量的打印或导出,可实现完全自动化,GitHub Star 5.5k;

MapProxy / TileStitcher :灵活、复杂、冷门、使用成本高,GitHub Star 600;

GeoServer Printing:适用于小范围或小尺寸打印,例如 报表、A3/A4、小册子等,GitHub Star 192;

GeoServer服务接口:使用GeoServer服务接口来获取超大图块,但图块过大时可能导致GeoServer内存溢出,因为GeoServer服务接口仅设计在小图块(瓦片)场景下使用;

注:如果打印或导出专业、高清的地图,推荐使用QGIS / ArcGIS Desktop;若要全自动,推荐使用GDAL WMS/WMTS;


下载安装GDAL

推荐通过Docker安装GDAL,GDAL提供多个版本的Docker镜像,如下以GDAL 3.6.3镜像为例:

alpine-small-3.6.3:体积小,最基础的 GDAL,用于轻量级测试和小型任务;

ubuntu-small-3.6.3:体积小,基础 GDAL,用于小任务;

alpine-normal-3.6.3:体积中等,带大部分 GDAL驱动(包括 WMS/WMTS/GeoTIFF),可用于大部分瓦片/GeoServer 拼接任务;

ubuntu-full-3.6.3:体积较大,功能最全,带Python、GDAL 工具、PROJ、NumPy、Python GDAL 包等;

注:推荐使用 ubuntu-full 版本;





安装GeoServer Printing打印模块

GeoServer Printing打印模块使用的三方库mapfish-print,而mapfish-print的关注度极低,在GitHub上的Star只有192,属于及为冷门的库,因此不推荐使用。

实测安装 GeoServer Printing打印模块时极为艰难,安装好以后会因为缺少各种依赖 jar 包而报500错误。最终在 GeoServer 2.21.3 版本上成功安装了 GeoServer Printing打印模块。安装注意事项如下:

1>. GeoServer的版本必须与扩展的版本,推荐直接在Geoserver的下载页面下载对应版本的扩展,而下文中截图;

2>. GeoServer 2.21.3要求的java环境必须为jdk 11,且必须依赖json-20080701.jar;

3>. 要以管理员权限启动geoserver,否则在打印模块在导出时因无权限写入磁盘临时文件而导致报500。



举报

© 著作权归作者所有


1