SuperMap iServer 支持对分布式存储(详见:分布式切片库)的地图瓦片进行版本管理,以区分针对同一幅地图相同范围和比例尺下在不同时间点创建的瓦片,便于用户管理瓦片并支持查看历史版本的瓦片。
版本 ID 号是系统对每次创建的地图切片自动生成的一个 UUID(通用唯一识别码),保证切片版本号的永久唯一性。针对一幅地图首次创建切图任务时,系统会默认为该切片分配一个版本 ID 号,其父版本号为 null,当前版本就是第一个版本,后续生成新版本时,系统会为其自动分配父版本。
切图时的瓦片版本
创建切图任务时,如果传入的参数所指定的分布式切片库中,已经有地图名、瓦片大小与是否透明设置均相同的地图瓦片,即切片集名与已有的切片集名相同,点击页面底部的“创建切图任务”按钮后,系统会提示:在切片库中该切片集已存在,您想要创建新版本还是在已有的版本中追加瓦片?
创建新版本的瓦片
如果您需选择在已有的切片集中创建新版本的瓦片,则系统会根据您的切图设置,对该数据重新进行完整切图。
具体操作:
- 选择“创建新版本”,系统会为该切片集创建一个最新版本并生成唯一的版本标识 ID
- 您可以输入当前版本的描述信息,也可以为该版本设置一个别名,默认描述信息是当前版本创建的时间
- 点击“确定”后,切图任务创建完成,即可开始切图
查看上述分布式切片库中的切片集,可以看到切片集的最新版本的版本号和父版本号。
配置使用已有的瓦片时,将默认采用分布式切片库中最新版本的切片集。
在已有版本中追加瓦片
如果您选择在已有的版本中追加瓦片,则系统会根据您的切图设置,对新增地理范围、比例尺的数据切瓦片,并追加在已有的瓦片版本中。如果当前切图数据与已有瓦片版本相比有变更,则系统会自动更新变更的瓦片。
具体操作:
- 选择“追加瓦片”
- 点击“确定”后,切图任务创建完成,即可开始切图
配置使用历史版本的瓦片
如果您在使用分布式切片库时希望使用指定版本的地图瓦片,您可以采用以下方式:
- 确认需要采用的切片集的版本号
- 方法一:在服务管理器中,依次点击“集群”“数据注册”,点击需要的存储 ID,切片集名称,可以查看当前切片集的所有版本,选择需要的版本,记录其版本号。
- 方法二:通过 tileVersions 资源,查看指定存储 ID、地图名、图片格式、图片大小和是否透明配置的所有版本,从中选取合适的版本。
- 方法三:通过tilesets资源,查看当前地图中的切片集及其版本信息
- 使用多版本的瓦片
- 方法一:通过 tileImage 资源的参数 tileversion 指定版本号来获取瓦片
示例:通过指定版本号获取瓦片
http://supermapiserver:8090/iserver/services/map-world/rest/maps/世界地图/tileImage.png?scale=0.00000002&x=9&y=2&width=256&height=256&tileversion=51de5c76-c994-4207-94a7-d31f948f56e3
- 方法二:通过 JavaScript 表述浏览具有多个版本瓦片的地图
示例1:通过地图服务的JavaScript表述直接进行多版本浏览
http://supermapiserver:8090/iserver/services/map-china400/rest/maps/China.ijs#5.408523429128511e-8/12016024.995088/4414132.6990077
示例2:将多版本的切片集快速发布为地图服务,然后通过该服务的JavaScript表述进行多版本浏览
http://supermapiserver:8090/iserver/services/map-mongodb-china400/rest/maps/China.ijs#5.408523429128511e-8/12016024.995088/4414132.6990077