【FME-HOW-TO系列】25 多边形中的线

概述

在本练习中,您将使用SpatialFilter设置空间谓词,以确定哪些线要素与多边形要素相交。SpatialFilter会比较两组要素,以查看它们的空间关系是否符合所选的测试条件。正在测试的要素((Candidate要素)被识别为已通过或未通过测试。例如,如果您有道路数据集(线),并且想要提取通过公园(多边形)的所有道路,您可以将道路引导到Candidate输入端口,并将公园引导到Filter 输入端口。


下载

topological-intersection.fmwt

mountpleasantclipboundary.zip

streets.zip

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

练习

在这种情况下,您将线街道要素MountPleasantClipBoundary多边形要素进行合并,并根据空间谓词“Filter Intersect Candidate”连接属性。在这种情况下,Neighborhoods数据集是过滤器,因为您想要提取与MountPleasantClipBoundary相交的所有街道并且合并两个要素的属性。

说明

1.启动FME Workbench

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

2.创建一个新工作空间

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

【FME-HOW-TO系列】25 多边形中的线

3.添加PostGIS 读模块

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

【FME-HOW-TO系列】25 多边形中的线

4.添加Spatial Filter

  • 与添加读模块类似,键入“SpatialFilter”以显示FME转换器列表。双击转换器列表中的SpatialFilter,或者使用箭头键和Enter键将其添加到画布中。

5.连接转换器输入端

  • 将MountPleasantClipBoundary 读模块连接到SpatialFilter:Filter端口。同样,将Streets 读模块连接到SpatialFilter:Candidate端口。您的连接应如下面的屏幕截图所示:

【FME-HOW-TO系列】25 多边形中的线

在这种情况下,您不必修改任何SpatialFilter的参数,因为默认情况下,空间谓词是“Filter Intersects Candidate”,并且已经选择了Merge Attributes。有关SpatialFilter如何工作的更多信息,请参阅SpatialFilter文档

6.添加Inspector

  • 接下来,添加一个Inspector并将其连接到SpatialFilter:Passed端口。

这将在转换运行后显示与FME Data Inspector中的MountPleasantClipBoundary多边形相交的街道

7.添加Esri地理数据库(File Geodb Open API)写模块

  • 与添加读模块类似,键入“Geodatabase”,然后从写模块列表中选择Esri地理数据库(File Geodb Open API)格式。
  • 通过单击数据集省略号,创建新文件夹或使用文件扩展名为.gdb的现有文件夹,然后选择.gdb文件夹(即C:\ Users \ Documents \ MountPleasant \ Streets.gdb)来指定文件地理数据库文件夹。指定文件地理数据库文件夹位置后,将“表定义”设置为“自动”,然后单击“确定”。要了解有关使用Esri地理数据库的更多信息,请参阅“地理数据库入门文。

自动属性定义是指Workbench根据所连接的读模块要素类自动定义属性列表,要了解有关属性定义的更多信息,请参阅关于写模块要素类文档

  • 最后,在写模块参数中设置要素类名称以及在出现的对话框中设置几何对象,然后单击“确定”将地理数据库写模块添加到“画布”。在这种情况下,SpatialFilter将输出多边形要素,因此您应将几何类型设置为:geodb_polygon。
  • 设置要素类名称并指定几何对象后,单击确定将Esri地理数据库写模块添加到画布。
  • 添加写模块后,将其连接到SpatialFilter:Passed port。

8.运行工作空间

  • 单击工具栏上的“运行”按钮,或使用菜单栏上的“运行”>“运行转换”运行工作空间。由于您附加了Inspector,输出将自动显示在FME Data Inspector中。

【FME-HOW-TO系列】25 多边形中的线

结果

输入

【FME-HOW-TO系列】25 多边形中的线

输出

【FME-HOW-TO系列】25 多边形中的线


转换器

  • Inspector - 要素发送到FME Data Inspector以供显示。
  • SpatialFilter - 根据空间关系过滤点,线,面和文本要素