斯潘8
斯潘4
此方案结合了数字DEM光栅和颜色RGB光栅来确定高程区域。这些海拔区域用于确定如何为您的汽车做好冬季准备。如果你住在红色区域,从十月到五月你需要冬季轮胎,但是如果你生活在绿色地带,你应该对四季轮胎都很好。
请记住,这是一个虚构的场景,您不应该将冬季准备工作建立在本文的基础上。请咨询当地政府运输机构,了解你所在地区的冬季准备指南。
提升方案.fmwt (完成工作空间模板)
立面图scenariodata.zip (包含portmoody.dem和带有世界文件的参考图.png)
1)读取DEM并重新投影
在空白工作区中,添加一个加拿大数字高程数据(CDED)阅读画布并浏览portmoody.dem数据集。
一旦读者被添加到画布上,添加一个再投影仪变压器。在参数中,将目标坐标系统设置为LL84。
在DEM中读取并重新投影到LL84
2)在PNG地图中读取
接下来,添加一个PNG(可移植网络图形)读取画布并浏览到引用的\u map.png数据集。检查数据集并确保坐标系设置为LL84,如果坐标系未定义,缺少世界文件。确保reference_map.wld文件与reference_map.png位于同一文件夹中。
3)提取光栅属性
我们需要在整个工作区中使用参考图的属性,所以我们需要提取它们。添加一个RasterpropertyExtractor转换到画布并将其连接到pngraster功能类型。没有要为此变压器设置的参数。
4)将DEM裁剪为参考地图
使用限幅器变压器,我们将把穆迪港的DEM剪辑到参考地图上。在画布上添加一个裁剪器,并将RasterpropertyExtractor的输出端口连接到裁剪器输入端口,并将重新投射器上的重新投射输出端口连接到裁剪器输入端口。使用默认参数。
将RasterpropertyExtractor连接到裁剪器输入端口,将Reprojector连接到裁剪器。
5)连接功能
我们将使用特征接合器Transformer连接两个特性的属性,但首先我们需要创建一个要合并的特性。添加一个属性创建器将变压器连接到画布并将其连接到RasterpropertyExtractor上的输出端口。创建一个名为“合并”的新属性,并将其值设为1。
右键单击AttributeCreator并选择Duplicate或高亮显示它,然后使用键盘快捷键CTRL-D复制它。将重复的AttributeCreator连接到裁剪器上的内部输出端口。
复制完成的AttributeCreator转换器
既然我们有了要合并的属性,将FeatureJoiner添加到画布。将FeatureJoiner上的右输入端口连接到第一个attributeCreator,连接到RasterpropertyExtrator。然后将左输入端口连接到另一个AttributeCreator。在参数中,将连接模式设置为左侧,然后将join设置为\u merge(左右合并)。
FeatureJoiner参数;将“联接”模式设置为“左”,并将“左”和“右”都设置为“合并”
将第一个attributeCreator连接到右侧输入端口,将第二个attributeCreator连接到FeatureJoiner的左侧
6)创建然后获取高度参数
当我们运行工作区时,我们希望用户能够选择立面区域的高度。要做到这一点,我们将创建一个用户参数。
在导航窗格中,右键单击用户参数,然后选择Create User Parameter。在“添加/编辑用户参数”对话框中,将其更改为匹配:
类型: | 数 |
姓名: | 分区高度 |
出版: | 选中的 |
可选的: | 选中的 |
提示: | 高程带高度 |
属性分配: | 违约 |
默认值: | 五十 |
配置: | |
下限 | 大于或等于值 |
价值 | 二十 |
上限 | 小于或等于值 |
价值 | 一百 |
小数点精度 | 0 |
创建ZoneHeight用户参数
接下来,我们需要获取参数并将其放入我们的工作流中。亚搏在线添加一个参数蚀刻机将转换器连接到画布并将其连接到FeatureJoiner上的连接输出端口。在参数中,将参数名称设置为ZoneHight,将目标属性设置为“高度”。
参数蚀刻器参数;将参数名称设置为ZoneHeight,将目标属性设置为“高度”
7)重新采样光栅
接下来,我们想用PNG的尺寸对DEM重新取样,这样我们以后就能在两者上使用RasteExpressionEvaluator。
添加一个光栅扫描仪转换到画布并将其连接到参数蚀刻器。在参数中,将大小规范设置为rows columns,然后将列数(单元格)设置为num_列,并将行数(单元格)设置为num_行。这些属性来自PNG,当我们使用RasterpropertyExtractor时就会暴露出来。
8)删除nodata
包含nodata的raster不允许使用rasterexpressionevaluator进行逻辑操作;它会导致翻译失败,所以我们需要移除它们。添加一个Rasterbandnoda去除剂转换到画布并将其连接到rasterresampler。此变压器没有要设置的参数;它将自动删除包含nodata的带区。
将FeatureJoiner连接的输出端口连接到参数蚀刻器,然后连接rasterresampler和rasterbandnodaremover
9)高程DEM分类
现在数据是干净的,我们可以对DEM进行分类,以设置高程带。添加一个RasteExpressionEvaluator公司将变压器连接到画布并将其连接到RasterBandNoDataRemover。在参数中,在变压器名称后附加DEM,然后确保模式设置为一个光栅。在“波段表达式”下,设置以下内容:
解释:UInt8
表达式:
如果(a[0]==0,0,a[0]/a:_height+1)
DEM的RasteExpressionEvaluator参数
这个方程可以分解为:
如果高度=0,则保留为0。
如果海拔在1到50之间,设置为1
如果海拔在51到100之间,设置为2
如果海拔在101到150之间,设置为3,依此类推。
RASTERExpressionEvaluator的输出与分类高程带
10)将png分类为灰度背景
我们现在将对PNG进行分类,使其成为灰度图像,但保留海洋蓝色,因为它不会与我们的高程带一起着色。因为这是一个RGB光栅,这个方程会更复杂一点。将另一个RasteExpressionEvaluator添加到画布,并将其连接到PNG功能类型。在参数中,将PNG附加到变压器名称,然后确保将模式设置为一个光栅。对于带区表达式,请设置以下内容:
解释:ReD8
表达式:
如果(a[0]=153&&a[1]=179&&a[2]=204,A〔0〕,0.2989*A[0]+0.5870*A[1]+0.1140*A[2])
解释:格林8
表达式:
如果(a[0]=153&&a[1]=179&&a[2]=204,A〔1〕,0.2989*A[0]+0.5870*A[1]+0.1140*A[2])
解释:蓝8
表达式:
如果(a[0]=153&&a[1]=179&&a[2]=204,[2],0.2989*A[0]+0.5870*A[1]+0.1140*A[2])
PNG的光栅表达式评估器参数
这些方程可分解为:
如果ReR8=153,格林8=179,忽略它,让海洋变蓝
然后将其余颜色更改为灰度
将栅格作为除海洋之外的灰度输出光栅expression evaluator_png
11)重新分类以创建高程带
最后,我们可以将两个光栅重新分类在一起以创建高程区域。在画布上添加一个光栅表达式求值器,在参数中将模式设置为两个光栅,然后点击确定。将RasterExpressionEvaluator_png连接到A输入端口,然后将RasterExpressionEvaluator_dem连接到RasterBandNoDataRemover和B输入端口。在参数中,为带区表达式设置以下内容:
解释:ReD8
表达式:
如果(b)0=2,A〔0〕,如果(b[0]==3 b[0]==4,A〔0〕* 1.1,如果(b[0]==5 b[0]==6,A〔0〕* 1.3,A〔0〕* 1.5〕)
解释:格林8
表达式:
如果(b[0]==0 b[0]==5 b[0]==6,A〔1〕,如果(b[0]==1 b[0]==2,[1]* 1.3,如果(b)0>7,[1]/ 1.1,A〔1〕* 1.1〕)
解释:蓝8
表达式:
A〔2〕
用于创建颜色高程区域的光栅表达式评估器参数
这些方程可分解为:
对于DEM区域1和2,增加绿带值(使其更绿)
对于DEM区域3和4,增加红绿带值(使其变黄)
对于DEM区域4及以上,增加红色带的值(使其更红)
12)检查输出
添加一个检查员将转换器转换到第三个光栅expresionevaluator上的结果输出端口,或者将输出输出到您喜欢的光栅格式。启用Run with Prompt设置仰角区域高度参数。检查结果,你应该会看到高程区域覆盖在栅格地图上。
最终产量;各种海拔,绿色最低,红色最高。
数据属性
本教程中使用的数据源自加拿大政府提供的开放数据。它包含根据开放式政府许可证-加拿大。
?2019安全亚搏在线软件公司|合法的