西班牙
斯潘4
也许最著名的gis操作是识别点对象是位于给定多边形的内部还是外部。这叫做多边形中的点操作。
例如,用户可能有一个点的数据集,表示要出售的建筑物。用户还拥有表示规划限制的多边形数据集,例如保护区、烟雾控制区或限制性契约(关于如何开发土地的协议)。通过执行多边形中的点操作,可以确定哪些限制(如果有的话)适用于特定属性。
fme有几个执行此功能的变压器,但最常用的变压器是pointonareaoverlayer。
本例有三个源数据集:autocad dwg格式的地块边界矢量线数据集;一个矢量点数据集(在esri shapefile中),表示城市拥有的财产;以及表示公共艺术品的非空间数据集(包含纬度和经度列的excel电子表格)。
在fme数据检查器中,它们看起来是这样的(上面是properties;以下是艺术品:
本例的场景是,我们希望找出哪些艺术品位于哪个城市的属性上。工作区将特性线条转换为多边形,而非空间图形转换为点要素。多边形中的点操作将标识哪些属性多边形属于城市,多边形操作中的第二个点将标识哪些城市属性包含公共艺术品。
最后一个操作是将数据写入html报表。这有点复杂,因为一个房产上可能有不止一件艺术品,有几种管理方法。
一。启动fme workbench并从一个空画布开始。从菜单栏中选择读卡器>添加读卡器。
将数据格式设置为esri shapefile。选择附加的数据集作为源。这将读取标识城市属性的shapefile数据集。
2.再次从菜单栏中选择读卡器>添加读卡器。这次将格式设置为autodesk autocad dwg/dxf,并选择附着的dwg数据集作为源。单击“确定”之前,打开“参数”对话框并将“分组实体”设置为“属性架构”。
这将读取定义特性边界的autocad数据集。
三。添加一个AreaBuilder转换器,并将autocad Parcellines要素类型连接到其输入端口。这将把属性边界从直线转换为多边形。
4.添加一个点区域覆盖层变压器。将CityProperties特性类型连接到它的点输入端口,将AreaBuilder:Area输出端口连接到它的Area输入端口:
这将把属性从点特征复制到有重叠的多边形特征上。为了评估是否发生了重叠,我们需要检查发生了多少重叠。
5.将测试人员转换器添加到工作空间中。连接到PointOnAreaOverlayer:Area port:
打开参数对话框。设置一个条件来测试_overlaps是否大于等于1:
这将测试属性边界区域特性,并过滤掉与点特性重叠的区域(因此是城市所有的属性)。
6.再次选择Reader >,从菜单栏中添加Reader。这次将格式设置为Microsoft Excel,并选择附带的xlsx数据集作为源。
在单击OK之前,打开parameters对话框并检查预览。您应该看到在这个数据集中有几个工作表,每个工作表都包含一个经度和纬度列,FME将其标识为X和Y坐标:
回到主添加阅读器对话框,选择工作流选项“单一合并功能类型”。亚搏在线这将确保所有工作表都由工作区中的单个对象表示。
7.添加一个投影仪变压器到画布,并连接到新添加的Excel功能类型(标记
这是必要的,因为Excel的值是十进制的,而其余的数据是在UTM83-10坐标系中。打开re幻灯机参数对话框,将其设置为从LL83重新投影到UTM83-10:
8.现在添加第二个点覆盖层。连接投影仪:重新投影到点输入端口,测试仪:传送到区域输入端口:
之前的PointOnAreaOverlayer是一个只有一个结果的重叠:一个属性要么属于城市,要么不属于城市。然而,第二个PointOnAreaOverlayer可以有多个结果,因为在一个站点上可能有多个艺术品。
因此,打开第二个PointOnAreaOverlayer的参数对话框。在属性累积项下,勾选“生成列表”,并输入一个列表名称,如“ArtList”:
这将导致一个特定属性的艺术品被保存为一个名为ArtList的FME列表属性。
9.添加第二个测试变压器(或复制第一个),并将其连接到第二个PointOnAreaOverlayer的区域端口。再次将其设置为再次测试_overlaps是否大于或等于1。
将检查器转换器连接到这个测试人员传递的输出端口,并运行工作区。
结果将是一组42个多边形,每个多边形都包含公共艺术,并有一个艺术作品列表:
10.FME“列表”是一种为单个属性提供多个值的方法。不幸的是,许多格式本身并不支持这种结构。因此,我们需要以某种方式处理这些值。
添加一个连接到第二个测试器的通过端口的列表爆炸变压器。打开parameters对话框,在列表属性参数下选择“ArtList”(或步骤8中您所称的列表)。
这是处理列表的一种方法。它从一个具有多个值的特性“爆炸”到多个具有一个值的特性。
11.添加一个HTMLReportGenerator变压器连接到list爆炸:元素端口:
打开参数对话框。我们将创建一个报告,其中每个属性都显示一个属于它的艺术品列表。
首先将group-by参数设置为“Property”。这将为每个属性创建一个单独的报告。
其次,在页面内容下,默认的内容是柱状图。将其更改为Header,在“文本”下的“内容设置”中单击下拉箭头并选择“地址”属性。将Header Level参数设置为H3。
现在-在标题下面-添加一个类型为“List”的新页面内容。对于设置,请选择列表项内容下的Title属性。
单击OK关闭对话框。
12.最后从菜单栏中选择Writer >添加Writer。将格式设置为HTML并指定要写入的文件。单击OK添加写入器并将其特性类型连接到HTMLGenerator的输出端口:
13.重新运行工作区。找到已写入的HTML文件并在web浏览器中打开它。你会发现它显示了一个属性列表,每个都有自己的艺术品列表:
?2019安全亚搏在线软件公司|法律