概述 使用FME中的区域掩码提取数据需要使用栅格和矢量数据集以及Clipper转换器。在本教程中,您将在多边形要素中选择栅格数据; 但是,可以轻松修改本教程以在搜索框中选择矢量要素。 下载select-data-by-area-mask.fmwt dem-full.zip landboundarygdb.zip 注意:由于您正在处理面向公众的数据库,因此有时可能会覆盖和/或修改表。如果您的转换产生意外结果,请参阅重置PostGIS培训数据库文章。或者,您可以下载提供的文件,并使用适当格式的读模块替换PostGIS读模块。 练习在这个场景中,您感兴趣的是基于多边形要素将现有DEM的范围裁剪到您的城市边界。本练习将使用市政陆地边界作为搜索框; 但是,您也可以使用多个多边形要素。 说明1.启动FME Workbench 2.创建一个新工作空间 - 在“开始”页面的“创建工作空间”部分中,选择“创建新工作空间”选项。

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

4.添加加拿大数字高程数据(CDED)读模块 - 在画布上没有选择任何内容的情况下开始键入“CDED”以显示快速添加搜索中的FME转换器列表。然后通过双击或使用箭头键从读模块列表中选择加拿大数字高程数据格式,然后按回车键将其添加到画布。
- 单击数据集省略号并导航到DEM-FULL.dem(可以在提供的示例数据的ElevationModel文件夹中找到)。选择后,单击“打开”,然后单击“确定”将读模块添加到画布。
5.重投影数据 在这种情况下,提供的数据集不共享相同的坐标系(一个目前在LL83中,另一个在UTM83-10中)。因此,如果不将DEM重新投影到线型坐标系,则无法继续。有关FME中坐标系的更多信息,请参阅FME中的使用坐标系统文章。 - 要将“Reprojector转换器”添加到画布,通过键入“Reprojector”以显示“快速添加搜索”中的FME转换器列表。通过双击或使用箭头键从转换器列表中选择Reprojector,然后按回车键将其添加到画布。
- 添加转换器后,将CDED读模块连接到Reprojector。
6.设置目标坐标系 - 完成Reprojector连接后,双击Reprojector或单击齿轮图标以打开转换器参数对话框。
- 请注意,将自动从该要素中读取源坐标系。在此场景中,唯一需要更改的参数是目标坐标系。
- 通过在文本框中键入“UTM83-10”或从下拉列表中选择“更多坐标系”,将目标坐标系设置为UTM83-10。

有关坐标系转换的更多技巧,请参阅“ 桌面基础课程手册”。 7.添加一个Clipper 在FME中,Clipper执行类似于饼干切割器的几何裁剪操作。考虑到这一点,您将裁剪掉VancouverLandBoundary多边形之外的区域,因为您只对温哥华地区的DEM感兴趣。有关Clipper如何工作的更详细说明,请参阅使用Clipper转换器示例的文章。 - 将VancouverLandBoundary读模块连接到Clipper端口。
- 接下来,将Reprojector:Reprojected端口连接到Clipee端口。
8.添加一个Inspector Clipper:Inside端口将输出完全位于Clipper内的Clippee要素,以及与Clipper相交的Clippee要素,这些要素被分成几部分。相反,Clipper:Outside端口将输出完全在Clipper之外的Clippee要素。您可以了解更多技术细节,请参阅Clipper文档。 - 由于您只对裁剪边界内的区域感兴趣,因此添加一个Inspector并将其连接到Clipper:Inside端口。运行成功的转换后,这也将自动打开FME Data Inspector中的输出
9.添加PostGIS Raster写模块 - 与添加读模块类似,键入“PostGIS Raster”,然后从写模块列表中选择PostGIS Raster格式。
- 将写模块连接设置为PostGIS Training Database(与步骤3中列出的连接相同)并将表定义设置为自动,然后单击OK将写模块添加到画布和参数。
自动属性定义是指当Workbench自动定义属性列表时,具体取决于所连接的读模块要素类。此外,只要在工作空间中更改(即重命名,删除等)属性,写模块要素类上的属性列表就会自动更新。有关用户属性和属性定义的更多信息,请参阅文档。 - 添加写模块要素类后,将打开写模块参数对话框。默认情况下,该表将放在“公共”模式中。
- 在“常规”部分中,将“表名称”设置为“VanDEMClip”。
- 在“表”部分中,确保将“要素操作”设置为“插入”并将“表处理”设置为“删除并创建”,然后单击“确定”。
- 一旦PostGIS写模块出现在画布上,将其连接到Clipper:Inside端口即可完成工作空间。

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

运行工作空间后,输出将在FME Data Inspector中打开 - 您将查看温哥华地区的数字高程模型。 结果输入
 输出
转换器本文转载来自CSDN作者:fmechina 版权归作者所有 |