SuperMap iServer 支持以下类型的交通网络分析服务提供者:
配置本地交通网络分析服务提供者
配置一个 UGC 本地交通网络分析服务提供者,如下所示:
<provider class="com.supermap.services.providers.UGCTransportationAnalystProvider" inner-providerNames="ugcDataProvider-Changchun" name="transportationAnalystProvider-Changchun"> <config class="com.supermap.services.providers.TransportationAnalystSetting"> <workspaceConnectString>../../samples/data/NetworkAnalyst/Changchun.sxwu</workspaceConnectString> <datasourceName>Changchun</datasourceName> <datasetName>RoadNet</datasetName> <ruleField>TRule</ruleField> <forwardSingleWayRuleValues> <string>FT</string> </forwardSingleWayRuleValues> <backwardSingleWayRuleValues> <string>TF</string> </backwardSingleWayRuleValues> <twoWayRuleValues> <string>twoWay</string> </twoWayRuleValues> <prohibitedWayRuleValues> <string>prohibit</string> </prohibitedWayRuleValues> <edgeIDField>SmEdgeID</edgeIDField> <edgeNameField>RoadName</edgeNameField> <nodeIDField>SmNodeID</nodeIDField> <nodeNameField>SmNodeID</nodeNameField> <fromNodeIDField>SmFNode</fromNodeIDField> <toNodeIDField>SmTNode</toNodeIDField> <tolerance>500.0</tolerance> <weightFieldInfos> <com.supermap.services.components.commontypes.WeightFieldInfo> <name>length</name> <forwardWeightField>Length</forwardWeightField> <backWeightField>Length</backWeightField> </com.supermap.services.components.commontypes.WeightFieldInfo> <com.supermap.services.components.commontypes.WeightFieldInfo> <name>time</name> <forwardWeightField>FT_TIME</forwardWeightField> <backWeightField>TF_TIME</backWeightField> </com.supermap.services.components.commontypes.WeightFieldInfo> </weightFieldInfos> <turnDatasetInfo> <workspaceConnectString>../../samples/data/NetworkAnalyst/Changchun.sxwu</workspaceConnectString> <datasourceName>Changchun</datasourceName> <datasetName>RoadNet_TURN</datasetName> <nodeIDField>NodeID</nodeIDField> <fromEdgeIDField>FEdgeID</fromEdgeIDField> <toEdgeIDField>TEdgeID</toEdgeIDField> <weightFields> <string>TurnCost</string> </weightFields> </turnDatasetInfo> <analystModeSetting> <sscSetting> <enabled>true</enabled> <levelField>level_User</levelField> <sscPath>C:\test.ssc</sscPath> <autoGenerateSsc>false</autoGenerateSsc> </sscSetting> </analystModeSetting> <autoCheckNetwork>false</autoCheckNetwork> <initFacilityAnalyst>true</initFacilityAnalyst> <directionField>SmResistanceA</directionField> </config> </provider>
其中,<provider>中的 class 标识的是本地交通网络分析服务提供者的实现类,<config>中的 class 标识的是本地交通网络分析服务提供者对应的配置类,即 TransportationAnalystSetting,<config>中的内容是对应的配置项,主要包括:
<workspaceConnectString>${datapath1}/World.sxwu</workspaceConnectString>
-
数据来源信息如<workspaceConnectString>、<workspaceType>、<datasourceName>、<datasetName>。其中,<workspaceConnectString>表示该服务提供者所用的工作空间的路径。此外,工作空间路径支持从环境变量和系统配置文件中读取。可写为:
- 详细说明请参见:预设本地工作空间路径
-
本地交通网络分析使用的数据与算法参数信息,如<turnDatasetInfo>、<weightFieldInfos>、<nodeIDField>、<nodeNameField>、<fromNodeIDField>、<toNodeIDField>、<tolerance>等。
-
是否自动检查网络数据集<autoCheckNetwork>,为 false 时为手动检查,需用户在 Provider 的配置界面点击按钮进行检查;为 true 时会自动检查。
关于这些参数的详细介绍,请参考:本地交通网络分析服务提供者的配置。
-
<initFacilityAnalyst>:是否初始化设施网络分析,默认为false。修改为true后,将开启爆管分析、上下游关键设施查找分析、连通性分析功能。详细请参考:burstAnalyse,upstreamcirticalfaclilities,downstreamcirticalfaclilities、connectedEdges
-
<directionField>:流向字段,当<initFacilityAnalyst>为true时,该参数必填。
-
<nodeIDFilterField>:该参数仅用于指定生成默认sourceNodeIDs参数的过滤字段。即:当sourceID为空,该属性字段值为true的结点ID将作为默认的sourceNodeIDs。若该参数为空,则会将所有的nodeID作为默认的sourceNodeIDs。当<initFacilityAnalyst>为true时,此参数可用。
-
<analystModeSetting>:分析模型配置,用于设置除基本分析模型之外的其他分析模型,如最佳路径分析的 SSC 分析模型。如不设置本参数则仅使用基本分析模型。
-
<sscSetting>:最佳路径分析 SSC 分析模型配置。
-
<enabled>:是否开启最佳路径分析 SSC 分析模型。
-
<levelField>:道路等级字段。
-
<sscPath>:SSC 文件的绝对路径。
-
<autoGenerateSsc>:是否自动生成 SSC 文件。默认 false,表示不自动生成。
注意:
1、当有 SSC 文件时,直接使用 SSC 文件。没有 SSC 文件且开启自动生成参数,将会自动生成 SSC 文件,自动生成的 SSC 文件存放在 sscPath 参数指定的路径下。当配置开启最佳路径分析 SSC 分析模型但未开启自动生成 SSC 文件且不存在已有的 SSC 文件时,服务将无法使用。
2、在配置本地交通网络服务提供者前建议对标识网络弧段 ID 的字段、标识网络结点 ID 的字段建立字段索引。
配置 REST 交通网络分析服务提供者
配置一个 REST 交通网络分析服务提供者,如下所示:
<provider class="com.supermap.services.providers.RestTransportationAnalystProvider" name="restSpatialProvider"> <config class="com.supermap.services.providers.RestTransportationAnalystProviderSetting"> <restServiceRootURL>http://localhost:8090/iserver/services/transportationanalyst-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 交通网络分析服务提供者对应的配置类,即 RestTransportationAnalystProviderSetting,<config>中的内容是对应的配置项,包括:
- <restServiceRootURL>:REST 交通网络分析服务地址,指向服务的根资源路径,如 http://localhost:8090/iserver/services/transportationanalyst-sample/rest。
- <useCache>:是否使用缓存。默认为 true。开启缓存后,对资源的 REST 请求会缓存在本地,下次收到同样的请求就直接在缓存中读取,不需要再向服务端发送。
- <restProviderCacheConfig>:服务提供者历史请求缓存在内存中的存储设置,包括:
- <maxElementsInMemory>:内存中允许存储的最大请求记录数。0代表无限制;1代表不使用内存缓存,默认为1。如果不为1,则优先向内存中存储请求记录。
- <maxSizeOnDisk>:磁盘最大容量。单位为 MB,默认大小为2048MB。
- <timeToLiveSeconds>:设置缓存存活的时间上限,超时后会自动清除缓存。从创建记录开始计算,单位为秒,默认为0,代表缓存永久存活。
- <timeToIdleSeconds>:设置缓存闲置的时间上限,超时后会自动清除缓存。从上次被访问开始计算,单位为秒,默认为0,代表缓存永久存活。
- <token>:启用安全机制的情况下,访问受保护的 REST 资源需要提供Token 令牌。
配置 ArcGIS REST 网络分析服务提供者
配置一个 ArcGIS REST 网络分析服务提供者,如下所示:
<provider class="com.supermap.services.providers.ArcGISRestNetworkAnalystProvider" enabled="true" name="transportationAnalyst-Streets_ND3"> <config class="com.supermap.services.providers.ArcGISRestNetworkAnalystProviderSetting"> <restServiceRootURL>http://localhost:6080/arcgis/rest/services/sample/NAServer</restServiceRootURL> <token/> <httpReferer/> <networkDataset>Streets_ND</networkDataset> <routeLayer>Route</routeLayer> <serviceAreaLayer>Service Area</serviceAreaLayer> <closestFacilityLayer>Closest Facility</closestFacilityLayer> </config> </provider>
其中<provider>中的 class 标识的是 ArcGIS REST 网络分析服务提供者的实现类,<config>中的 class 标识的是 ArcGIS REST 网络分析服务提供者对应的配置类,即 ArcGISRestNetworkAnalystProviderSetting,<config>中的内容是对应的配置项,包括:
- <restServiceRootURL>:ArcGIS REST 网络分析服务地址,指向服务的根资源路径,如 http://localhost:6080/arcgis/rest/services/exercise/NAServer。
- <networkDataset>:ArcGIS 的网络数据集。
- <routeLayer>:路径分析所需图层。
- <serviceAreaLayer>:服务区分析所需图层。
- <closestFacilityLayer>:最近设施查找所需图层。
- <token>、<httpReferer>:启用安全机制的情况下,访问受保护的服务需要提供Token 令牌。如果使用的 Token 是以 HTTP referer 方式申请的,则需要设置相应的<httpReferer>。