三维服务的缓存配置 |
三维服务相对于地图服务来说,其数据量更大,客户端访问服务时数据传输和场景渲染面临更大的压力,因此对于三维服务采取缓存技术就更加必要。预先对三维场景中的影像、模型、矢量、地形、地图等数据生成缓存,能够有效提高三维服务的性能。
SuperMap iServer 采取了一系列的措施来提高三维服务访问的效率,对于三维服务,您可以:配置启用 HTTP 缓存,配置启用覆盖所有服务类型的请求缓存,预先对三维场景中的影像、模型、矢量、地形、地图等数据生成三维缓存文件,详见:三维服务的缓存机制。
SuperMap iServer 三维服务支持的数据类型与缓存格式有:影像缓存、地形缓存、矢量缓存、矢量模型缓存、二三维地图缓存,以及整个三维场景缓存,详见:三维缓存的存储格式。
三维缓存的生产与使用有两种方式,通过 iDesktop 或者 iServer 的分布式切图服务,前者可生产所有常用三维数据的缓存,后者可分布式生产与存储(MongoDB)三维影像、三维地形瓦片。
使用 iDesktop 制作三维缓存时,您既可以对单个数据图层“生成场景缓存”,也可以对整个三维场景预先生成的完整缓存。将生成的缓存文件放在三维服务的缓存目录(【SuperMap iServer 安装目录】\webapps\iserver\output\{scene}),客户端访问三维服务时,服务端就会使用上述缓存数据。使用三维场景缓存的好处是在 SuperMap iDesktop 中采取一次操作即可对场景中的所有数据切缓存,且将整个场景的缓存保存到三维服务缓存路径时也更容易保证各个数据缓存文件名称、目录的一致性。
此外,对于三维场景中的地图,虽然浏览场景时默认动态生成的是场景缓存(*.sci3d 格式),但如果预先放置的缓存文件是 SuperMap UGC V5.0全球剖分的地图缓存文件(*.sci),客户端浏览场景中的地图时三维服务也同样可以识别并使用。
SuperMap iServer 的分布式切图模块支持对发布的三维服务中场景的影像、地形图层切分三维瓦片,并存储在 MongoDB 中。
三维数据制作与发布后,您可以通过 iServer 的分布式切图模块直接把三维图层切为三维瓦片,并可把三维瓦片快速发布为三维服务。瓦片发布为服务后,您可以通过三维服务的 datas 资源查看数据,客户端可通过数据的3D 表述在三维场景中直接浏览。
使用分布式切图服务切分三维瓦片的过程与二维瓦片切图流程基本一致,只是在创建切图任务时略有不同: