免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 1838|回复: 8
收起左侧

【FME-HOW-TO系列】22 多边形与多边形的叠加

[复制链接]

665

主题

2万

铜板

34

好友

传奇会员

Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

积分
20649

精华勋章爱心勋章地信专家组贡献勋章冰雪节勋章

发表于 2021-4-30 14:19 | 显示全部楼层 |阅读模式

在本练习中,您将学习如何使用AreaOnAreaOverlayer在重叠的面要素之间执行并集。AreaOnAreaOverlayer通常用于三个主要操作:(1)解构重叠多边形以产生交叉和差异,(2)比较区域重叠的多个数据集,以及(3)基于重叠面数据的面积计算。




下载

polygon-in-polygon-overlay.fmwt

historiczones.zip

neighborhoodsgdb.zip

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

练习

在此方案中,您将基于重叠的历史区域和街区多边形执行面积计算。这将允许您识别哪个历史区域属于每个街区以及每个历史区域的总面积。

说明

1.启动FME Workbench

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

2.创建一个新工作空间

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

3.添加PostGIS读模块

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

4.添加AreaOnAreaOverlayer转换器

  • 选择“Neighborhoods”和“HistoricZones读模块要素类,然后键入“AreaOnAreaOverlayer”,然后从“快速添加搜索”中的“转换器列表中选择“AreaOnAreaOverlayer”。这将自动建立从Neighborhood和HistoricZones读模块到AreaOnAreaOverlayer的连接。Neighborhoods和HistoricZones读模块要素类应连接到AreaOnAreaOverlayer:Area端口。

5.设置属性聚合模式

AreaOnAreaOverlayer转换器将对相交的多边形执行面对面压盖 - 所有多边形彼此相对,并且在它们重叠的位置,创建新多边形,表示重叠区域和删除重叠的原始区域。有关AreaOnAreaOverlayer的更多技术详细信息,请参阅文档

  • 添加AreaOnAreaOverlayer后,双击AreaOnAreaOverlayer或单击齿轮图标以打开转换器参数。
  • 将Attribute Accumulation Mode设置为Merge Incoming Attributes(合并进入的属性)。这将允许您连接要素重叠的HistoricZones和Neighborhood多边形两者的属性。

6.计算每个多边形的面积

  • 在AreaOnAreaOverlayer之后添加AreaCalculator - 这将自动计算由AreaOnAreaOverlayer创建的每个多边形的面积。
  • 将AreaCalculator连接到AreaOnAreaOverlayer:Area端口。

注意:面积以方形图单位计算。有关面积计算的更深入的教程,请参阅Area Measurements with the AreaCalculator文。

7.添加Inspector

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

8.添加GeoJSON写模块

  • 与添加读模块类似,键入“GeoJSON”,然后从写模块列表中选择GeoJSON格式。
  • 单击数据集省略号以指定保存数据的位置并命名文件:HistoricAreas(例如,C:\ Users \ Documents \ FME \ HistoricAreas \ HistoricAreas.json)
  • 将“图层定义”设置为“自动”以确保将创建或重命名的所有属性都写入GeoJSON文件。
  • 将GeoJSON写模块连接到AreaOnAreaOverlayer:Output端口。

9.运行工作空间

  • 单击工具栏上的“运行”按钮,或使用菜单栏上的“运行”>“运行转换”运行工作空间。由于您将Inspector连接到最终的转换器,因此输出数据集将自动在FME Data Inspector中打开。

结果输入

输出




转换器
  • AreaCalculator - 计算多边形对象的面积并将值存储在属性中。
  • AreaOnAreaOverlayer - 执行面对面压盖(多边形相交),以便所有输入相互交叉,并创建和输出合成面要素。
  • Inspector - 要素发送到FME Data Inspector以供显示。


本文转载来自CSDN作者:fmechina   版权归作者所有

10

主题

2万

铜板

34

好友

黄金会员

Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23

积分
4394

精华勋章灌水勋章活跃勋章贡献勋章

发表于 2021-4-30 14:57 | 显示全部楼层
谢谢分享
回复

使用道具 举报

头像被屏蔽

141

主题

980万

铜板

3万

好友

管理员

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
627184
发表于 2021-4-30 15:28 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

1

主题

5127

铜板

4

好友

工程师

Rank: 7Rank: 7Rank: 7

积分
462
发表于 2021-5-1 20:55 | 显示全部楼层
学习学习
回复

使用道具 举报

1

主题

3781

铜板

4

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
788
发表于 2021-5-2 09:40 | 显示全部楼层
谢谢分享  学习学习  
回复 支持 反对

使用道具 举报

0

主题

3万

铜板

10

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
6105
发表于 2021-12-12 12:54 | 显示全部楼层
谢谢分享
回复

使用道具 举报

0

主题

3万

铜板

10

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
6105
发表于 2021-12-12 12:54 | 显示全部楼层
谢谢分享
回复

使用道具 举报

0

主题

1047

铜板

4

好友

助理工程师

Rank: 5Rank: 5

积分
399
发表于 2022-8-12 16:53 | 显示全部楼层
谢谢分享
回复

使用道具 举报

23

主题

6万

铜板

60

好友

传奇会员

Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

积分
137778
发表于 2022-9-17 10:25 | 显示全部楼层
谢谢分享
你好,向微博中朋友问好。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表