作者:lisong
背景
SuperMap iServer 11i(2023)影像服务提供了“静默切片”能力,iServer可以利用服务器空闲资源,后台启动影像地图切片,切片结果输出位置与动态缓存目录一致,当再次浏览影像时,便可复用切片结果,提升响应速度。
S3对象存储是一种可靠、安全、高度可扩展且低延迟的云端存储服务,具备强大的存储能力和多种存储类型,适用于各种应用场景和数据需求。对于需要进行大数据量的静默切片任务,将生成的切片存储在S3对象存储中无疑是一种安全且快速的方式。
笔者将以阿里云OSS对象存储服务为例,介绍 SuperMap iServer 影像服务设置静默切片存储于S3对象存储的操作流程。
前期准备
SuperMap iServer 11.1.0 及以上版本
S3对象存储
呈现效果
(1)切片数据在阿里云OSS对象存储呈现
(2)切片数据在SuperMap iDesktopX呈现
实现过程
1、配置对象存储所需的系统环境变量(以阿里云OSS为例)
(1)配置对象存储的访问协议(仅IP地址需配置)
新建一个名为“AWS_HTTPS”的系统环境变量来指定对象存储的访问协议。默认访问协议为 HTTPS。若采用HTTP访问协议,“AWS_HTTPS”变量的值设置为NO;若采用HTTPS访问协议,“AWS_HTTPS”设置为 TRUE,且为默认值。
(2)指定对象存储的URI
新建一个名为“AWS_S3_ENDPOINT”的系统环境变量,变量的值设置为对象存储的访问地址,支持域名和IP+端口两种地址形式。
例如:
AWS_S3_ENDPOINT=oss-cn-beijing.aliyuncs.com
AWS_S3_ENDPOINT=1.1.1.1:80
AWS_S3_ENDPOINT=1.1.1.1:443
备注说明:关于端口,若对象存储采用 HTTPS 协议访问,默认端口为443;若采用HTTP协议访问,默认端口为80。
(3)对象存储的访问密钥AK\SK
新建名称为“AWS_ACCESS_KEY_ID”和“AWS_SECRET_ACCESS_KEY”的系统环境变量,变量的值设置为密钥AK\SK值。
(4)配置对象存储的桶的访问方式(仅IP地址需配置)
访问公有云对象存储时无需设置该环境变量,而访问私有云对象存储时必须配置。
新建一个名为“AWS_VIRTUAL_HOSTING”的系统环境变量,变量的值设置为FALSE。
这是因为“AWS_VIRTUAL_HOSTING”默认值为TRUE,此时,桶的访问方式为桶名+HostName,例如:mybucket.cname.domain,com,而 SuperMap 支持桶的访问方式为将桶作为对象存储URI的顶级目录,即 cname.domain,com/mybucket,因此,需要将“AWS_VIRTUAL_HOSTING”设置为FALSE。
(5)无需签名的配置(仅IP地址需配置)
访问公有云对象存储时无需设置该环境变量,而访问私有云对象存储时必须配置。
新建一个名为“AWS_NO_SIGN_REQUEST”的系统环境变量,变量的值设置为YES。
当访问私有云对象存储中的数据时,如果遇到如下所示的错误信息(The request signature we calculated dose not match the signature you provided. Check your key and signing method.),可以通过“AWS_NO_SIGN_REQUEST=YES”系统环境变量设置来解决。
(6)配置CURL SSL证书(选配)
当访问对象存储中的数据失败时,且遇到如下所示的错误信息(CURL error: SSL certificate problem:),您需要下载一个CURL SSL证书并完成配置。如果未遇到此问题,请忽略此步骤。
最终配置结果:
2、修改影像服务提供者信息
(1)要将瓦片存储于S3对象存储,瓦片类型必须选择“紧凑”,下方才会出现“连接信息”输入框,用于填写S3对象存储的连接信息;
注:影像服务浏览时仅支持调用对象存储中的紧凑型瓦片
(2)连接信息填写规范:–type=ObjectStorage --server=/vsis3/supermap0907/cs,
其中:【–type=ObjectStorage --server=/vsis3/】为统一部分,supermap0907为桶名,cs为桶内的文件夹。
(3)添加影像合集并开启静默切片
(4)等待任务执行并检查瓦片数据
3、在线验证切片结果
“打开对象存储文件”功能需使用 SuperMap iDesktopX 11.1.0 及以上版本
(1)右击数据源,选择“打开对象存储文件”
(2)在对话框中选择“S3”访问方式,填入对应URI
(3)S3对象存储中的瓦片正常加载
至此,在 SuperMap iServer 影像服务中设置静默切片存储于S3对象存储(阿里云OSS)的操作流程已经结束,后续您可根据需求使用瓦片数据,或在其他S3对象存储平台实现静默切片。