在生产地图瓦片的过程中,不同的数据类型、业务需求和技术环境可能导致瓦片生成效率、存储成本和渲染效果存在一些差异。
本文旨在提供一套地图瓦片生产的最佳实践,涵盖瓦片类型选择、机器与参数配置、以及地图数据优化等建议,帮助您高效、稳定地生成高质量的地图瓦片。
瓦片类型说明
瓦片类型
SuperMap iDesktopX支持生成矢量瓦片或栅格瓦片,这两种瓦片类型对应的应用场景不同,可根据具体的应用场景来选择瓦片类型。
瓦片类型 | 瓦片特点 | 应用场景 |
栅格瓦片 | 二进制图片、渲染最快、无客户端要求。 | 业务底图、不需交互查询。 |
矢量瓦片 | 像素坐标、风格样式复杂、需客户端解析动态绘制。 | 高精显示、动态修改风格样式、属性查询。 |
矢量瓦片遵循Mapbox MVT规范,风格样式遵循Mapbox GL 8版本的style.json标准规范;故超图地图生成矢量瓦片时存在风格样式与Mapbox风格样式的转义,有些风格样式不支持,可能导致矢量瓦片效果与原始不一致。可以通过手动调整样式来解决。
数据和坐标系要求
瓦片类型 | 数据要求 | 坐标系要求 |
栅格瓦片 | 不支持视频数据集、模型数据集、体数据集。 | 无。 |
矢量瓦片 | 仅支持点线面和文本数据集。 | 不支持平面坐标系。 |
配置推荐
机器配置推荐
对切瓦片效率影响较大的硬件是CPU性能和磁盘IO性能,故推荐采用CPU主频高、固态磁盘的机器来做切瓦片任务。原始地图数据建议存储在固态磁盘,读取效率最高。结果瓦片对存储磁盘不做要求,因为写瓦片对IO要求不高。
地图范围 | CPU逻辑核数 | 内存大小 | 磁盘与网络IO |
区县级 | 16 | 32GB | 固态磁盘500MB/s、千兆网络带宽(共享目录建议千兆网络)。 |
市级 | 32 | 64GB | |
省级 | 64 | 128GB | |
全国 | 128 | 256GB |
原始地图优化推荐
在生产瓦片之前,需先优化数据、优化地图的配置,以此追求更高效的瓦片渲染效率。可以通过地图选项卡—>制图组—>性能诊断分析出优化项。一般情况下地图刷新在1秒内(更高要求可参考300毫秒),可认为达到标准。对于没有达到标准的地图建议先进行地图优化,可以提高切图效率。可对下面常见的问题重点关注:
- 坐标系:检查数据坐标系和地图坐标系是否一致,建议用户先将数据的坐标系转换为地图显示坐标系。
- 对节点密集的对象进行抽稀,减少节点冗余。
- 对包含了太多子对象的对象进行拆分,减少对象的复杂程度。
- 对地图中的过小对象使用过滤条件进行过滤,可以在不影响地图所承载的信息量的情况下,将提升地图浏览速度。
- 进行反走样后矢量地图中的线型和文本看起来更光滑,提高视觉感受,但会造成性能下降。因此在使用反走样时,需要浏览速度和性能之间寻找一种平衡,既要达到浏览效果最佳,也要保证浏览速度。
- 对比较复杂的地图,要避免对象节点过多,可以考虑进行光滑处理或者重采样。
关于地图性能诊断的详细内容可参见:地图性能优化。
参数推荐
瓦片类型 | 参数推荐 | 参数优势 | 特殊场景备注 |
栅格瓦片 | 瓦片格式:webp | 体积小、清晰度高 | 追求无损精度,推荐PNG+压缩比例90% |
瓦片大小:256x256 | 通用 | 高分屏手机端追求高清地图时,推荐512x512 + 120 | |
分辨率:96 | 通用 | ||
勾选忽略无效数据区域瓦片 | 减少空白瓦片 | - | |
存储格式:紧凑、MongoDB | 方便共享、迁移 | - | |
开启基础比例尺 | 效率高:仅当地图中只有栅格、镶嵌数据集才生效 | 基础比例尺与影像分辨率的比例尺接近。如:0.5米分辨率对应比例尺(1/2257) | |
不勾选完成填充瓦片 | 通用 | 仅当需合并瓦片时才勾选 | |
进程数:默认 | CPU逻辑核数调度更高效 | - | |
矢量瓦片 | 勾选生成字体缓存文件 | - | - |
勾选分离数据与风格 | 方便瓦片更新 | - | |
勾选添加所有属性字段值 | 可查询属性 | 当不需查询属性时可不勾,减少瓦片体积 | |
勾选抽稀显示 | 提高渲染效率 | - | |
存储格式:紧凑、MongoDB | 方便共享、迁移 | - | |
进程数:默认 | CPU逻辑核数调度更高效 | - | |
栅格/矢量 | 瓦片范围:频繁访问的地图区域 | 以降低生成和存储瓦片的成本。例如,在访问世界地图时,对于广大的无人区,可以不生成瓦片。 | - |
瓦片原点:地图左上角 | 以便与 SuperMap iServer瓦片原点保持一致。在根据需求修改地图瓦片的范围信息时,也需要保持瓦片原点是整幅地图范围。 | - |
算法参数推荐配置
生成地图瓦片的部分关键参数存储在bin\supermap.xml文件中,可对下面这些参数的默认值进行调整。
参数名称 | 默认值 | 参数含义 | 推荐值 | 参数作用 |
HPMapCacheThreadNum | 0 | 生成缓存使用的线程数量 | CPU核数 | 加速缓存生成 |
MapVectorTileGroupSize | 4 | 每批次生成矢量瓦片个数为4x4 | 资源丰富可适当增加 | 处理效率更高 |
MVTMaxSimplifyLevel | 12 | 生成矢量瓦片抽稀的最大比例尺 | 12 | 加速矢量瓦片的渲染 |
MapCacheSolidFileEnabled | false | 生成原始栅格缓存时是否生成.solid文件 | false | 可加速纯色瓦片的渲染 |
MosaicBuildSingleEnabled | true | 是否启用单幅大影像模式执行镶嵌数据集地图切片 | true | 加速镶嵌数据集地图切片效率,需满足条件: 1.地图图层为镶嵌数据集 2.存储均为本地磁盘目录 3.勾选基础比例尺 4.全幅范围 |
MosaicBuildSingleMinSize | 50000*50000 | 自定义单幅大影像的尺寸 | 50000*50000 | |
MosaicBuildSingleNumOfProcessor | 1 | 机器的物理处理器(CPU)的个数 | 实际物理处理器个数 | |
MosaicBuildSingleProcessCount | 2 | 单幅大影像模式生成瓦片时的处理线程个数 | - |
其他
- 选择合适的比例尺系列
为图层设置合适的比例尺级别能够在浏览地图时更完整、更美观地显示各种地理要素,同时避免在浏览地图时出现跳跃显示问题。因此在制图时需要考虑不同比例尺下的地理要素是否显示,或者显示何种形态。比如在小比例尺级别下,建议用线数据集表达河流,而在大比例尺级别下,可以使用面数据集表达河流。如下图:左边为小比例尺地图、右边为大比例尺地图。
- 瓦片路径设置
如果生成的瓦片要在 SuperMap iServer服务端发布,可以直接将瓦片路径设置为SuperMap iServer根目录\webapps\iserver\output\cache,否则瓦片拷贝可能会花费比较长的时间。
- 保持工作空间一致
工作空间中的地图参数决定了 SuperMap iServer使用瓦片文件中瓦片图片命名,因此需要保证用于制作瓦片的工作空间中的地图和用于 SuperMap iServer发布的工作空间中的地图一致。影响参数包括地图的风格、数据的连接情况、图层顺序、默认比例尺、地图范围等。因此生产瓦片后,尽量不要对工作空间的地图进行修改,以保证发布的地图与用于制作瓦片的地图一致。
同时需要保持地图中所有图层可用,所有图层对应的数据集和数据源在工作空间中都存在。对数据集中对象的编辑,如添加、删除、更新等,不会影响编辑区域以外的瓦片图片(只需通过 SuperMap iServer 更新这部分区域的瓦片即可)。
- 瓦片图片与出图设备无关的特性
如果 SuperMap iDesktopX 与 SuperMap iServer不在同一台机器上,有可能由于设备显示地图分辨率不同,从而不同设备上的瓦片不能很好地一起使用,例如拼接出现问题等。SuperMap iDesktopX支持配置地图瓦片与设备显示分辨率无关。具体的操作方法如下:
- 将SuperMap iDesktopX安装根目录的 bin 目录下的 SuperMap.xml 配置文件中的 CustomDPIEnable 属性为 true。
图:SuperMap 的 SuperMap.xml 文件 - 修改相应的SuperMap iServer安装目录\support\objectsjava 的 bin 目录下 SuperMap.xml 文件中的 CustomDPIEnable 属性为 true。
- 保持桌面和服务器中两个 SuperMap.xml 文件的 CustomDPIX 和 CustomDPIY 的取值相同。
- 将SuperMap iDesktopX安装根目录的 bin 目录下的 SuperMap.xml 配置文件中的 CustomDPIEnable 属性为 true。
- 在SuperMap iDesktopX生成的地图瓦片,如需在SueprMap iServer服务端发布,则生成紧凑型地图瓦片时,不要对瓦片进行加密,否则在服务端发布会有问题。
相关主题