RasterConvolver转换器在FME 2018.1+中可用。 栅格坡度计算FME已经有从栅格要素直接计算坡度的转换器;但是,RasterConvolver也可以用于创建相同的结果,栅格DEM卷积是一个很好的例子。 卷积是一个在栅格要素和数字矩阵(核)之间进行的数学运算。操作和核的定义通常叫做滤波。 这个练习是用多种方法对栅格要素进行卷积,通过合并结果得到解决方案的很好的示例。 下载 Source Dataset Completed Workspace as a Template 源数据 这些示例的源数据是CDED格式的栅格DEM。在FME Data Inspector中看起来是这样:
单元格的值表示高程。颜色越浅,海拔越高。较暗的区域代表低洼地区。 分布说明 1. 启动FME Workbench,在空白画布中开始。从菜单栏中选择 Readers(读模块) > Add Reader(添加读模块) 设置数据格式为Canadian Digital Elevation Data (CDED)或U.S. Geological Survey Digital Elevation Model (USGSDEM)——这两个名字是同一种格式。 选择下载的数据作为源数据。 2. 在画布中添加一个RasterConvolver 转换器,然后把读模块要素类连接到该转换器。 打开参数对话框。选择Line Detection: Horizontal滤波:
这个滤波识别东西(左右)方向的线。 3. 在画布中添加第二个RasterConvolver转换器,并把读模块要素类连接到该转换器:
打开参数对话框,这次选择Line Detection: Vertical滤波。 这两个滤波识别水平和竖直方向的坡度。这两种结果本身都差强人意,但可以组合在一起以得到所需的结果。 4. 在画布中添加一个RasterExpressionEvaluator转换器,先不连接任何对象,打开参数对话框。 设置Mode参数为Two Rasters;
在Band Expression(s)字段,设置Interpretation为Preserve。在Expression字段,输入: 换言之,我们把两个栅格要素合并到一起。单元的新值为栅格A值的平方加上栅格B值的平方再开方。
关闭参数对话框,将两个RasterConvolver的输出端口连接到RasterExpressionEvaluator的A和B输入端口:
5. 运行工作空间,使用缓存要素或Inspector转换器来查看RasterExpressionEvalautor 的输出。结果看起来是这样:
可选步骤 我们可以使用一些可选步骤来确认结果。 6. 因为FME中已经有一个RasterSlopeCalculator 转换器,在工作中添加一个该转换器。将读模块要素类连接到这个转换器上: 检查转换器的参数,并设置Output Measurement 参数为"Percent Rise"。运行工作空间的这部分,检查输出结果,确保它看起来和RasterConvolvers创建的一样。 7. 两个结果应该看起来一样,但是并不意味着它们是完全相同的。为了检查,在RasterExpressionEvaluator和RasterSlopeCalculator转换器后都添加RasterStatisticsCalculator转换器。打开参数对话框,设置为波段0统计最小(minimum)、最大(maximum)和and平均(mean)值。 因为重新运行工作空间并检查两个栅格要素的输出。你将注意最小、最大、平均值并不一样。因此数据可能具有相同的坡度,但并不是完全相同的值。如果我们只关心 图像,那么任何一个结果都可以;如果我们关心实际的值,我们可能更喜欢RasterSlopeCalculator,它的值为坡度百分比。
本文转载来自CSDN作者:fmechina 版权归作者所有 原文链接:https://blog.csdn.net/fmechina/a ... 1001.2014.3001.5501
|