com.supermap.analyst.networkanalyst
类 FacilityAnalystSetting

java.lang.Object
  继承者 com.supermap.analyst.networkanalyst.FacilityAnalystSetting

public class FacilityAnalystSetting
extends java.lang.Object

设施网络分析环境设置类。

设施网络分析环境设置类。该类用于提供设施网络分析时所需要的所有参数信息。设施网络分析环境设置类的各个参数的设置直接影响分析的结果。


构造方法摘要
FacilityAnalystSetting()
          构造一个新的设施网络分析环境设置对象。
FacilityAnalystSetting(FacilityAnalystSetting facilityAnalystSetting)
          根据给定的设施网络分析环境设置对象构造一个与其完全相同的新对象。
 
方法摘要
 int[] getBarrierEdges()
          返回障碍弧段的 ID 列表。
 int[] getBarrierNodes()
          返回障碍结点的 ID 列表。
 java.lang.String getDirectionField()
          返回流向字段。
 java.lang.String getEdgeIDField()
          返回网络数据集中标识弧段 ID 的字段。
 java.lang.String getFNodeIDField()
          返回网络数据集中标识弧段起始结点 ID 的字段。
 DatasetVector getNetworkDataset()
          返回网络数据集。
 java.lang.String getNodeIDField()
          返回网络数据集中标识网络结点 ID 的字段。
 java.lang.String getTNodeIDField()
          返回网络数据集中标识弧段终止结点 ID 的字段。
 double getTolerance()
          返回点到弧段的距离容限。
 WeightFieldInfos getWeightFieldInfos()
          返回权值字段信息集合对象。
 void setBarrierEdges(int[] value)
          设置障碍弧段的 ID 列表。
 void setBarrierNodes(int[] value)
          设置障碍结点的 ID 列表。
 void setDirectionField(java.lang.String value)
          设置流向字段。
 void setEdgeIDField(java.lang.String value)
          设置网络数据集中标识弧段 ID 的字段。
 void setFNodeIDField(java.lang.String value)
          设置网络数据集中标识弧段起始结点 ID 的字段。
 void setNetworkDataset(DatasetVector datasetVector)
          设置网络数据集。
 void setNodeIDField(java.lang.String value)
          设置网络数据集中标识网络结点 ID 的字段。
 void setTNodeIDField(java.lang.String value)
          设置网络数据集中标识弧段终止结点 ID 的字段。
 void setTolerance(double value)
          设置点到弧段的距离容限。
 void setWeightFieldInfos(WeightFieldInfos weightFieldInfos)
          设置权值字段信息集合对象。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

FacilityAnalystSetting

public FacilityAnalystSetting()
构造一个新的设施网络分析环境设置对象。


FacilityAnalystSetting

public FacilityAnalystSetting(FacilityAnalystSetting facilityAnalystSetting)
根据给定的设施网络分析环境设置对象构造一个与其完全相同的新对象。

参数:
facilityAnalystSetting - 给定的设施网络分析环境设置对象。
方法详细信息

getNetworkDataset

public DatasetVector getNetworkDataset()
返回网络数据集。

返回:
网络数据集。
默认值:
默认值为空。

setNetworkDataset

public void setNetworkDataset(DatasetVector datasetVector)
设置网络数据集。必设。

在使用网络数据集进行设施网络分析时请注意:

  1. 为网络数据集创建流向(buildFacilityNetworkDirections 方法)时,在设施网络分析环境(FacilityAnalystSetting)中,使用此方法设置的网络数据集是通过 NetworkBuilder 类的 buildNetwork 方法构建的网络数据集。
  2. 创建等级(buildFacilityNetworkHierarchies 方法)时,在设施网络分析环境中指定的网络数据集应是已经具备了流向的网络数据集。流向可以通过 buildFacilityNetworkDirections 方法创建,也可以手动将已有的流向信息添加到网络数据集中。
  3. 在使用 FacilityAnalyst 类提供的各个方法进行设施网络分析时,设施网络分析环境中指定的网络数据集,同样应为已经创建了流向的网络数据集。

参数:
datasetVector - 网络数据集。
默认值:
默认值为 null。

getNodeIDField

public java.lang.String getNodeIDField()
返回网络数据集中标识网络结点 ID 的字段。

返回:
网络数据集中标识网络结点 ID 的字段。
默认值:
默认值为 "SmNodeID"。

setNodeIDField

public void setNodeIDField(java.lang.String value)
设置网络数据集中标识网络结点 ID 的字段。必须正确设定标识网络结点 ID 的字段。仅支持 16 位整型、32 位整型字段。

参数:
value - 网络数据集中标识结点 ID 的字段。

getEdgeIDField

public java.lang.String getEdgeIDField()
返回网络数据集中标识弧段 ID 的字段。

返回:
网络数据集中标识弧段 ID 的字段。
默认值:
默认值为 "SmID"。

setEdgeIDField

public void setEdgeIDField(java.lang.String value)
设置网络数据集中标识弧段 ID 的字段。必须正确设定标识网络弧段 ID 的字段。仅支持 16 位整型、32 位整型字段。

参数:
value - 网络数据集中标识弧段 ID 的字段。

