com.supermap.realspace.networkanalyst
类 TransportationAnalystSetting3D

java.lang.Object
  继承者 com.supermap.realspace.networkanalyst.TransportationAnalystSetting3D

public class TransportationAnalystSetting3D
extends java.lang.Object

三维交通网络分析环境设置类。该类用于提供三维交通网络分析时所需的所有参数信息,包括三维网络数据集、障碍弧段和障碍结点、权值信息等。这些参数的设置直接影响着三维交通网络分析的结果。


构造方法摘要
TransportationAnalystSetting3D()
          构造一个新的 TransportationAnalystSetting3D 对象。
TransportationAnalystSetting3D(TransportationAnalystSetting3D transportationAnalystSetting)
          根据给定的 TransportationAnalystSetting3D 对象构造一个与其完全相同的新对象。
 
方法摘要
 int[] getBarrierEdges()
          返回障碍弧段的 ID 列表。
 int[] getBarrierNodes()
          返回障碍结点的 ID 列表。
 java.lang.String getEdgeFilter()
          返回弧段过滤表达式。
 java.lang.String getEdgeIDField()
          返回三维网络数据集中标识弧段 ID 的字段。
 java.lang.String getEdgeNameField()
          返回存储弧段名称的字段。
 java.lang.String getFNodeIDField()
          返回三维网络数据集中标识弧段起始结点 ID 的字段。
 java.lang.String[] getFTSingleWayRuleValues()
          返回用于表示正向单行线的字符串数组。
 DatasetVector getNetworkDataset()
          返回用于分析的三维网络数据集。
 java.lang.String getNodeIDField()
          返回三维网络数据集中标识结点 ID 的字段。
 java.lang.String getNodeNameField()
          返回存储结点名称的字段。
 java.lang.String[] getProhibitedWayRuleValues()
          返回用于表示禁行线的字符串数组。
 java.lang.String getRuleField()
          返回网络数据集中表示网络弧段的交通规则的字段。
 java.lang.String[] getTFSingleWayRuleValues()
          返回用于表示逆向单行线的字符串数组。
 java.lang.String getTNodeIDField()
          返回三维网络数据集中标识弧段终止结点 ID 的字段。
 double getTolerance()
          返回点到弧段的距离容限。
 java.lang.String[] getTwoWayRuleValues()
          返回用于表示双向通行线的字符串的数组。
 WeightFieldInfos3D getWeightFieldInfos()
          返回权值字段信息集合对象。
 void setBarrierEdges(int[] value)
          设置障碍弧段的 ID 列表。
 void setBarrierNodes(int[] value)
          设置障碍结点的 ID 列表。
 void setEdgeFilter(java.lang.String value)
          设置弧段过滤表达式。
 void setEdgeIDField(java.lang.String value)
          设置三维网络数据集中标识弧段 ID 的字段。
 void setEdgeNameField(java.lang.String value)
          设置存储弧段名称的字段。
 void setFNodeIDField(java.lang.String value)
          设置三维网络数据集中标识弧段起始结点 ID 的字段。
 void setFTSingleWayRuleValues(java.lang.String[] value)
          设置用于表示正向单行线的字符串数组。
 void setNetworkDataset(DatasetVector value)
          设置用于分析的三维网络数据集。
 void setNodeIDField(java.lang.String value)
          设置三维网络数据集中标识结点 ID 的字段。
 void setNodeNameField(java.lang.String value)
          设置存储结点名称的字段。
 void setProhibitedWayRuleValues(java.lang.String[] value)
          设置用于表示禁行线的字符串的数组。
 void setRuleField(java.lang.String value)
          设置网络数据集中表示网络弧段的交通规则的字段。
 void setTFSingleWayRuleValues(java.lang.String[] value)
          设置用于表示逆向单行线的字符串数组。
 void setTNodeIDField(java.lang.String value)
          设置三维网络数据集中标识弧段终止结点 ID 的字段。
 void setTolerance(double value)
          设置点到弧段的距离容限。
 void setTwoWayRuleValues(java.lang.String[] value)
          设置用于表示双向通行线的字符串数组。
 void setWeightFieldInfos(WeightFieldInfos3D value)
          设置权值字段信息集合对象。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

TransportationAnalystSetting3D

public TransportationAnalystSetting3D()
构造一个新的 TransportationAnalystSetting3D 对象。


TransportationAnalystSetting3D

public TransportationAnalystSetting3D(TransportationAnalystSetting3D transportationAnalystSetting)
根据给定的 TransportationAnalystSetting3D 对象构造一个与其完全相同的新对象。

参数:
transportationAnalystSetting - 指定的 TransportationAnalystSetting3D 对象。
方法详细信息

getNetworkDataset

public DatasetVector getNetworkDataset()
返回用于分析的三维网络数据集。

返回:
用于分析的三维网络数据集。
默认值:
默认值为 null。

setNetworkDataset

public void setNetworkDataset(DatasetVector value)
设置用于分析的三维网络数据集。必设。

参数:
value - 用于分析的三维网络数据集。

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 的字段。
默认值:
默认值为 "SmEdgeID"。

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 的字段。

getWeightFieldInfos

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

返回:
权值字段信息集合对象。
默认值:
默认值为包含一个元素的 WeightFieldInfos3D 对象。该元素的名称为“Length”,正向阻力字段和反向阻力字段都为“SmLength”。

setWeightFieldInfos

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

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

getTolerance

public double getTolerance()
返回点到弧段的距离容限。单位为米。

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

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

setTolerance

public void setTolerance(double value)
设置点到弧段的距离容限。单位为米。注意,当使用坐标点模式(setPoints,即指定的分析点是坐标点而不是结点 ID),或指定了障碍坐标点(setBarrierPoints)进行分析时,需要设置合适的距离容限值,以避免选取的分析点或障碍点不能归结到网络上而导致分析结果不正确。

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

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

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

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

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

