嗨
我为蒙特利尔市做了一件事,看起来就像你想要的。因为我们需要我们的街道基线中心线的副本,例如,当我们想要清除积雪时,我们在不同的一天在街道的一边做。所以我创建了我们的拓扑双街道基础。
如果你需要我翻译工作区的评论,请给我写信
再见!
@jugoslaviaa谢谢你提供一些样本数据。这里的问题是数据质量很差,既有重叠的行,也有空白的行。因此,你不太可能得到一个结果,删除100%的悬边,而不删除有效的边(参见下图中的紫色边)。正如建议的那样,TopologyBuilder是您的朋友,但是您可以后期处理TopologyBuilder输出,以帮助识别有效/无效的边缘,或模糊的边缘。
附加的工作空间查找与多个边缘(内部节点(蓝色))相接触的节点。删除行节点的末端。然后我们可以测试:
-任何一端有内部节点的边都是内部边,应该保留(深绿色)
-任何边长超过x(我用了20m)的边都应该保持(浅绿色)
-任何短边(>10m)且只有一个节点的边都可能是悬边-拒绝(红色)
-任何有一个内部节点且在10和20米之间的边缘都是模糊的,应该手动验证(紫色)
当您使用更大的数据集时,您可能会发现您可以测试的其他内容
工作区:
工作区(2018.1):FindDangles.fmw
如果您使用拓扑生成器,您可以识别所有悬空的边缘—悬空的行将在right_edge或left_edge属性中包含它们的edge_id值。
因此,可以测试edge_id = @abs(@Value(_left_edge))或edge_id = @abs(@Value(_right_edge))来识别悬链表,并测试它们的长度以排除它们
@jugoslaviaa或者是部门间变压器。然后使用长度计算器和TestFilter删除短线段。
您可以使用TopologyBuilder(假设Clean Data = No),然后测试片段,看看哪些片段是悬着的,并且小于给定的长度。