getFNodeIDField

public java.lang.String getFNodeIDField()
返回网络数据集中标识弧段起始结点 ID 的字段。

返回:
网络数据集中标识弧段起始结点 ID 的字段。
默认值:
默认值为 "SmFNode"。

setFNodeIDField

public void setFNodeIDField(java.lang.String value)
设置网络数据集中标识弧段起始结点 ID 的字段。必须正确设定标识弧段起始结点ID的字段。仅支持 16 位整型、32 位整型字段。

参数:
value - 网络数据集中标识弧段起始结点 ID 的字段。

getTNodeIDField

public java.lang.String getTNodeIDField()
返回网络数据集中标识弧段终止结点 ID 的字段。

返回:
网络数据集中标识弧段终止结点 ID 的字段。
默认值:
默认值为 "SmTNode"。

setTNodeIDField

public void setTNodeIDField(java.lang.String value)
设置网络数据集中标识弧段终止结点 ID 的字段。必须正确设定标识弧段终止结点 ID 的字段。仅支持 16 位整型、32 位整型字段。

参数:
value - 网络数据集中标识弧段终止结点 ID 的字段。
默认值:
默认值为 "SmTNode"。

getWeightFieldInfos

public WeightFieldInfos getWeightFieldInfos()
返回权值字段信息集合对象。

WeightFieldInfosWeightFieldInfo 的集合,在 WeightFieldInfo 中可以设置正向和反向权值字段,字段值代表在设施网络分析中的耗费。正向权值字段值表示沿弧段的起点到终点所需的耗费。反向权值字段值表示沿弧段的终点到起点所需的耗费。

返回:
权值字段信息集合对象。
默认值:
默认值为 WeightFieldInfos 对象的默认值。

setWeightFieldInfos

public void setWeightFieldInfos(WeightFieldInfos weightFieldInfos)
设置权值字段信息集合对象。

WeightFieldInfosWeightFieldInfo 的集合,在 WeightFieldInfo 中可以设置正向和反向权值字段,字段值代表在设施网络分析中的耗费。正向权值字段值表示沿弧段的起点到终点所需的耗费。反向权值字段值表示沿弧段的终点到起点所需的耗费。

参数:
weightFieldInfos - 权值字段信息集合对象。

getTolerance

public double getTolerance()
返回点到弧段的距离容限。单位与 setNetworkDataset 方法指定的网络数据集的单位一致。

有关点到弧段的距离容限,请参见 setTolerance 方法的介绍。

返回:
点到弧段的距离容限。
默认值:
默认值为 0。

setTolerance

public void setTolerance(double value)
设置点到弧段的距离容限。单位与 setNetworkDataset 方法指定的网络数据集的单位一致。

原则上,网络分析中可以指定网络中任意的点作为路径分析中的一个站点,站点应该在网络附近。如果这个点不在网络上(既不在弧段上也不在结点上),网络分析会根据该距离容限把站点归结到网络上。

如下图所示,桔色点代表网络结点,蓝色代表弧段,灰色点为站点,红色线段是站点到弧段 AB 的距离,如果该距离在设定的距离容限内,则把站点归结到弧段 AB 上。

设置合适的距离容限值才能保证网络分析的正常进行,距离容限值的计算方法:

  1. 计算出网络数据集中包含所有对象的最小外接矩形;
  2. 计算出该矩形对象的高度及宽度;
  3. 取两者中的较小值除以40,得出较合适的距离容限值。

参数:
value - 点到弧段的距离容限。

getBarrierNodes

public int[] getBarrierNodes()
返回障碍结点的 ID 列表。

同障碍边意义相同,但其所设置的障碍是网络结点。障碍点是网络中禁止通行的点,但也可作为网络中的目的地,如运货或旅行到达的终点。

返回:
障碍结点的 ID 列表。
默认值:
默认值为空。

setBarrierNodes

public void setBarrierNodes(int[] value)
设置障碍结点的 ID 列表。可选。

同障碍边意义相同,但其所设置的障碍是网络结点。障碍点是网络中禁止通行的点,但也可作为网络中的目的地,如运货或旅行到达的终点。

参数:
value - 障碍结点的 ID 列表。

getBarrierEdges

public int[] getBarrierEdges()
返回障碍弧段的 ID 列表。

一条边一旦被设置为障碍边,也就是说这条边在分析过程中是禁行的。障碍边可以在分析过程中动态设置,不影响效率。

返回:
障碍弧段的 ID 列表。
默认值:
默认值为空。

setBarrierEdges

public void setBarrierEdges(int[] value)
设置障碍弧段的 ID 列表。可选。

一条边一旦被设置为障碍边,也就是说这条边在分析过程中是禁行的。障碍边可以在分析过程中动态设置,不影响效率。

参数:
value - 障碍弧段的 ID 列表。

getDirectionField

public java.lang.String getDirectionField()
返回流向字段。

返回:
流向字段。
默认值:
默认值为 null。

setDirectionField

public void setDirectionField(java.lang.String value)
设置流向字段。如果不指定,在进行设施网络分析时,默认流向均为 0,即与数字化方向相同。在创建流向时,必须设置该属性。

参数:
value - 流向字段。