概述 在FME中创建多边形可以通过使用折线或线要素来完成(例如街道网络和AreaBuilder转换器)。由于街道网络是一组拓扑连接的线条,AreaBuilder能够创建多边形要素,从由顶点/端点连接的线并形成形状(即一个闭合多边形)。不过,面也可以使用LineCloser从断开连接的线要素性中创建。 下载create-a-polygon-from-line-segments.fmwt roadsgdb.zip 注意:由于您正在处理面向公众的数据库,因此有时可能会覆盖和/或修改表。如果您的转换产生意外结果,请参阅重置PostGIS培训数据库文章。或者,您可以下载提供的文件,并使用适当格式的读模块替换PostGIS读模块。 练习在本教程中,您将使用AreaBuilder从包含主干,住宅区,私人和非城市街道的街道网络为城市街区创建多边形。 说明1.启动FME Workbench 2.选择“生成工作空间” - 在“开始”页面的“创建工作空间”部分中,选择“生成(工作空间)”选项。或者,您可以使用快捷键Ctrl + G.
有关创建转换的详细信息,请参阅“ 桌面基础课程手册”。 3.设置读模块格式并连接到PostGIS Training Database - 在“生成工作空间”对话框中,将“读模块格式”设置为PostGIS。
- 接下来,从读模块连接列表中选择PostGIS Training Database。如果尚未设置数据库连接,请选择“添加数据库连接”并输入以下参数:
- 接下来,打开读模块参数并从Table List中选择Roads表。
4.设置写模块格式并连接到PostGIS Training Database - 将写模块格式设置为PostGIS,将写模块连接设置为与读模块(PostGIS Training Database)相同的连接,然后单击OK以生成工作空间。“生成工作空间”对话框应如下面提供的屏幕截图:
5.设置要素操作和表处理 - 生成工作空间后,双击“写模块要素类”以打开“写模块要素类参数”对话框。
- 在“常规”部分中,将“表名称”设置为“VanBlocks”。
- 在“表”部分中,确保“要素操作”设置为“插入”并将“表处理”设置为“删除和创建”。
注意:当需要清空表并对数据库模式进行更新时,将使用Drop和Create。例如,drop和create用于删除表结构,可能是添加或删除列,更改数据类型等。有关写模块要素类参数(如表处理)的详细信息,请参阅文档。 6.更新属性 - 切换到写模块参数对话框中的用户属性选项卡,将属性定义设置为Manual并删除除“ type”和“ polyid”之外的所有属性。
- 单击“确定”接受更改并关闭“写模块参数”对话框。
注意:自动属性定义是指Workbench自动定义属性列表,具体取决于所连接的读模块要素类。此外,只要在工作空间中更改(即重命名,删除等)属性,写模块要素类上的属性列表就会自动更新。有关用户属性和属性定义的更多信息,请参阅文档。 7.添加Area Builder - 通过选择读写模块之间的连接并键入“AreaBuilder”以在快速添加搜索中显示FME转换器列表,将AreaBuilder添加到画布。通过双击或使用箭头键选择转换器列表中的AreaBuilder并按回车键将添其加到工作空间中。
- 注意:通过在选择连接时添加转换器,端口将自动映射到第一个可用的输入和输出端口。
8.设置捕捉容差 - 打开AreaBuilder参数,在“多边形参数”部分中,取消选择“创建环”。
- 在关闭参数之前,请调整捕捉预处理参数以确保街道网络在拓扑上是正确的。
- 展开AreaBuilder对话框中的捕捉预处理参数以显示其他参数。将“捕捉类型”设置为“顶点捕捉”,将“捕捉容差”设置为8.有关容差参数的详细信息,请参阅“ 桌面基础课程手册”。
- 将所有其他参数保留为默认值,然后单击“确定”接受更改并关闭“AreaBuilder参数”。AreaBulider参数应与下面提供的屏幕截图相匹配:
注意:捕捉容差以地图单位测量,在本例中为米。 9.创建PolyID - 在AreaBuilder之后添加一个Counter并将其连接到AreaBuilder:Area端口。这将为每个新创建的多边形提供唯一的ID。
10.设置计数输出属性 - 打开Counter参数并将计数输出属性更改为“polyid”。将所有其他参数保留为默认值,然后单击“确定”接受更改并关闭“计数器参数”。
11.运行工作空间 - 单击工具栏上的“运行”按钮,或使用菜单栏上的“运行”>“运行转换”运行工作空间。
运行转换后,您可以通过选择写模块并单击选择写模块时出现的快捷菜单中的“检查”按钮来查看新表。 结果输入输出 转换器- AreaBuilder - 采用一组拓扑连接的线条,并创建拓扑正确的多边形要素,其中线条形成封闭的形状。
- Counter - 向要素添加数字属性并指定值。通过转换器的每个后续要素都会收到递增的值 - 换句话说,计数器正在计算要素。
本文转载来自CSDN作者:fmechina 版权归作者所有 |