斯潘8
斯潘4
本文也是本教程的一部分我该怎么做呢?γ下一步:定义驱动器时区
最短路线的计算在FME中使用shortestpathfinder变压器完成。此转换器计算给定网络上从源节点到目标节点的最短路径。
在这里,例如,用户正在查找给定路由的起点/终点之间的最短路径,使用线网络:
“从到”行定义路线的起点和终点。在同一个网络上,可以将任意数量的“从到”行传递到shortestpathfinder进行多个计算。
有一些简单的变化和问题需要注意。
以下步骤是如何计算网络中最短路线的示例。
1。启动FME工作台。添加一个读卡器(读卡器>在菜单栏上添加读卡器)以读取“从到”行的附加形状数据集。
2。添加第二个读卡器以读取附加的包含道路网络的AutoCAD DWG数据集。在“添加读卡器”对话框中,单击“单个合并要素类型”选项。这将确保将所有数据添加为单个层:
三。添加一个shortestpathfinder变压器,并将道路网络和从到线路连接到正确的输入端口。添加Inspector Transformer以可视化输出:
4。打开shortestpathfinder的参数对话框。因为“从”到“终点”可能不完全位于网络上,将参数从更改为,网络捕捉更改为是。将公差设置为200:
5。运行工作区。输出如下:
通过使用成本而不是距离,可以避免沿着单行道错误行驶。单向街道需要标记(通常带有属性)和方向(从第一个坐标到最后一个坐标)以匹配允许的行驶方向。
以这些步骤为例,说明如何计算网络中的最短路线,并避免沿单向街道错误行驶。
1。启动FME工作台。打开附加的工作区(或从示例1继续)。
2。将测试仪转换器添加到工作区,在街道功能类型和shortestpathfinder变压器之间:
三。打开“检测仪参数”对话框。为属性OneWay等于y的位置设置测试
4。添加两个属性管理器变压器,一个连接到每个测试仪输出端口。这些将用于设置差旅成本:
5。打开第一个属性管理器的参数对话框(连接到测试仪的参数对话框:通过端口)。添加两个新属性,正向成本和反向成本。将ForwardCost设置为1(表示单向街道上的正确方向),将ReverseCost设置为9999(表示单向街道上的错误方向)
6。打开第二个attributeManager的参数对话框(连接到检测仪的参数对话框:失败端口)。添加两个新属性,正向成本和反向成本。将这两个属性的值都设置为1。这是双向街道,两个方向的成本相等。
7。打开shortestpathfinder变压器的参数对话框。将成本类型参数从“按长度”更改为“按两个属性”。将“正向成本”设置为“正向成本”属性,将“反向成本”设置为“反向成本”属性
8。运行工作区。输出如下:
注意这个输出和示例1之间的区别。例1错误地使用了单行道,然而,示例2避免这样做。
仅使用成本属性来确定路线意味着不再考虑距离。例如,在示例2中,100米和100公里的道路没有区别,如果不是单行道。要解决这一问题,需要同时使用长度和成本。
以下步骤是如何计算网络中最短路线的示例,同时考虑成本和长度。
1。启动FME工作台。打开附加的工作区(或从示例2中继续)。
2。打开第一个属性管理器转换器的参数对话框。在ForwardCost属性的值旁边,单击下拉箭头并选择“打开算术编辑器”
三。在算术编辑器中,添加一个乘法符号,然后在名为length的fme功能函数中拖动
对ReverseCost属性重复此步骤,对第二个attributeManager中的两个成本属性再次重复。
4。运行工作区。输出如下:
再次注意示例1和2的结果的差异。
NB:将成本乘以距离的方法只是可以使用的一个例子。你可以,例如,通过将成本乘以距离的一半(成本*(距离/2)),对成本进行加权。
?2019安全亚搏在线软件公司|合法的