RasterConvolver示例:栅格坡度计算

2023-10-28 18:30

本文主要是介绍RasterConvolver示例:栅格坡度计算,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

栅格坡度计算

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

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

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

下载

Source Dataset

Completed Workspace as a Template

源数据

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

https://knowledge.safe.com/storage/attachments/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://knowledge.safe.com/storage/attachments/18821-rasterconvolverslopes4.png

 

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

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

https://knowledge.safe.com/storage/attachments/18822-rasterconvolverslopes5.png

 

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

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

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

设置Mode参数为Two Rasters

https://knowledge.safe.com/storage/attachments/18823-rasterconvolverslopes6.png

 

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

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

https://knowledge.safe.com/storage/attachments/18824-rasterconvolverslopes7.png

 

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

https://knowledge.safe.com/storage/attachments/18825-rasterconvolverslopes8.png

 

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

https://knowledge.safe.com/storage/attachments/18826-rasterconvolverslopes9.png

 

可选步骤

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

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

https://knowledge.safe.com/storage/attachments/18828-rasterconvolverslopes10.png

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

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

https://knowledge.safe.com/storage/attachments/18829-rasterconvolverslopes11.png

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

 

这篇关于RasterConvolver示例:栅格坡度计算的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/295107

相关文章

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

XTU 1237 计算几何

题面: Magic Triangle Problem Description: Huangriq is a respectful acmer in ACM team of XTU because he brought the best place in regional contest in history of XTU. Huangriq works in a big compa

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显

zeroclipboard 粘贴板的应用示例, 兼容 Chrome、IE等多浏览器

zeroclipboard单个复制按钮和多个复制按钮的实现方法 最近网站改版想让复制代码功能在多个浏览器上都可以实现,最近看网上不少说我们的代码复制功能不好用的,我们最近将会增加代码高亮等功能,希望大家多多支持我们 zeroclipboard是一个跨浏览器的库类 它利用 Flash 进行复制,所以只要浏览器装有 Flash 就可以运行,而且比 IE 的

基于SpringBoot的宠物服务系统+uniapp小程序+LW参考示例

系列文章目录 1.基于SSM的洗衣房管理系统+原生微信小程序+LW参考示例 2.基于SpringBoot的宠物摄影网站管理系统+LW参考示例 3.基于SpringBoot+Vue的企业人事管理系统+LW参考示例 4.基于SSM的高校实验室管理系统+LW参考示例 5.基于SpringBoot的二手数码回收系统+原生微信小程序+LW参考示例 6.基于SSM的民宿预订管理系统+LW参考示例 7.基于

计算数组的斜率,偏移,R2

模拟Excel中的R2的计算。         public bool fnCheckRear_R2(List<double[]> lRear, int iMinRear, int iMaxRear, ref double dR2)         {             bool bResult = true;             int n = 0;             dou

Spring Roo 实站( 一 )部署安装 第一个示例程序

转自:http://blog.csdn.net/jun55xiu/article/details/9380213 一:安装 注:可以参与官网spring-roo: static.springsource.org/spring-roo/reference/html/intro.html#intro-exploring-sampleROO_OPTS http://stati

Java http请求示例

使用HttpURLConnection public static String httpGet(String host) {HttpURLConnection connection = null;try {URL url = new URL(host);connection = (HttpURLConnection) url.openConnection();connection.setReq