【FME-HOW-TO系列】14 按地理要素更改栅格值

在本教程中,您将学习如何通过将多边形叠加到栅格数据集上来选择区域并更改栅格像元的值。这可以使用MapnikRasterizer,现有栅格数据集以及点,线或多边形要素在FME中轻松完成。


下载

changing-raster-values-by-geographic-feature.fmwt

vancouverland.zip

parksgdb.zip

注意:由于您正在处理面向公众的数据库,因此有时可能会覆盖和/或修改表。如果您的转换产生意外结果,请参阅重置PostGIS培训数据库文章或者,您可以下载提供的文件,并使用适当格式的读模块替换PostGIS读模块

练习

在这种情况下,您将根据公园多边形盖城市像元的区域重新分类栅格像元。这会将波段值从[波段0:0],[波段1:0],[波段2:0],[波段3:255]更改为[波段0:0],[波段1:255],[波段2:0],[波段3:255],其中公园多边形盖VancouverLand数据集中的栅格元。

说明

1.启动FME Workbench

  • 如果尚未打开,请启动FME Workbench。

2.创建一个新工作空间

  • 在“开始”页面的“创建工作空间部分中,选择“创建新工作空间选项。

3.添加PostGIS读模块

  • 在画布上没有选择任何内容的情况下开始键入“PostGIS”,然后通过双击或使用箭头键和Enter键将其添加到画布,从读模块列表中选择PostGIS格式。
  • 接下来,从读模块 Connection列表中选择PostGIS Training Database。如果尚未设置数据库连接,请选择“添加数据库连接”并输入以下参数:
  • 接下来,打开读模块参数并从表列中选择Parks表。

4.添加PostGIS Raster读模块

  • 同样,添加PostGIS Raster
  • 从“读模块连接”列表中选择PostGIS培训数据库。
  • 接下来,打开读模块参数并从表列中选择VancouverLand表。

5.添加MapnikRasterizer

MapnikRasterizer允许您通过将要素划分为称为图层的组,将点,线和/多边形要素转换为新的或现有的栅格。有关更多信息,请参阅MapnikRasterizer文档

  • 选择VancouverLand和Parks 读模块要素类,然后键入“MapnikRasterizer”以显示快速添加搜索中的FME转换器列表。然后通过双击或使用箭头键从转换器列表中选择MapnikRasterizer,按回车键将其添加到画布中,。这将自动将VancouverLand和Parks读模块连接到MapnikRasterizer。

6.设置MapnikRasterizer参数

  • 添加MapnikRasterizer后,双击MapnikRasterizer或单击红色齿轮图标以打开转换器参数对话框。

注意渲染规则中如何列出这两个连接但是,它们被设置为线标识。由于您要按公园多边形对栅格值进行分类,因此需要更改两个渲染规则的标识器。

  • 将VancouverLand渲染规则的Symbolizer更改为栅格并将公园更改为多边形。通常,您希望Symbolizer匹配端口输入到MapnikRasterizer中的要素的几何对象

重要提示:确保渲染规则按照上面的屏幕截图进行排序,否则将在公园像元上创建城市像元。需要首先对城市像元进行分类,然后是公园像元,以便它们出现在输出栅格上。您可以使用“渲染规则”框下方的上移/下移箭头调整渲染规则的顺序。

7.编辑Park像元样式

  • 单击Parks行的Style列中的Edit以修改多边形参数。您可以在此处为栅格输出设置颜色,平滑和合成。在此示例中,您希望park像元为绿色。
  • 单击颜色选择器,然后从基本颜色列表中选择绿色。或者,您可以使用RGB,HSV或HTML值设置颜色。在此示例中,RGB值为红色:0,绿色:255,蓝色:0。设置颜色后单击“确定”。
  • 接下来,在“多边形参数”中,通过单击下拉箭头展开“平滑”部分。
  • 将平滑Gamma设置为0,然后单击“确定”接受“公园多边形参数”。

平滑用于控制输出是否必须遵循布尔或模糊逻辑。平滑Gamma值为1使用模糊逻辑,这对于具有移动或不确定性的区域(例如海岸线)非常有用。或者,平滑Gamma值为0时使用布尔逻辑,当您想要100%确定地对像元进行分类时,该逻辑非常有用。本练习将使用布尔逻辑,因此像元将被分类为城市或公园 - 这将阻止像元被分类为20%公园和80%城市。

模糊逻辑

布尔逻辑

8.设置栅格属性

  • 最后,您必须为我们将要生成的栅格定义像元大小。从“栅格属性”部分的下拉列表中将“尺寸规范”设置为“间距”。

Cell Spacing参数指定输出栅格像元的宽度,以地面单位计量。注意:较小的像元提供更高的分辨率,但是,在查看大范围时,它们通常需要更长的时间才能加载(即像元间距为1比为5将需要更长的时间来加载,而且文件大小也很大)。

  • 将Cell Spacing设置为1。
  • 最后,展开“背景”部分并将“颜色Alpha值”设置为0.这将有效地删除背景像元,因为在本练习中您只对为城市或公园区域创建栅格像元感兴趣。有关添加Alpha波段以删除像元的更多信息,请参阅设置NoData和添加Alpha波段以删除黑色边框文章。

9.添加一个Inspector

  • 接下来,添加一个Inspector并将其连接到MapnikRasterizer:Raster输出端口。这将在转换运行后自动打开FME Data Inspector中的栅格数据集。

10.添加GeoTIFF写模块

  • 与添加读模块类似,键入“GeoTIFF”,然后从写模块列表中选择GeoTIFF格式。
  • 单击数据集省略号并导航到要保存GeoTIFF文件的文件夹,例如C:\ Users \ Documents \ MyFMEWorkspaces \ Export。
  • 将栅格文件定义设置为自动,以确保将属性从数据库传输到GeoTIFF。单击“确定”以打开写模块参数对话框。

自动属性定义是指Workbench自动定义属性列表,具体取决于所连接的读模块要素类,有关详细信息,请参阅关于写模块要素类:用户属性文档。

  • 在“写模块参数”对话框中,将“栅格文件名”设置为VancouverReclass,然后单击“确定”将写模块添加到画布。
  • 最后,将GeoTIFF写模块连接到MapnikRasterizer:Raster端口。

11.运行工作空间

  • 单击工具栏上的“运行”按钮,或使用菜单栏上的“运行”>“运行转换”运行工作空间

运行转换后,输出将显示在FME Data Inspector中。请注意,公园像元已使用栅格波段(波段0-3)进行分类,城市区域为黑色。

结果

输入

输出


转换器

  • Inspector - 要素发送到FME Data Inspector以供显示。
  • MapnikRasterizer - 使用Mapnik工具包将输入点,线,多边形和栅格要素绘制到一个栅格上

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值