第8页
第4排
也许最著名的GIS操作是识别一个点对象是位于给定多边形的内部还是外部。这叫A多边形中的点操作。
例如,一个用户可能有一个代表待售建筑的点的数据集。用户还拥有表示规划限制的多边形数据集,比如保护区,防烟区域,或限制性契约(关于如何开发土地的协议)。通过在多边形中执行点操作,他们可以确定哪些限制(如果有)适用于特定属性。
FME有几个变压器可以执行此功能,但最常用的是PointOnAreaOverlayer。
本例有三个源数据集:一个AutoCAD DWG格式的地块边界矢量线数据集;矢量点数据集(在esri shapefile中)表示城市拥有的属性;以及代表公共艺术作品的非空间数据集(带有经度和纬度列的Excel电子表格)。
在FME数据检查器中,它们看起来像这样(上面,特性;下面,艺术品):
这个例子的场景是,我们希望找出哪个艺术品位于哪个城市的财产上。工作区会将特性线条转换为多边形,并将非空间艺术品分为点特征。多边形操作中的一个点将标识哪些属性多边形属于城市,多边形运算的第二个点将确定哪些城市属性包含公共艺术作品。
最后一个操作是将数据写入HTML报告。这稍微复杂一点,因为在一个房产上可能有多件艺术品,并且有几种管理方式。
1.启动FME工作台,从一个空画布开始。从菜单栏中选择“读卡器>添加读卡器”。
将数据格式设置为esri shapefile。选择附加的数据集作为源。这将读取标识城市属性的shapefile数据集。
2.第二步。再次从菜单栏中选择“读卡器>添加读卡器”。这一次,将格式设置为autodesk autocad dwg/dxf,并选择附着的dwg数据集作为源。单击“确定”之前,打开参数对话框,将分组实体设置为“属性模式”。
这将读取定义属性边界的AutoCAD数据集。
三。添加一个区域生成器转换器,并将AutoCAD Parcellines功能类型连接到其输入端口。这会将属性边界从线条转换为多边形。
第四章。添加一个PointOnAreaOverlayer变压器。将CityProperties功能类型连接到其点输入端口,并将AreaBuilder:区域输出端口连接到其区域输入端口:
这将把属性从点特征复制到多边形特征上,有重叠的地方。为了评估是否发生了这种重叠,我们需要检查发生了多少重叠。
5.将测试仪转换器添加到工作区。将其连接到PointOnAreaOverlayer:区域端口:
打开参数对话框。设置要测试重叠大于或等于1的条件:
这将测试属性边界区域特征,并过滤掉重叠点特征的特征(因此是城市拥有的属性)。
6.再次从菜单栏中选择“读卡器>添加读卡器”。这次将格式设置为Microsoft Excel,并选择附加的XLSX数据集作为源。
单击“确定”之前,打开“参数”对话框并检查预览。您应该看到这个数据集中有几个表,每个都包括一个经度和纬度列,fme将其标识为x和y坐标:
回到“添加读卡器”主对话框,选择工作流选项“单一合亚搏在线并功能类型”。这将确保工作区中的所有工作表都由单个对象表示。
第七章。向画布中添加一个转发器,并将其连接到新添加的Excel功能类型(标记为
这是必要的,因为Excel值是十进制的,其余数据在UTM83-10坐标系中。打开“重新投影参数”对话框,将其设置为从LL83重新投影到UTM83-10:
8.现在添加第二个PointOnAreaOverlayer。连接重新喷射器:重新喷射到点输入端口,测试仪:传递到区域输入端口:
前一个PointOnAreaOverlayer是一个重叠,结果只有一个:属性要么属于城市,要么不属于城市。然而,第二个PointOnAreaOverlayer可以有多个结果,因为一个网站上可能有多个艺术品。
因此,打开第二个PointOnAreaOverlayer的参数对话框。在“属性累积”下,选中标记为“生成列表”的框,然后输入列表名称,如“artlist”:
这将导致特定属性的艺术品保存为名为artlist的FME列表属性。
9.添加第二个测试仪变压器(或复制第一个),并将其连接到第二个PointOnRealOverlayer的区域端口。再次将其设置为再次测试重叠是否大于或等于1。
将Inspector Transformer连接到此测试仪的已传递输出端口并运行工作区。
结果将是一组42个多边形,每件作品都包含公共艺术,并附有这些艺术作品的清单:
10.FME“列表”是一种对单个属性具有多个值的方法。不幸的是,这不是许多格式本机支持的结构。因此,我们需要以某种方式处理这些值。
添加一个连接到第二个测试仪的已通过端口的ListExplorer变压器。打开“参数”对话框,在“列表属性”参数下选择“artlist”(或步骤8中调用的列表)。
这是处理列表的一种方法。它从一个具有多个值的特征中“分解”它,多个功能,每个功能都有一个值。
11.添加一个连接到listExplorer:elements端口的htmlreportGenerator转换器:
打开参数对话框。我们将创建一个报告,其中每个属性都显示一个属于它的艺术品列表。
首先将group by参数设置为“property”。这将为每个属性创建一个单独的报告。
其次,在页面内容下,默认内容是条形图。将其更改为“标题”,并在“文本”下的“内容设置”中单击下拉箭头并选择“地址”属性。将Header Level参数设置为H3。
现在-在标题下面-添加“list”类型的新页面内容。对于设置,选择列表项内容下的标题属性。
单击“确定”关闭对话框。
12.最后从菜单栏中选择“编写器>添加编写器”。将格式设置为HTML并指定要写入的文件。单击“确定”添加编写器并将其功能类型连接到HTMLGenerator的输出端口:
13.重新运行工作区。找到已写入的HTML文件并在Web浏览器中打开它。你会发现它会显示一个属性列表,每一件都有自己的艺术品清单:
?2019安全亚搏在线软件公司|法律