span8
span4
本文也是本教程的一部分在FME中怎么做呢|接下来:定义一个汽车时区
最短路径计算使用ShortestPathFinder变压器FME完成。这种变压器计算从源节点到目的地节点的给定网络上的最短路径。
这里,例如,用户是找到一个给定路线的开始/结束点之间的最短路径,使用线的网络:
从 - 到行定义了路线的开始和结束。任何数量的从 - 到线可以被传递到ShortestPathFinder为同一网络上的多个计算。
有一些简单的变化和问题,做到心中有数。
请按照下列步骤为如何计算网络中的最短路径的例子。
1。启动FME工作台。添加的读取器(读卡器>添加阅读器上的菜单栏)来读取的附接形状数据集从到线。
2。添加第二个阅读器读取包含道路网络连接的AutoCAD的DWG数据集。在添加读者对话框单击“单一的合并功能类型”选项。这将确保所有的数据被添加作为一个单一的层:
3。添加ShortestPathFinder变压器和连接道路网络,并从到线到正确的输入端口。添加督察变压器以可视化的输出:
4。打开该ShortestPathFinder参数对话框。因为从到终点可能不在网络上正好坐下,改变参数从到和网络捕捉到是。设置的200公差:
5。运行工作区。输出将是这样的:
沿单行道行驶的错误的方式是通过使用成本,而不是距离避免。这是必要的街道单向进行标记(通常是与属性)和它们的方向(从第一坐标到最后),以行进方向允许匹配。
请按照下列步骤为如何计算网络中的最短路径,并避免前往沿着单行道的错误方法的例子。
1。启动FME工作台。打开附件的工作区(或来自实施例1继续)。
2。测试员变压器添加到工作区,街道要素类和ShortestPathFinder变压器之间:
3。打开测试仪的参数对话框。设立在属性单向等于Y上测试
4。添加两个AttributeManager变压器,一个连接到每一个测试仪输出端口。这些将被用来设置旅费:
5。打开第一个AttributeManager(连接到测试人员的端口:Passed端口)的参数对话框。添加两个新属性,ForwardCost和ReverseCost。将ForwardCost设置为值1(表示单行道上正确的方向),将ReverseCost设置为值9999(表示单行道上错误的方向)
6.打开第二个AttributeManager(连接到测试人员的端口:Failed port)的parameters对话框。添加两个新属性,ForwardCost和ReverseCost。将两个属性都设置为1。这是双向的道路,成本在两个方向上是相等的。
7.打开最短路径查找变压器的参数对话框。将成本类型参数从“By Length”更改为“By Two Attributes”。将ForwardCost设置为ForwardCost属性,将ReverseCost设置为ReverseCost属性
8.运行工作区。输出将是这样的:
请注意此输出与示例1之间的区别。例1错误地使用了单行道,而例2避免了这样做。
仅使用成本属性来确定路线意味着不再考虑距离。例如,在例2中,100米的路和100公里的路没有区别,只要它不是单行道。要解决这个问题,需要同时利用长度和成本。
按照以下步骤作为如何计算网络中最短路径的示例,同时应用成本和长度。
1。启动FME工作台。打开附加的工作空间(或从示例2继续)。
2。打开第一个AttributeManager转换器的参数对话框。在ForwardCost属性的值旁边,单击下拉箭头并选择Open math Editor
3。在算术编辑器中,添加一个乘法符号,然后拖动称为Length的FME功能函数
对ReverseCost属性重复这一步,对第二个AttributeManager中的两个成本属性重复这一步。
4。运行工作区。输出将是这样的:
再次注意例子1和例子2的结果的区别。
注:用成本乘以距离的方法只是可能使用的方法之一。例如,你可以将成本乘以距离的一半(成本*(距离/2))
©2019安全亚搏在线软件公司|法律