西班牙
斯潘4
当几何图形中有一个或多个顶点在要素中多次出现时,会出现重复顶点(重复点)。重复的顶点是具有相同x、y和z坐标值的顶点,与数据中存在的小数点一样多。
重复的顶点不仅是低质量数据的标志,它们还可能是一个数据格式问题。某些格式允许重复顶点(例如,MicroStation DGN允许零长度的线),而其他格式禁止重复顶点(例如Oracle Spatial)。
重复顶点可能按顺序出现在几何体中(例如,A、B、C、C、D、E),也可能按顺序出现(A、B、C、D、C、E)。它可能只重复一次(A、B、C、C、D),也可能重复多次(A、B、C、C、C、D、C、E、C)。
当然,有时重复的顶点是有效的;例如,一个多边形的起点和终点如果要正确闭合(a、b、c、d、e、a),则应该是相同的,有时一个线性特征应该环绕并重新连接中点(a、b、c、d、e、c);因此,仅凭这一点来识别无效特征并不总是容易的。
有各种各样的fme变换器可以用来识别重复的顶点,但是一些变换器或变换器的组合将比其他的更有效。
通常,使用geometryvalidator的频率更高,因为连续的重复顶点是一个更明显的问题。
然而,坐标抽取器更适合于检测出序列外出现的重复顶点,以便进行进一步的研究。
此示例使用geometryValidator转换器标识连续重复点。第二个示例使用closedCurveFilter和coordinateExtractor的组合来标识未排序的重复点。
源数据是MicroStation设计文件,包含表示建筑轮廓的线要素:
我们希望在数据投入生产使用之前对其进行验证和清理。
按照以下步骤学习如何使用geometryValidator转换器定位连续的重复顶点。
一。启动fme workbench并从一个空画布开始。从菜单栏中选择读卡器>添加读卡器。将数据格式设置为Bentley Microstation Design(V8)。选择附加的MicroStation数据集作为源。如果单击“参数”按钮,您将发现有一个高级参数可删除重复点:
确保此参数已关闭,因为我们要标识重复顶点的位置和数量。所以只需单击ok添加阅读器。如果出现提示,请选择BuildingFootprints级别作为要读取的数据。
2.单击画布上的读卡器功能类型。在弹出的菜单上,选择Inspect选项以在Data Inspector中查看数据。检查数据。这些数据乍一看是正确的,而且很难确定哪里可能有重复的顶点。
三。回到fme工作台,添加一个geometryvalidator转换器连接到读卡器功能类型。检查参数对话框:
在“重复连续点”选项旁边打上复选标记。您可以(可选)检查此问题的参数。唯一的参数是处理三维点,在这种情况下不适用。
在对话框的下部,关闭修复问题的选项:
尽管重复点是可以修复的,但现在,我们只需检查它们在哪里。
四。将检查器变压器附加到每个GeometryValidator输出端口并运行工作区。检查输出,根据随机颜色生成,您可能必须对geometryValidator_failed功能上色以区分结果:
请注意,有两个要素被标记为无效,并且重复的点高亮显示。
计算无效功能和坏点的数量非常容易,因为我们已经过滤掉了它们。例如,甚至工作台功能计数也向我们显示了所涉及的数字:
使用StatisticsCalculator转换器创建存储在属性中的计数很简单。
按照以下步骤学习如何计算重复顶点特征。
5个。在geometryValidator:失败端口与其检查器转换器之间添加统计计算器。还可以在geometryValidator:issueLocations端口与其检查器转换器之间添加统计计算器。
对于这两个统计计算器,选择任意属性作为要分析的属性。事实上,我们选择哪一个属性并不重要,因为我们只需要一些特性。
从“计算属性”字段中删除所有值。对于第一个StatisticsCalculator,在Total Count字段下添加“badFeatures”以提供坏特性的计数。对于第二个StatisticsCalculator,在Total Count字段下添加“DuplicateVertices”以提供重复特征的计数。
重新运行工作区。这次输出应该包含一个属性,该属性指示每种类型有多少坏特性。
注:如果将StatisticsCalculator:Summary输出端口连接到检查器,则只有一个输出特性。要获得所有输出特性,请确保连接了完整的端口。
通过删除重复的一个,很容易修复无效的重复顶点。几何校准仪可以选择这样做。
6.打开“GeometryValidator参数”对话框并将“尝试修复”参数更改为“是”。重新运行工作区。当然,这次不会有失败的特征,但是问题的位置仍然会被输出,以显示重复点存在的位置。
这里使用的数据来源于不列颠哥伦比亚省温哥华市提供的公开数据(data.vancouver.ca)它包含根据开放的政府许可证-温哥华许可的信息。
?2019安全亚搏在线软件公司|合法的