【FME-HOW-TO系列】12 从矢量转换为栅格

在本教程中,您将学习如何使用MapnikRasterizer将矢量多边形要素转换为栅格数据,尽管此方法也适用于其他几何对象(例如点和线)。有关如何使用MapnikRasterizer转换器的更详细介绍,请参阅MapnikRasterizer简介文章。


下载

vector-to-raster.fmwt

neighborhoodsgdb.zip

parksgdb.zip

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

练习

本练习下,您要创建一个分类为陆地和公园区域的栅格地图。使用PostGIS培训数据库中的街区和公园多边形要素,您将创建一个栅格数据集,其区域按RGB值分类(绿色表示公园,黑色表示城市)。

说明

1.启动FME Workbench

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

2.创建一个新工作空间

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

【FME-HOW-TO系列】12 从矢量转换为栅格_第1张图片

3.添加PostGIS 读模块

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

【FME-HOW-TO系列】12 从矢量转换为栅格_第2张图片

4.添加MapnikRasterizer

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

  • 选择Neighborhoods和VancouverLandBoundary读模块然后键入“Mapnik”以显示快速添加搜索中的FME转换器列表。通过双击或使用箭头键和Enter键将转换器列表中的MapnikRasterizer添加到工作空间

【FME-HOW-TO系列】12 从矢量转换为栅格_第3张图片

5.设置MapnikRasterizer参数

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

请注意,渲染规则(Rendering Rules)中列出了两个连接; 但是,它们被设置为线标识

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

【FME-HOW-TO系列】12 从矢量转换为栅格_第4张图片

6.分类Neighborhood像元

  • 单击“街区行的“样式”列中的“编辑”以修改多边形参数。您可以在此处设置栅格输出的颜色,平滑和合成。在此示例中,您希望来自街区多边形的城市像元为黑色,而公园多边形中的公园像元为绿色。
  • 单击颜色选择器,然后从基本颜色列表中选择黑色。或者,您可以使用RGB,HSV或HTML值设置颜色。在此示例中,RGB值为红色:0,绿色:0,蓝色:0。设置颜色后单击“确定”。
  • 接下来,在“多边形参数”中,通过单击下拉箭头展开“平滑”部分。平滑用于控制输出是遵循布尔值还是模糊逻辑。
  • 将平滑Gamma设置为0,然后单击“确定”接受“街区多边形参数”。

【FME-HOW-TO系列】12 从矢量转换为栅格_第5张图片

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

模糊逻辑

【FME-HOW-TO系列】12 从矢量转换为栅格_第6张图片

布尔逻辑

【FME-HOW-TO系列】12 从矢量转换为栅格_第7张图片

7.对公园像元进行分类

接下来,您将对公园像元进行分类。与分类城市像元类似,通过单击“公园”行中的“编辑”修改“多边形参数”。

  • 单击颜色选择器将颜色设置为绿色。或者,您可以在颜色文本框中键入“0,1,0” - 这将为您提供红色的RGB值:0,绿色255,蓝色:0。
  • 再次,展开“平滑”部分并将“平滑伽玛”设置为0。

【FME-HOW-TO系列】12 从矢量转换为栅格_第8张图片

8.设置栅格属性

  • 最后,您必须为我们将要生成的栅格定义像元大小。从“栅格属性”部分的下拉列表中将“尺寸规范”设置为“间距”。
    Cell Spacing参数指定输出栅格
    像元的宽度,以地面单位测量注意:较小的像元提供更高的分辨率,但是,在查看大范围时,它们通常需要更长的时间才能加载(即像元间距为1比为5需要更长的时间来加载而且文件大小也很大)。
  • 将Cell Spacing设置为1。
  • 最后,展开“背景”部分并将“颜色Alpha值”设置为0。

这将有效地删除背景像元,因为您只想在本练习中为城市或公园区域创建栅格像元。有关更多信息,请参阅设置NoData和添加Alpha波段以删除黑色边界文。

【FME-HOW-TO系列】12 从矢量转换为栅格_第9张图片

9.添加一个Inspector

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

10.添加ER Mapper ECW写模块

  • 与添加读模块类似,键入“ECW”,然后从写模块列表中选择ER Mapper ECW格式。
  • 通过单击“数据集”省略号为ECW文件指定文件夹。指定文件夹位置后,将“表定义”设置为“自动”,然后单击“确定”。
  • 接下来,在“要素类参数”对话框中设置“栅格文件名”,然后单击“确定”将ECW写模块添加到画布。
  • 最后,将ECW连接到MapnikRasterizer:Raster端口。

11.运行工作空间

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

【FME-HOW-TO系列】12 从矢量转换为栅格_第10张图片

如果您收到意外结果,则可能需要重置您读入的PostGIS表。有关详细信息,请参阅重置PostGIS培训数据库一文。

结果

输入

【FME-HOW-TO系列】12 从矢量转换为栅格_第11张图片

输出

【FME-HOW-TO系列】12 从矢量转换为栅格_第12张图片


转换器

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

 

你可能感兴趣的:(FME,HOW,TO)