SuperMap iServer 支持以下类型的交通换乘分析服务提供者:
配置本地交通换乘分析服务提供者
配置一个 UGC 本地交通换乘分析服务提供者,如下所示:
<provider name="trafficTransferAnalystProvider-Changchun" class="com.supermap.services.providers.UGCTrafficTransferAnalystProvider"> <config class="com.supermap.services.providers.TrafficTransferAnalystSetting"> <name>Traffic-Changchun</name> <workspaceConnectString>../../samples/data/NetworkAnalyst/Changchun.sxwu</workspaceConnectString> <transferLineSetting> <datasourceName>Changchun</datasourceName> <datasetName>BusLine</datasetName> <lineIDField>LineID</lineIDField> <nameField>Name</nameField> <lineTypeField>LineType</lineTypeField> </transferLineSetting> <transferStopSetting> <datasourceName>Changchun</datasourceName> <datasetName>BusPoint</datasetName> <stopIDField>StopID</stopIDField> <nameField>Name</nameField> </transferStopSetting> <transferRelationSetting> <datasourceName>Changchun</datasourceName> <datasetName>LineStopRelation</datasetName> <lineIDField>LineID</lineIDField> <stopIDField>StopID</stopIDField> <datasetNetworkName>RoadNet</datasetNetworkName> <edgeIDField>SmEdgeID</edgeIDField> <nodeIDField>SmNodeID</nodeIDField> <fNodeIDField>SmFNode</fNodeIDField> <tNodeIDField>SmTNode</tNodeIDField> </transferRelationSetting> <mergeTolerance>100.0</mergeTolerance> <snapTolerance>50.0</snapTolerance> <walkingTolerance>1000.0</walkingTolerance> <unit>METER</unit> </config> </provider>
其中,<transferLineSetting/>、<transferStopSetting/>分别对应公交线路和公交站点的配置,<transferRelationSetting/>指定公交站点和公交线路之间的关系。
<transferLineSetting/>:主要参数如<datasourceName>、<datasetName>、<lineIDField>、<nameField>等;
<transferStopSetting/>:主要参数如<datasourceName>、<datasetName>、<stopIDField>、<nameField>等;
<transferRelationSetting/>:主要参数如<datasourceName>、<datasetName>、<stopIDField>、<lineIDField>等。
<workspaceConnectString>:该服务提供者所用的工作空间的路径。此外,工作空间路径支持从环境变量和系统配置文件中读取。可写为:
<workspaceConnectString>${datapath1}/World.sxwu</workspaceConnectString>详细说明请参见:预设本地工作空间路径
参数类型见TrafficTransferAnalystSetting,关于这些参数的详细介绍,请参考:本地交通换乘分析服务提供者的配置。
配置 REST 交通换乘分析服务提供者
配置一个 REST 交通换乘分析服务提供者,如下所示:
<!-- REST 交通换乘分析服务提供者--> <provider class="com.supermap.services.providers.RestTrafficTransferAnalystProvider" name="restSpatialProvider"> <config class="com.supermap.services.providers.RestTrafficTransferAnalystProviderSetting"> <restServiceRootURL>http://localhost:8090/iserver/services/traffictransferanalyst-sample/rest</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 交通换乘分析服务提供者对应的配置类,即 RestTrafficTransferAnalystProviderSetting,<config>中的内容是对应的配置项,包括:
- <restServiceRootURL>:REST 交通换乘分析服务地址,指向服务的根资源路径,如 http://localhost:8090/iserver/services/traffictransferanalyst-sample/rest。
- <useCache>:是否使用缓存。默认为 true。开启缓存后,对资源的 REST 请求会缓存在本地,下次收到同样的请求就直接在缓存中读取,不需要再向服务端发送。
- <restProviderCacheConfig>:服务提供者历史请求缓存在内存中的存储设置,包括:
- <maxElementsInMemory>:内存中允许存储的最大请求记录数。0代表无限制;1代表不使用内存缓存,默认为1。如果不为1,则优先向内存中存储请求记录。
- <maxSizeOnDisk>:磁盘最大容量。单位为 MB,默认大小为2048MB。
- <timeToLiveSeconds>:设置缓存存活的时间上限,超时后会自动清除缓存。从创建记录开始计算,单位为秒,默认为0,代表缓存永久存活。
- <timeToIdleSeconds>:设置缓存闲置的时间上限,超时后会自动清除缓存。从上次被访问开始计算,单位为秒,默认为0,代表缓存永久存活。
- <token>:启用安全机制的情况下,访问受保护的 REST 资源需要提供Token 令牌。