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 令牌