类 MultiTransportationAnalystSetting
- java.lang.Object
-
- com.supermap.analyst.networkanalyst.MultiTransportationAnalystSetting
-
public class MultiTransportationAnalystSetting extends Object
多网络数据集分析环境设置类。该类用于提供多网络数据集分析时所需要的所有参数信息。多网络数据集分析环境设置类的各个参数的设置直接影响分析的结果。
多网络数据集分析和传统的网络分析不同点在于,传统的网络分析需要将所有道路要素全部合并到一个网络数据集中,并且需要保证整个网络数据集的连通性。而现实实现的多网络数据集的分析可以将网络数据进行分块存储,即不必将所有道路要素全部存储到一个网络数据集中,网络数据集之间的联系使用属性进行连接。在多网络数据集分析环境中,可以设置:
- 进行分析的多网络数据集数组(NetworkDatasets);
- 网络中唯一标识结点的字段(NodeIDField),该字段来源于网络结点属性表;
- 唯一标识弧段的字段(EdgeIDField),该字段来源于弧段属性表;
- 记录弧段起、终结点 ID 的字段(FNodeIDField 和 TNodeIDField),该字段来源于弧段属性表,对应于网络结点属性表中的结点 ID;
- 记录要经过某一弧段需要多少耗费的权值字段(WeightFieldInfos),来源于弧段属性表;
- 结点到弧段的距离容限(Tolerance);
- 表示转向表的一系列属性,如转向表数据集(TurnDataset)、转向结点 ID 的字段(TurnNodeIDField),转向起始弧段 ID 的字段(TurnFEdgeIDField)、转向终止弧段 ID 的字段(TurnTEdgeIDField)以及转向权值字段(TurnWeightFields)。有关转向表的介绍请参见 NetworkBuilder 类的
createTurnBuilder
方法。 - 网络中障碍边和障碍点的 ID 集合(BarrierEdges、BarrierNodes);
- 存储结点名称和弧段名称的字段的字段名(NodeNameField、EdgeNameField)。
-
-
构造器概要
构造器 构造器和说明 MultiTransportationAnalystSetting()
构造一个新的多路网数据集分析环境设置对象。MultiTransportationAnalystSetting(MultiTransportationAnalystSetting networkAnalystSetting)
根据给定的多路网数据集分析环境设置对象构造一个与其完全相同的新对象。
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 int[]
getBarrierEdges()
返回障碍弧段的 ID 列表。int[]
getBarrierNodes()
返回障碍结点的 ID 列表。Rectangle2D
getBounds()
返回最佳路径分析的分析范围。String
getEdgeFilter()
返回多路网数据集交通网络分析中弧段过滤表达式。String
getEdgeIDField()
返回网络数据集中标志弧段 ID 的字段。String
getEdgeNameField()
返回存储弧段名称的字段。String
getFNodeIDField()
返回网络数据集中标志弧段起始结点 ID 的字段。String[]
getFTSingleWayRuleValues()
返回用于表示正向单行线的字符串的数组。DatasetVector[]
getNetworkDatasets()
返回用于分析的多网络数据集数组。String[]
getNetworkDatasetsName()
返回多网络数据集名称数组。String
getNodeIDField()
返回网络数据集中标识结点 ID 的字段。String
getNodeNameField()
返回存储结点名称的字段的字段名。String[]
getProhibitedWayRuleValues()
返回用于表示禁行线的字符串的数组。MultiTransportationAnalystRelation[]
getRelations()
返回多网络数据集关系数组。String
getRuleField()
返回网络数据集中表示网络弧段的交通规则的字段。String[]
getTFSingleWayRuleValues()
返回用于表示逆向单行线的字符串的数组。String
getTNodeIDField()
返回网络数据集中标志弧段终止结点 ID 的字段。double
getTolerance()
返回点到弧段的距离容限。DatasetVector
getTurnDataset()
返回转向表数据集。String
getTurnFEdgeIDField()
返回转向起始弧段 ID 的字段。String
getTurnNodeIDField()
返回转向结点 ID 的字段。String
getTurnTEdgeIDField()
返回转向终止弧段 ID 的字段。String[]
getTurnWeightFields()
返回转向权值字段集合。String[]
getTwoWayRuleValues()
返回用于表示双向通行线的字符串的数组。WeightFieldInfos
getWeightFieldInfos()
返回权值字段信息集合对象。void
setBarrierEdges(int[] value)
设置障碍弧段的 ID 列表。void
setBarrierNodes(int[] value)
设置障碍结点的 ID 列表。void
setBounds(Rectangle2D bounds)
设置最佳路径分析的分析范围。void
setEdgeFilter(String filter)
设置多路网数据集交通网络分析中弧段过滤表达式。void
setEdgeIDField(String value)
设置网络数据集中标志弧段 ID 的字段。void
setEdgeNameField(String value)
设置存储弧段名称的字段。void
setFNodeIDField(String value)
设置网络数据集中标志弧段起始结点 ID 的字段。void
setFTSingleWayRuleValues(String[] values)
设置用于表示正向单行线的字符串的数组。void
setNetworkDatasets(DatasetVector[] value)
设置用于分析的多网络数据集数组。void
setNetworkDatasetsName(String[] values)
设置多网络数据集名称数组。void
setNodeIDField(String value)
设置网络数据集中标识结点 ID 的字段。void
setNodeNameField(String value)
设置存储结点名称的字段的字段名。void
setProhibitedWayRuleValues(String[] values)
设置用于表示禁行线的字符串的数组。void
setRelations(MultiTransportationAnalystRelation[] values)
设置多网络数据集关系数组。void
setRuleField(String value)
设置网络数据集中表示网络弧段的交通规则的字段。void
setTFSingleWayRuleValues(String[] values)
设置用于表示逆向单行线的字符串的数组。void
setTNodeIDField(String value)
设置网络数据集中标志弧段终止结点 ID 的字段。void
setTolerance(double value)
设置点到弧段的距离容限。void
setTurnDataset(DatasetVector value)
设置转向表数据集。void
setTurnFEdgeIDField(String value)
设置转向起始弧段 ID 的字段。void
setTurnNodeIDField(String value)
设置转向结点 ID 的字段。void
setTurnTEdgeIDField(String value)
设置转向终止弧段 ID 的字段。void
setTurnWeightFields(String[] value)
设置转向权值字段集合。void
setTwoWayRuleValues(String[] values)
设置用于表示双向通行线的字符串的数组。void
setWeightFieldInfos(WeightFieldInfos value)
设置权值字段信息集合对象。
-
-
-
构造器详细资料
-
MultiTransportationAnalystSetting
public MultiTransportationAnalystSetting()
构造一个新的多路网数据集分析环境设置对象。
-
MultiTransportationAnalystSetting
public MultiTransportationAnalystSetting(MultiTransportationAnalystSetting networkAnalystSetting)
根据给定的多路网数据集分析环境设置对象构造一个与其完全相同的新对象。- 参数:
networkAnalystSetting
- 给定的多路网数据集分析环境设置对象。
-
-
方法详细资料
-
getNetworkDatasets
public DatasetVector[] getNetworkDatasets()
返回用于分析的多网络数据集数组。- 返回:
- 用于分析的多网络数据集数组。
- 默认值:
- 默认值为 null。
-
setNetworkDatasets
public void setNetworkDatasets(DatasetVector[] value)
设置用于分析的多网络数据集数组。必设。- 参数:
value
- 用于分析的多网络数据集数组。
-
getNodeIDField
public String getNodeIDField()
返回网络数据集中标识结点 ID 的字段。- 返回:
- 网络数据集中标识结点 ID 的字段。
- 默认值:
- 默认值为 "SmNodeID"。
-
setNodeIDField
public void setNodeIDField(String value)
设置网络数据集中标识结点 ID 的字段。必须正确设定标识结点 ID 的字段。仅支持 16 位整型、32 位整型字段。- 参数:
value
- 网络数据集中标识结点 ID 的字段。
-
getEdgeIDField
public String getEdgeIDField()
返回网络数据集中标志弧段 ID 的字段。- 返回:
- 网络数据集中标识弧段 ID 的字段。
- 默认值:
- 默认值为 "SmEdgeID"。
-
setEdgeIDField
public void setEdgeIDField(String value)
设置网络数据集中标志弧段 ID 的字段。必须正确设定标识弧段 ID 的字段。仅支持 16 位整型、32 位整型字段。- 参数:
value
- 网络数据集中标志弧段 ID 的字段。
-
getFNodeIDField
public String getFNodeIDField()
返回网络数据集中标志弧段起始结点 ID 的字段。- 返回:
- 网络数据集中标志弧段起始结点 ID 的字段。
- 默认值:
- 默认值为 "SmFNode"。
-
setFNodeIDField
public void setFNodeIDField(String value)
设置网络数据集中标志弧段起始结点 ID 的字段。必须正确设定标识弧段起始结点 ID 的字段。仅支持 16 位整型、32 位整型字段。- 参数:
value
- 网络数据集中标志弧段起始结点 ID 的字段。
-
getTNodeIDField
public String getTNodeIDField()
返回网络数据集中标志弧段终止结点 ID 的字段。- 返回:
- 网络数据集中标志弧段终止结点 ID 的字段。
- 默认值:
- 默认值为 "SmTNode"。
-
setTNodeIDField
public void setTNodeIDField(String value)
设置网络数据集中标志弧段终止结点 ID 的字段。必须正确设定标识弧段终止结点 ID 的字段。仅支持 16 位整型、32 位整型字段。- 参数:
value
- 网络数据集中标志弧段终止结点 ID 的字段。
-
getWeightFieldInfos
public WeightFieldInfos getWeightFieldInfos()
返回权值字段信息集合对象。WeightFieldInfos
是WeightFieldInfo
的集合,在WeightFieldInfo
中可以设置正向和反向权值字段,字段值代表在网络分析中的耗费。- 返回:
- 权值字段信息集合对象。
- 默认值:
- 默认值为包含一个元素的 WeightFieldInfos 对象。该元素的名称为“Length”,正向阻力字段和反向阻力字段都为“SmLength”。
-
setWeightFieldInfos
public void setWeightFieldInfos(WeightFieldInfos value)
设置权值字段信息集合对象。WeightFieldInfos
是WeightFieldInfo
的集合,在WeightFieldInfo
中可以设置正向和反向权值字段,字段值代表在网络分析中的耗费。- 参数:
value
- 权值字段信息集合对象。
-
getTolerance
public double getTolerance()
返回点到弧段的距离容限。单位与setNetworkDatasets
方法指定的网络数据集的单位相同。有关点到弧段的距离容限,请参见
setTolerance
方法的介绍。- 返回:
- 点到弧段的距离容限。
- 默认值:
- 默认值为 0。
-
setTolerance
public void setTolerance(double value)
设置点到弧段的距离容限。单位与setNetworkDatasets
方法指定的网络数据集的单位相同。注意,当使用坐标点模式(setPoints
,即指定的分析点是坐标点而不是结点 ID)进行分析时,需要设置合适的距离容限值,以避免选取的分析点不能归结到网络上而导致分析结果不正确。原则上,多网络分析中可以指定网络中任意的点作为路径分析中的一个站点,但应该在网络附近。如果这个点不在网络上(既不在弧段上也不在结点上),网络分析会根据该距离容限把该点归结到网络上。
如下图所示,桔色点代表网络结点,蓝色代表弧段,灰色点为站点,红色线段是站点到弧段 AB 的距离,如果该距离在设定的距离容限内,则把站点归结到弧段 AB 上。
设置合适的距离容限值才能保证网络分析的正常进行,距离容限值的计算方法:
- 计算出网络数据集中包含所有对象的最小外接矩形;
- 计算出该矩形对象的高度及宽度;
- 取两者中的较小值除以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 列表。
-
getTurnDataset
public DatasetVector getTurnDataset()
返回转向表数据集。请参见
setTurnDataset
方法的介绍。- 返回:
- 转向表数据集。
- 默认值:
- 默认值为 null。
-
setTurnDataset
public void setTurnDataset(DatasetVector value)
设置转向表数据集。可选。转向表用于存储完成转弯需要的花费。关于转向表的详细介绍,请参见 NetworkBuilder 类的
createTurnTable
方法。注意:转向表可以通过
createTurnTable
方法自动创建,也可以自行创建。通过createTurnTable
方法创建的转向表中转向权值均为 0,可根据实际情况进行修改。- 参数:
value
- 转向表数据集。
-
getTurnNodeIDField
public String getTurnNodeIDField()
返回转向结点 ID 的字段。- 返回:
- 转向结点 ID 的字段。
- 默认值:
- 默认值为一个空字符串。
-
setTurnNodeIDField
public void setTurnNodeIDField(String value)
设置转向结点 ID 的字段。仅支持 16 位整型、32 位整型字段。可选。- 参数:
value
- 转向结点 ID 的字段。
-
getTurnFEdgeIDField
public String getTurnFEdgeIDField()
返回转向起始弧段 ID 的字段。- 返回:
- 转向起始弧段 ID 的字段。
- 默认值:
- 默认值为一个空字符串。
-
setTurnFEdgeIDField
public void setTurnFEdgeIDField(String value)
设置转向起始弧段 ID 的字段。仅支持 16 位整型、32 位整型字段。可选。- 参数:
value
- 转向起始弧段 ID 的字段。
-
getTurnTEdgeIDField
public String getTurnTEdgeIDField()
返回转向终止弧段 ID 的字段。- 返回:
- 转向终止弧段 ID 的字段。
- 默认值:
- 默认值为一个空字符串。
-
setTurnTEdgeIDField
public void setTurnTEdgeIDField(String value)
设置转向终止弧段 ID 的字段。仅支持 16 位整型、32 位整型字段。可选。- 参数:
value
- 转向终止弧段 ID 的字段。
-
getTurnWeightFields
public String[] getTurnWeightFields()
返回转向权值字段集合。请参见
setTurnWeightFields
方法的介绍。- 返回:
- 转向权值字段集合。
- 默认值:
- 默认值为 null。
-
setTurnWeightFields
public void setTurnWeightFields(String[] value)
设置转向权值字段集合。可选。转弯权值即转弯耗费,是指从一个弧段经过中间结点抵达另外一个邻接弧段所需的花费。
转向权值字段是转向表中表示转弯耗费的字段。通过该属性可以指定多个转向权值字段,在分析前设置有关参数时,可以选择其中的一个字段作为分析时的转向权值信息。
关于转向表的详细介绍请参见 NetworkBuilder 类的
createTurnBuilder
方法。- 参数:
value
- 转向权值字段集合。
-
getNodeNameField
public String getNodeNameField()
返回存储结点名称的字段的字段名。- 返回:
- 存储结点名称的字段的字段名。
- 默认值:
- 默认值为一个空字符串。
-
setNodeNameField
public void setNodeNameField(String value)
设置存储结点名称的字段的字段名。可选。- 参数:
value
- 存储结点名称的字段的字段名。
-
getEdgeNameField
public String getEdgeNameField()
返回存储弧段名称的字段。- 返回:
- 存储弧段名称的字段。
- 默认值:
- 默认值为一个空字符串。
-
setEdgeNameField
public void setEdgeNameField(String value)
设置存储弧段名称的字段。可选。注意,如果不设置,即使将isPathGuidesReturn
方法设置为 true,分析结果中也不会返回行驶导引。- 参数:
value
- 存储弧段名称的字段。
-
getRuleField
public String getRuleField()
返回网络数据集中表示网络弧段的交通规则的字段。网络数据集中代表交通规则的字段,存储了该弧段对应的交通规则,如该弧段为正向单行线,或逆向单行线、禁行线、双向通行线等。该字段的值与交通规则的对应关系,是通过
setFTSingleWayRuleValues()
、setTFSingleWayRuleValues()
、setProhibitedWayRuleValues()
、setTwoWayRuleValues()
等方法来设置的。例如,通过
setFTSingleWayRuleValues()
方法可以设置代表正向单行线的值,并且该方法允许设置多个值同时代表正向单行线,那么当交通规则字段的值为指定的这些值时,对应的弧段都将代表正向单行线。- 返回:
- 网络数据集中表示网络弧段的交通规则的字段。
- 默认值:
- 默认值为一个空的字符串。
-
setRuleField
public void setRuleField(String value)
设置网络数据集中表示网络弧段的交通规则的字段。要求字段类型为文本型。可选。网络数据集中代表交通规则的字段中的值具体对应了哪个交通规则,是可以根据需要设定,这类设定主要在
MultiTransportationAnalystSetting
类的setFTSingleWayRuleValues()
、setTFSingleWayRuleValues()
、setProhibitedWayRuleValues()
、setTwoWayRuleValues()
方法中实现的,以TransportationAnalystSetting
类的setFTSingleWayRuleValues()
方法为例,该方法用于设置代表正向单行线的数值,setFTSingleWayRuleValues(String[]) 方法中设置的是一个字符串数组,在该方法中可以设置多个值同时代表正向单行线,那么交通规则字段中的值如果为其中的任何一个字符串的值,都将代表正向单行线。即相应的网络数据集中的网络弧段为正向单行线。其他的代表交通规则(如:逆向单行线、禁行线、双向通行线)的字段值也是在相应的setTFSingleWayRuleValues()
、setProhibitedWayRuleValues()
、setTwoWayRuleValues()
方法中设置的,原理同正向单行线的设置。- 参数:
value
- 网络数据集中表示网络弧段的交通规则的字段。
-
getFTSingleWayRuleValues
public String[] getFTSingleWayRuleValues()
返回用于表示正向单行线的字符串的数组。关于正向单行线字符串数组,请参阅
setFTSingleWayRuleValues
方法。- 返回:
- 用于表示正向单行线的字符串的数组。
- 默认值:
- 默认值为空。
-
setFTSingleWayRuleValues
public void setFTSingleWayRuleValues(String[] values)
设置用于表示正向单行线的字符串的数组。可选。当
setRuleField
方法设置的交通规则字段的值为该方法所指定的字符串数组中任意一个时,表示对应的网络弧段为正向单行线。更多介绍请参见setRuleField
方法。- 参数:
values
- 用于表示正向单行线的字符串的数组。
-
getTFSingleWayRuleValues
public String[] getTFSingleWayRuleValues()
返回用于表示逆向单行线的字符串的数组。关于逆向单行线字符串数组,请参阅
setTFSingleWayRuleValues
方法。- 返回:
- 用于表示逆向单行线的字符串的数组。
- 默认值:
- 默认值为空。
-
setTFSingleWayRuleValues
public void setTFSingleWayRuleValues(String[] values)
设置用于表示逆向单行线的字符串的数组。可选。当
setRuleField
方法设置的交通规则字段的值为该方法所指定的字符串数组中任意一个时,表示对应的网络弧段为逆向单行线。更多介绍请参见setRuleField
方法。- 参数:
values
- 用于表示逆向单行线的字符串的数组。
-
getProhibitedWayRuleValues
public String[] getProhibitedWayRuleValues()
返回用于表示禁行线的字符串的数组。关于禁行线字符串数组,请参阅
setTFSingleWayRuleValues
方法。- 返回:
- 用于表示禁行线的字符串的数组。
- 默认值:
- 默认值为空。
-
setProhibitedWayRuleValues
public void setProhibitedWayRuleValues(String[] values)
设置用于表示禁行线的字符串的数组。可选。当
setRuleField
方法设置的交通规则字段的值为该方法所指定的字符串数组中任意一个时,对应的网络弧段即为禁行线。更多介绍请参见setRuleField
方法。- 参数:
values
- 用于表示禁行线的字符串的数组。
-
getTwoWayRuleValues
public String[] getTwoWayRuleValues()
返回用于表示双向通行线的字符串的数组。关于双向通行线字符串数组,请参阅
setTFSingleWayRuleValues
方法。- 返回:
- 用于表示双向通行线的字符串的数组。
- 默认值:
- 默认值为空。
-
setTwoWayRuleValues
public void setTwoWayRuleValues(String[] values)
设置用于表示双向通行线的字符串的数组。可选。当
setRuleField
方法设置的交通规则字段的值为该方法所指定的字符串数组中任意一个时,对应的网络弧段即为双向通行线。更多介绍请参见setRuleField
方法。- 参数:
values
- 用于表示双向通行线的字符串的数组。
-
setRelations
public void setRelations(MultiTransportationAnalystRelation[] values)
设置多网络数据集关系数组。- 参数:
values
- 多网络数据集关系数组。
-
getRelations
public MultiTransportationAnalystRelation[] getRelations()
返回多网络数据集关系数组。- 返回:
- 多网络数据集关系数组。
-
setNetworkDatasetsName
public void setNetworkDatasetsName(String[] values)
设置多网络数据集名称数组。- 参数:
values
- 多网络数据集名称数组。
-
getNetworkDatasetsName
public String[] getNetworkDatasetsName()
返回多网络数据集名称数组。- 返回:
- 多网络数据集名称数组。
-
getEdgeFilter
public String getEdgeFilter()
返回多路网数据集交通网络分析中弧段过滤表达式。关于弧段过滤表达式的作用请参见
setEdgeFilter
方法。- 返回:
- 多路网数据集交通网络分析中弧段过滤表达式。
-
setEdgeFilter
public void setEdgeFilter(String filter)
设置多路网数据集交通网络分析中弧段过滤表达式。可选。网络中的弧段依据某些特性可能会被分成几种类型,当实际分析中不需要所有弧段都参与分析时,可以设置过滤表达式从而只让符合条件的弧段参与分析,并且有可能提高分析的性能。
- 参数:
filter
- 多路网数据集交通网络分析中弧段过滤表达式。
-
getBounds
public Rectangle2D getBounds()
返回最佳路径分析的分析范围。可选。当最佳路径分析只需要在某个范围内分析时,可以设置分析范围从而只让范围内的弧段参与分析。
- 返回:
- 最佳路径分析的分析范围。
-
setBounds
public void setBounds(Rectangle2D bounds)
设置最佳路径分析的分析范围。可选。当最佳路径分析只需要在某个范围内分析时,可以设置分析范围从而只让范围内的弧段参与分析。
- 参数:
bounds
- 最佳路径分析的分析范围。
-
-
Copyright © 2021–2024 SuperMap. All rights reserved.