SuperMap iServer 支持以下类型的空间分析服务提供者:
本地空间分析服务提供者
配置一个 UGC 空间分析服务提供者,如下所示:
<!-- 本地空间分析服务提供者--> <provider class="com.supermap.services.providers.UGCSpatialAnalystProvider" name="ugcSpatialProvider"> <config class="com.supermap.services.providers.UGCSpatialAnalystProviderSetting"> <workspacePath>../../samples/data/SpatialAnalyst/spatialAnalyst.sxwu</workspacePath> </config> </provider>
其中<provider>中的 class 标识的是 UGC 空间分析服务提供者的实现类,<config>中的 class 标识的是 UGC 空间分析服务提供者对应的配置类,即 UGCSpatialAnalystProviderSetting,<config>中的内容是对应的配置项。
<workspacePath>表示该服务提供者所用的工作空间的路径。此外,工作空间路径支持从环境变量和系统配置文件中读取。可写为:
<workspacePath>${datapath1}/World.sxwu</workspacePath>详细说明请参见:预设本地工作空间路径
REST 空间分析服务提供者
配置一个 REST 空间分析服务提供者,如下所示:
<!-- REST 空间分析服务提供者--> <provider class="com.supermap.services.providers.RestSpatialAnalystProvider" name="restSpatialProvider"> <config class="com.supermap.services.providers.RestSpatialAnalystProviderSetting"> <restServiceRootURL>http://localhost:8090/iserver/services/spatialanalyst-sample/restjsr</restServiceRootURL> <restProviderCacheConfig> <maxElementsInMemory>1</maxElementsInMemory> <maxSizeOnDisk>2048</maxSizeOnDisk> <timeToLiveSeconds>0</timeToLiveSeconds> <timeToIdleSeconds>0</timeToIdleSeconds> </restProviderCacheConfig> <useCache>true</useCache> </config> </provider>
其中<provider>中的 class 标识的是 REST 空间分析服务提供者的实现类,<config>中的 class 标识的是 REST 空间分析服务提供者对应的配置类,即 RestSpatialAnalystProviderSetting,<config>中的内容是对应的配置项,包括:
- <restServiceRootURL>:REST 空间分析服务地址,指向服务的根资源路径,如 http://localhost:8090/iserver/services/spatialanalyst-sample/restjsr。
- <useCache>:是否使用缓存。默认为 true。开启缓存后,对资源的 REST 请求会缓存在本地,下次收到同样的请求就直接在缓存中读取,不需要再向服务端发送。
- <restProviderCacheConfig>:服务提供者历史请求缓存在内存中的存储设置,包括:
- <maxElementsInMemory>:内存中允许存储的最大请求记录数。0代表无限制;1代表不使用内存缓存,默认为1。如果不为1,则优先向内存中存储请求记录。
- <maxSizeOnDisk>:磁盘最大容量。单位为 MB,默认大小为2048MB。
- <timeToLiveSeconds>:设置缓存存活的时间上限,超时后会自动清除缓存。从创建记录开始计算,单位为秒,默认为0,代表缓存永久存活。
- <timeToIdleSeconds>:设置缓存闲置的时间上限,超时后会自动清除缓存。从上次被访问开始计算,单位为秒,默认为0,代表缓存永久存活。
- <token>:启用安全机制的情况下,访问受保护的 REST 资源需要提供Token 令牌。