西班牙
斯潘4
此方案结合数字DEM光栅和彩色RGB光栅来确定高程分区。这些海拔区域用于确定如何为您的汽车准备过冬。如果你生活在红色区域,你将需要从10月到5月的冬季轮胎,但如果你生活在绿色区域,你应该与所有季节的轮胎罚款。
请记住,这是一个虚构的场景,您不应该将冬季准备工作建立在本文的基础上。请向您所在地区的当地政府运输机构咨询冬季准备指南。
ElevationScenario.fmwt(完成工作空间模板)
ElevationScenarioData.zip(包含PortMoody.dem和Reference_Map.png与世界文件)
1)读取DEM并重新规划
在空白工作区中,添加加拿大数字高程数据阅读画布并浏览portmoody.dem数据集。
将读取器添加到画布后,添加Reprojector变压器。在参数中,将目标坐标系设置为ll84。
读取DEM并重新规划到LL84
2)阅读PNG地图
下一步,添加PNG(便携式网络图形)阅读画布并浏览到reference_map.png数据集。检查数据集并确保坐标系设置为ll84,如果坐标系未定义,则世界文件丢失。确保reference_map.wld文件与reference_map.png位于同一文件夹中。
3)提取栅格属性
我们需要在整个工作区中使用引用映射的属性,因此需要提取它们。添加RasterPropertyExtractor转换到画布并将其连接到pngraster功能类型。没有要为此变压器设置的参数。
4)将DEM裁剪为参考地图
使用限幅器变压器,我们将把穆迪港的DEM剪辑到参考地图上。将剪辑器添加到画布,并将raserpropertyExtractor的输出端口连接到剪辑器输入端口,将重新投影器上的重新投影输出端口连接到剪辑器输入端口。使用默认参数。
将光栅属性提取器连接到剪贴板输入端口,将投影仪连接到剪贴板
5)加入功能
我们将使用FeatureJoinertransformer来连接两个特性的属性,但首先我们需要创建一个要合并的属性。添加AttributeCreator转换到画布并将其连接到rasterpopertyextractor上的输出端口。创建一个名为“合并”的新属性,并将其值设为1。
右键单击AttributeCreator并选择“复制”或“亮显”,然后使用键盘快捷键CTRL-D复制它。将重复的attributecreator连接到剪辑器的内部输出端口。
复制完成的AttributeCreator转换器
现在我们有了要合并的属性,在画布中添加一个featurejoiner。将FeatureJoiner上的右输入端口连接到第一个AttributeCreator,该AttributeCreator连接到RasterPropertyExtrator。然后将左侧输入端口连接到另一个attributecreator。在参数中,将join模式设置为left,然后将join设置为左右合并。
FeatureJoiner参数;将连接模式设置为Left,并将Left和Right设置为_merge
将第一个AttributeCreator连接到右侧的输入端口,将第二个连接到FeatureJoiner的左侧
6)创建并获取高度参数
运行工作区时,我们希望用户能够选择立面分区的高度。为此,我们将创建一个用户参数。
在“导航器”窗格中,右键单击“用户参数”,然后选择“创建用户参数”。在“添加/编辑用户参数”对话框中,将其更改为匹配:
类型: | 数量 |
名称: | ZoneHeight |
发表: | 检查 |
可选: | 检查 |
提示: | 海拔区高度 |
属性赋值: | 默认的 |
默认值: | 50 |
配置: | |
下限 | 大于或等于价值 |
价值 | 20. |
上限 | 小于或等于值 |
价值 | One hundred. |
精确小数位数 | 0 |
创建ZoneHeight用户参数
接下来,我们需要获取参数并将其放入我们的工作流中。亚搏在线添加ParameterFetcher转换到画布并将其连接到FeatureJoiner上的连接输出端口。在参数中,将参数名设置为zoneheight,将目标属性设置为height。
ParameterFetcher参数;将参数名设置为ZoneHeight,将目标属性设置为_height
7)重新取样光栅
下一步,我们要用PNG的维度重新对DEM采样,这样我们以后就可以在这两者上使用RasterExpressionEvaluator。
添加RasterResampler转换到画布并将其连接到参数获取器。在参数中,将大小规格设置为rows columns,然后将列数(单元格)设置为列数,并将行数(单元格)设置为行数。这些属性来自png,在使用rasterPropertyExtractor时被公开。
8)删除NoData后
包含nodata的raster不允许使用rasterexpressionevaluator进行逻辑操作;这会导致翻译失败,所以我们需要删除它们。添加RasterBandNoDataRemover转换到画布并将其连接到rasterresampler。此变压器没有可设置的参数;它将自动删除包含nodata的带区。
将FeatureJoiner连接的输出端口连接到ParameterFetcher,然后连接RasterResampler和RasterBandNodataRemover
9)对DEM进行高程分类
现在数据是干净的,我们可以分类DEM来设置高程带。添加RasterExpressionEvaluator转换到画布并将其连接到rasterbandnodeataremover。在参数中,将dem附加到变压器名称,然后确保模式设置为一个光栅。在“标注栏表达式”下设置以下内容:
解释:单位8
表达式:
如果(a[0]==0,0,a[0]/a:_高度+1)
DEM的栅格表现评估参数
这个方程可以分解为:
如果高程为0,则保留为0
如果高程在1到50之间,请将其设置为1
如果高程在51到100之间,则将其设置为2
如果高程在101到150之间,则将其设置为3,依此类推。
带有分类高程带的栅格表现评估器_dem的输出
10)将PNG分类为灰度背景
我们现在将对PNG进行分类,使其成为灰度图像,但将海洋保持为蓝色,因为它不会用我们的高程区域着色。因为这是一个rgb光栅,方程会更复杂一些。将另一个RasterExpressionEvaluator添加到画布并将其连接到PNG功能类型。在参数中,将png附加到转换器名称,然后确保模式设置为一个光栅。对于标注栏表达式,请设置以下内容:
解释:红色8
表达式:
如果(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,A[2],0.2989*A[0]+0.5870*A[1]+0.1140*A[2])
PNG的RasterExpressionEvaluator参数
这些方程可分解为:
如果red8=153,green8=179,blue8=204,忽略它,海洋就变成蓝色
然后将剩余颜色更改为灰度
输出的RasterExpressionEvaluator_PNG与光栅作为一个灰度除海洋
11)重新分类创建高程区域
最后,我们可以将两个光栅重新分类在一起以创建立面区域。将rasterexpressionevaluator添加到画布,并在参数中将模式设置为两个raster,然后单击“确定”。将rasterexpressionevaluator_png连接到a输入端口,然后将rasterexpressionevaluator_dem连接到rasterbandnodeataremover和b输入端口。在参数中,为标注栏表达式设置以下内容:
解释:红色8
表达式:
if(b[0]<=2,a[0],if(b[0]==3 b[0]==4,a[0]*1.1,if(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,a[1]*1.3,如果(b[0]>=7,a[1]/1.1,a[1]*1.1)))
解释:蓝色8
表达式:
A[2]
用于创建颜色提升区域的RasterExpressionEvaluator参数
这些方程可分解为:
对于DEM区域1和2,增加绿色条带的值(使其更绿)
对于DEM区域3和4,增加红色和绿色条带的值(使其变黄)
对于DEM区域4及以上,增加红色条带的值(使其更红)
12)检查输出
添加检查员转换到第三个rasterexpresionevaluator上的结果输出端口,或写入首选的光栅格式。启用“运行时提示”以设置立面分区高度参数。检查结果,您将看到光栅地图上覆盖的高程分区。
最终输出;各种标高,绿色为最低,红色为最高。
数据属性
本教程中使用的数据源自加拿大政府提供的开放数据。它包含根据开放政府牌照-加拿大。
?2019安全亚搏在线软件公司|合法的