RasterConvolver示例:栅格坡度计算

RasterConvolver转换器在FME 2018.1+中可用。

栅格坡度计算

FME已经有从栅格要素直接计算坡度的转换器;但是,RasterConvolver也可以用于创建相同的结果,栅格DEM卷积是一个很好的例子。

卷积是一个在栅格要素和数字矩阵(核)之间进行的数学运算。操作和核的定义通常叫做滤波

这个练习是用多种方法对栅格要素进行卷积,通过合并结果得到解决方案的很好的示例。

下载

Source Dataset

Completed Workspace as a Template

源数据

这些示例的源数据是CDED格式的栅格DEM。在FME Data Inspector中看起来是这样:

https://mtr-1.oss-cn-beijing.aliyuncs.com/qyblog/2019/04/18818-rasterconvolverslopes1.png

 

单元格的值表示高程。颜色越浅,海拔越高。较暗的区域代表低洼地区。

分布说明

1. 启动FME Workbench,在空白画布中开始。从菜单栏中选择 Readers(读模块) > Add Reader(添加读模块)

设置数据格式为Canadian Digital Elevation Data (CDED)U.S. Geological Survey Digital Elevation Model (USGSDEM)——这两个名字是同一种格式。

选择下载的数据作为源数据。

2. 在画布中添加一个RasterConvolver 转换器,然后把读模块要素类连接到该转换器。

打开参数对话框。选择Line Detection: Horizontal滤波

https://mtr-1.oss-cn-beijing.aliyuncs.com/qyblog/2019/04/18821-rasterconvolverslopes4.png

 

这个滤波识别东西(左右)方向的线。

3. 在画布中添加第二个RasterConvolver转换器,并把读模块要素类连接到该转换器:

https://mtr-1.oss-cn-beijing.aliyuncs.com/qyblog/2019/04/18822-rasterconvolverslopes5.png

 

打开参数对话框,这次选择Line Detection: Vertical滤波。

这两个滤波识别水平和竖直方向的坡度。这两种结果本身都差强人意,但可以组合在一起以得到所需的结果。

4. 在画布中添加一个RasterExpressionEvaluator转换器,先不连接任何对象,打开参数对话框。

设置Mode参数为Two Rasters

https://mtr-1.oss-cn-beijing.aliyuncs.com/qyblog/2019/04/18823-rasterconvolverslopes6.png

 

Band Expression(s)字段,设置InterpretationPreserve。在Expression字段,输入:

换言之,我们把两个栅格要素合并到一起。单元的新值为栅格A值的平方加上栅格B值的平方再开方。

https://mtr-1.oss-cn-beijing.aliyuncs.com/qyblog/2019/04/18824-rasterconvolverslopes7.png

 

关闭参数对话框,将两个RasterConvolver的输出端口连接到RasterExpressionEvaluatorAB输入端口:

https://mtr-1.oss-cn-beijing.aliyuncs.com/qyblog/2019/04/18825-rasterconvolverslopes8.png

 

5. 运行工作空间,使用缓存要素或Inspector转换器来查看RasterExpressionEvalautor 的输出。结果看起来是这样:

https://mtr-1.oss-cn-beijing.aliyuncs.com/qyblog/2019/04/18826-rasterconvolverslopes9.png

 

可选步骤

我们可以使用一些可选步骤来确认结果。

6. 因为FME中已经有一个RasterSlopeCalculator 转换器,在工作中添加一个该转换器。将读模块要素类连接到这个转换器上:

https://mtr-1.oss-cn-beijing.aliyuncs.com/qyblog/2019/04/18828-rasterconvolverslopes10.png

检查转换器的参数,并设置Output Measurement 参数为“Percent Rise”。运行工作空间的这部分,检查输出结果,确保它看起来和RasterConvolvers创建的一样。

7. 两个结果应该看起来一样,但是并不意味着它们是完全相同的。为了检查,在RasterExpressionEvaluatorRasterSlopeCalculator转换器后都添加RasterStatisticsCalculator转换器。打开参数对话框,设置为波段0统计最小(minimum)、最大(maximum)和and平均(mean)值。

https://mtr-1.oss-cn-beijing.aliyuncs.com/qyblog/2019/04/18829-rasterconvolverslopes11.png

因为重新运行工作空间并检查两个栅格要素的输出。你将注意最小、最大、平均值并不一样。因此数据可能具有相同的坡度,但并不是完全相同的值。如果我们只关心 图像,那么任何一个结果都可以;如果我们关心实际的值,我们可能更喜欢RasterSlopeCalculator,它的值为坡度百分比。

 

转载自:https://blog.csdn.net/fmechina/article/details/84989730

You may also like...