斯潘8
斯潘4
本文也是本教程的一部分在FME中我该怎么做?γ下一步:通过网络选择最佳路径
流顺序可用于根据与其连接的分支的数量来识别和分类流类型。本教程将介绍如何在使用流订单计算器基于Strahler算法确定流序的变压器。Strahler算法将没有分支的流分类为顺序1。
streamOrderCalculator-data.zip
使用感兴趣区域的数字高程模型,我们可以使用高程确定溪流的流向。
1)增加DEM和重新投影
在FME工作台的空白工作区中添加新的加拿大数字高程数据(CDED)阅读画布并浏览到rasterdem-250k.dem数据集。
然后添加一个再投影仪变换到画布上,将目标坐标系设置为TX83-CF,然后单击“确定”。
2)清理数据
下一步,我们需要删除所有不需要帮助加快翻译速度的额外属性。添加一个属性移动器然后在参数中单击要删除的属性旁边的省略号,然后单击全选。
带CDED读卡器的工作区,再投影仪,一个属性移动器
3)添加流数据
在画布上添加另一个阅读器,这次将格式设置为MapInfo MIF/MID并浏览到hydrographyline.mif数据集。
4)清理湖泊
因为我们只对溪流感兴趣,我们需要删除创建湖泊或其他水体的线条数据。添加一个露天矿将变压器连接到画布并将其连接到Hydrographylines功能类型。在参数中,设置属性累加下的累加模式来删除传入的特征。
5)生成网络ID
我们需要为每个流创建一个唯一的ID,为此,我们将使用网络拓扑计算器将为参与网络的所有线路分配一个网络ID属性的变压器。将NetworkTopologyCalculator添加到画布,并将其连接到AreaBuilder上不完整的输出端口。
6)创建拓扑
现在拓扑生成器变压器可用于在特定网络内的线路上建立拓扑结构。在这里,我们对节点感兴趣,这样我们就可以确定网络中的最低节点,以确定流的流向。将拓扑构建器添加到画布中,并将Group By参数设置为“网络ID”。
TopologyBuilder参数将Group By设置为“网络ID”
带区域生成器的MIF阅读器,网络拓扑计算器和拓扑构建器
7)查找高程值
现在,我们已经使用拓扑构建器基于网络ID连接了所有线,我们可以确定线中每个节点的高程。添加一个pointonrastervalue提取器变换到画布上。将attributereMover上的输出端口连接到pointonrastervalueextractor上的光栅输入端口。然后将拓扑构建器上的节点输出端口连接到点输入端口。这将覆盖栅格DEM上的流数据,然后提取高程,该高程将是属性0值,这是海拔高度。
将attributereMover连接到光栅输入端口,将topologiybuilder连接到点输入端口。
8)排序属性值
添加一个分拣机将转换器连接到画布,并将其连接到PointOnRasterValueExtractor上的点输出端口。在参数中设置以下参数:
属性 | 阿尔法/努姆 | 秩序 |
α带{ 0 }值 | 数字的 | 提升 |
网络处理器 | 数字的 | 提升 |
分拣机参数,按升序对波段0值和_网络id进行排序
9)计算最小和标准偏差
通过对属性排序,我们可以计算高程的最小和标准偏差。添加一个统计计算器将变压器连接到画布并将其连接到分拣机。在参数中,将group by设置为_network_id,并将要分析的属性设置为0值。下一步,删除除\min以外的所有计算属性的属性名。
统计量计算器参数。将group by设置为network_id,并将要分析的属性设置为band 0。值
10)找出最低标高的节点
要找到海拔最低的节点,我们现在将使用匹配器根据网络标识匹配分拣机和统计计算器的属性。将匹配器添加到画布,并将其连接到StatisticsCalculator上的Sorter和Summary输出端口。在参数中,将“匹配几何体”(Match Geometry)设置为“无”(None),将选定属性设置为“网络”(Network)ID。
匹配器参数;将“匹配几何体”(Match Geometry)设置为“无”(None),将选定属性设置为“网络”(Network)ID。
将匹配器连接到统计计算器上的分类器和摘要输出端口。
11)计算流顺序
使用流订单计算器变压器,我们将根据Strahler算法计算流顺序。将streamordercalculator添加到画布,并将测线输入端口连接到拓扑构建器上的边缘输出端口,然后将目标输入端口连接到匹配器上的单匹配输出端口。在参数中,将group by设置为\u network\u id,然后将输入的固定流方向设置为yes。最后,将流顺序类型设置为Strahler。
streamOrderCalculator参数;将group by设置为\u network\u id,将stream order类型设置为strahler
将streamordercalculator连接到拓扑构建器上的边缘输出端口和匹配器上的单匹配输出端口。
12)检查输出
添加一个检查员转换到画布并将其连接到streamordercalculator上的网络输出端口。也,将同一个检查器连接到区域生成器上的区域输出端口,这将在我们检查数据时重新添加湖泊。您可以右键单击到AreaBuilder的连接,然后选择创建一个通道来清理画布。
将Inspector连接到AreaBuilder上的区域输出端口和StreamOrderCalculator上的网络输出端口。
在Inspector的参数中,将Group By设置为“Strahler”顺序,这是计算的流顺序。
运行翻译。在数据检查器中,我们需要更改线条的颜色和权重来查看数据。在显示控制面板中,将Inspector_uu29设置为蓝色填充颜色,填充不透明度设置为0.2,然后把它移到列表的底部,这是湖泊。
接下来,将Inspector_1(46)设置为浅蓝色,宽度为2。然后将Inspector_2(12)设置为蓝色,宽度为4。最后,将Inspector_3(2)设置为深蓝色,宽度为6。现在你可以看到溪流的顺序了。
按Strahler顺序分类和着色的最终输出
还有一个问题是,如果河流段相对平坦,使得河流两端的高程相同,然后工作区可能无法正确识别流的低点。这发生在图像左上角的小网络上。两个低点(节点)被传递到streamordercalculator中,它只能利用其中的一个。可能不是正确的,因此,解决这个问题可能需要额外的逻辑。
数据属性
奥斯汀市和特拉维斯县提供的数据,得克萨斯州
?2019安全亚搏在线软件公司|合法的