getBarrierNodes

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

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

setBarrierNodes

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

同障碍边意义相同,障碍点是网络中禁止通行的点,但其所设置的障碍是网络结点。

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

getBarrierEdges

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

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

setBarrierEdges

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

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

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

getNodeNameField

public java.lang.String getNodeNameField()
返回存储结点名称的字段。

返回:
存储结点名称的字段。
默认值:
默认值为一个空字符串。

setNodeNameField

public void setNodeNameField(java.lang.String value)
设置存储结点名称的字段。可选。

参数:
value - 存储结点名称的字段的字段名。

getEdgeNameField

public java.lang.String getEdgeNameField()
返回存储弧段名称的字段。

返回:
存储弧段名称的字段。
默认值:
默认值为一个空字符串。

setEdgeNameField

public void setEdgeNameField(java.lang.String value)
设置存储弧段名称的字段。可选。

参数:
value - 存储弧段名称的字段。

getRuleField

public java.lang.String getRuleField()
返回网络数据集中表示网络弧段的交通规则的字段。

有关交通规则字段,请参见 setRuleField 方法。

返回:
网络数据集中表示网络弧段的交通规则的字段。
默认值:
默认值为一个空字符串。

setRuleField

public void setRuleField(java.lang.String value)
设置网络数据集中表示网络弧段的交通规则的字段。要求字段类型为文本型。可选。

网络数据集中代表交通规则的字段,存储了该弧段对应的交通规则,如该弧段为正向单行线,或逆向单行线、禁行线、双向通行线等。该字段的值与交通规则的对应关系,是通过 setFTSingleWayRuleValues()setTFSingleWayRuleValues()setProhibitedWayRuleValues()setTwoWayRuleValues() 等方法来设置的。

例如,通过 setFTSingleWayRuleValues() 方法可以设置代表正向单行线的值,并且该方法允许设置多个值同时代表正向单行线,那么当交通规则字段的值为指定的这些值时,对应的弧段都将代表正向单行线。

参数:
value - 网络数据集中表示网络弧段的交通规则的字段。

getFTSingleWayRuleValues

public java.lang.String[] getFTSingleWayRuleValues()
返回用于表示正向单行线的字符串数组。

关于正向单行线字符串数组,请参阅 setFTSingleWayRuleValues 方法。

返回:
用于表示正向单行线的字符串数组。
默认值:
默认值为 null。

setFTSingleWayRuleValues

public void setFTSingleWayRuleValues(java.lang.String[] value)
设置用于表示正向单行线的字符串数组。可选。

setRuleField 方法设置的交通规则字段的值为该方法所指定的字符串数组中任意一个时,表示对应的网络弧段为正向单行线。更多介绍请参见 setRuleField 方法。

参数:
value - 用于表示正向单行线的字符串数组。

getTFSingleWayRuleValues

public java.lang.String[] getTFSingleWayRuleValues()
返回用于表示逆向单行线的字符串数组。

关于逆向单行线字符串数组,请参阅 setTFSingleWayRuleValues 方法。

返回:
用于表示逆向单行线的字符串数组。
默认值:
默认值为 null。

setTFSingleWayRuleValues

public void setTFSingleWayRuleValues(java.lang.String[] value)
设置用于表示逆向单行线的字符串数组。可选。

setRuleField 方法设置的交通规则字段的值为该方法所指定的字符串数组中任意一个时,表示对应的网络弧段为逆向单行线。更多介绍请参见 setRuleField 方法。

参数:
value - 用于表示逆向单行线的字符串数组。

getProhibitedWayRuleValues

public java.lang.String[] getProhibitedWayRuleValues()
返回用于表示禁行线的字符串数组。

关于禁行线字符串数组,请参阅 setTFSingleWayRuleValues 方法。

返回:
用于表示禁行线的字符串数组。
默认值:
默认值为 null。

setProhibitedWayRuleValues

public void setProhibitedWayRuleValues(java.lang.String[] value)
设置用于表示禁行线的字符串的数组。可选。

setRuleField 方法设置的交通规则字段的值为该方法所指定的字符串数组中任意一个时,对应的网络弧段即为禁行线。更多介绍请参见 setRuleField 方法。

参数:
value - 用于表示禁行线的字符串数组。

getTwoWayRuleValues

public java.lang.String[] getTwoWayRuleValues()
返回用于表示双向通行线的字符串的数组。

关于双向通行线字符串数组,请参阅 setTFSingleWayRuleValues 方法。

返回:
用于表示双向通行线的字符串数组。
默认值:
默认值为 null。

setTwoWayRuleValues

public void setTwoWayRuleValues(java.lang.String[] value)
设置用于表示双向通行线的字符串数组。可选。

setRuleField 方法设置的交通规则字段的值为该方法所指定的字符串数组中任意一个时,对应的网络弧段即为双向通行线。更多介绍请参见 setRuleField 方法。

参数:
value - 用于表示双向通行线的字符串数组。

getEdgeFilter

public java.lang.String getEdgeFilter()
返回弧段过滤表达式。

关于弧段过滤表达式的作用请参见 setEdgeFilter 方法。

返回:
弧段过滤表达式。
默认值:
默认值为一个空字符串。

setEdgeFilter

public void setEdgeFilter(java.lang.String value)
设置弧段过滤表达式。可选。

网络中的弧段依据某些特性可能会被分成几种类型,当实际分析中不需要所有弧段都参与分析时,可以设置过滤表达式从而只让符合条件的弧段参与分析,并且有可能提高分析的性能。

参数:
value - 弧段过滤表达式。