西班牙
斯潘4
无效几何类型是指几何类型对于它所表示的要素类无效;例如,自行车路径由点几何图形表示,或河流由多边形几何图形表示(如下所示):
这种几何图形是否真的无效,既取决于用户对数据的解释,也取决于任何特殊情况。例如,数据的比例可能是这样的,河岸的两边都被捕获(如上所述),因此多边形是完全合法的几何类型。
无效几何类型还包括组织可能具有的任何特殊规则,以允许通常无效的情况。例如,映射组织可以命令街道照明柱不由其核心位置的点特征存储,而是存储为表示可接受照明级别范围的多边形(如下所示):
一般来说,fme可以使用土工过滤器在某些情况下,可以使用土工机械是的。
注:在这里,无效的几何类型表示组织规则无效。这并不意味着几何图形对格式本身无效。
本例的源数据集是(假定的)一组表示等高线的线(在gml数据集中)。
在fme数据检查器中,数据集如下所示:
这里的场景是,我们有许多等高线文件,希望使用此单个文件作为原型来设置错误几何体类型的检查。如您所见,形成闭合形状的轮廓被创建为多边形特征。此外,不仅有等高线,而且还有高程点和谁知道其他类型的几何体。这些功能需要过滤或固定使用FME。
按照以下步骤学习如何识别具有无效几何类型的轮廓特征。
1.启动fme workbench并从一个空画布开始。
从菜单栏中选择读卡器>添加读卡器。在打开的对话框中,将数据格式设置为GML(地理标记语言)。选择附加的gml文件作为源数据集。
单击“确定”关闭对话框并添加读取器。
2.在GML读取器功能类型之后添加geometryFilter转换器:
三。打开geometryFilter参数对话框。在这里,我们可以定义要过滤的几何体类型。我们应该选择“线”,因为轮廓本质上是线特征。我们还应该选择“区域”,因为我们知道区域特征的存在,并且它们可以被固定。
单击“确定”并再次单击“确定”以关闭对话框。工作区现在如下所示:
任何不是直线或区域的几何图形都将被“未过滤”。
四。将检查器变压器连接到每个输出端口并运行工作区。非直线特征将被过滤到不同的图层上,显示如何单独处理它们。
计算坏特性的数量非常容易,因为我们已经过滤掉了它们。例如,甚至工作台特性计数也向我们展示了40个未过滤的特性。
使用StatisticsCalculator转换器创建存储在属性中的计数很简单。
5个。在geometryFilter:unfiltered端口与其检查器转换器之间添加统计计算器。打开“参数”对话框。
第一次选择高程作为要分析的属性。事实上,我们选择哪一个属性并不重要,因为我们只需要一些特性。
从CalculateAttributes字段中删除所有值,然后在Total Count字段下添加“BadFeatures”。这将提供一个坏功能的计数。单击“确定”关闭对话框。
重新运行工作区。这次输出应该包含一个属性,该属性指示有多少坏特性。
注:如果将StatisticsCalculator:Summary输出端口连接到检查器,则只有一个输出功能。要获取所有输出功能,请确保连接了完整的端口。
可以使用geometrycoercer在fme中更改几何体类型。我们已经过滤掉了点特征(以及任何其他几何类型),因为没有简单的方法可以将它们转换为线特征。但是,区域特征可以很容易地从多边形更改为闭合线。
6.添加连接到geometryFilter:Area输出端口的geometryCollecer转换器:
确保连接如图所示-强制特征将轮廓连接到单个检查器变压器中。
第七章。打开geometrycoercer的“参数”对话框。将几何类型设置为输出为“fme_line”。
单击“确定”关闭对话框并重新运行工作区。结果是一组干净的轮廓,没有无效的几何类型:
下面是修复无效几何类型的其他技术。
1:当几何图形应该是一个岛(或甜甜圈)但“洞”被填充时(如下所示):
…那么donutbuilder转换器将是最好的解决方案。
2:几何图形应该是直线,但是是一个区域(如逐步示例中所示),结果应该是一个网络(如这些道路特征)。
…然后geometrycoercer将区域更改为一条线,但它不会在节点处拆分它。这就需要增加一个交叉变压器。
三。geometrycoercer可以将单个闭合线转换为多边形功能,但它不会从一组单独的线构建多边形。那需要AreaBuilder变压器。
这里使用的数据来源于不列颠哥伦比亚省温哥华市提供的公开数据(data.vancover.ca.温哥华)中。它包含根据开放的政府许可证-温哥华许可的信息。
?2019安全亚搏在线软件公司|合法的