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后,将开启爆管分析、上下游关键设施查找分析、连通性分析功能。详细请参考:burstAnalyseupstreamcirticalfaclilitiesdownstreamcirticalfaclilitiesconnectedEdges

  • <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>。