gpt4 book ai didi

.net - 从道路网络 (.NET) 中提取拓扑

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:43:23 25 4
gpt4 key购买 nike

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

6年前关闭。




Improve this question




我们有多个来自多个来源(Open Street Map、TomTom...)的高质量道路网络。这些来源包含比我们需要的更多的信息,有效地阻止了我们的计算。过滤次要道路很容易。我们的主要问题是高速公路的表示(两条相反方向的道路),复杂的高速公路交叉口(各种导出道路,路口不是点)。就我们的目的而言,更理想的“拓扑”式道路网络。

非常详细的数据来源:

Highly detailed data source

理想的简化网络:

enter image description here

是否有任何算法可以帮助我们提取简化的道路网络? 如果在 .NET 中有可用的实现,那将是一个真正的赢家。

更新:

原始数据表示为带有一些有限元数据的折线。元数据说明道路的身份(名称或编号)、道路的“等级”(公路、主要、次要等),以及一些更多细节,如限速、线路段是桥梁还是隧道。数据的质量非常好,我们可以根据道路标识轻松地将组成道路的折线段组合在一起。
同样,很容易忽略次要道路。高速公路导出处的加速/减速车道也在其等级中明确标记,因此它们也很容易过滤。

我们看到两个主要问题:

1)公路:用一条公路代替两条(或更多)条单向公路

2) 高速公路路口:确定路口的中心点,并确保我们的简化高速公路与之相连。

更新 2:
数据存储在 EZRI Shape files .使用 SharpMap library ,它们比较容易解析,或者做地理空间搜索。源数据是按国家分割的,一个国家是一个shape文件(如果国家太大,比如美国、德国),再分割成更小的区域。是的,这种划分带来了另一个问题。如何确保法德边境的简化公路相交?

谢谢关注

最佳答案

这只是解决方案的草图,但是:

  • 定义曲线对之间的距离度量。第一个想到的是由两条曲线围成的面积除以它们的长度。您可以使用元数据对此进行扩充。我们的目标是设计一个度量标准,该度量将为您认为相似的道路对提供较小的距离,而对您认为不同的道路对则提供较大的距离。
  • 现在选择一个聚类算法并让它根据你刚刚定义的距离对道路进行聚类。对您让它使用的集群数量非常慷慨。当它回来时,寻找“直径”非常小的簇,这意味着簇中的每个点都非常相似。 “完全链接聚类”可能是开始研究的好地方,因为它会导致完全这种聚类。
  • 然后,您可以在每个集群中取平均值,将非常相似的道路集合变成一条道路,从而解决您的问题 (1)(希望 (2) 也是如此)。

  • 完成后,下一个任务是区分“重要”道路和“不重要”道路。这里最好的方法是坐下来建立一个由几百条随机道路组成的训练集,手动标记它们是否重要。然后采用某种分类器并在您手动标记的集合上训练它们。然后让它预测哪些其他道路是重要的。

    我不能说哪个分类器最适合使用,但如果你能抽出时间建立一个大型训练集并研究文献,“神经网络”可以给出一些令人印象深刻的结果。如果您想要更简单的东西,请查看“随机森林”或(甚至更简单的)“逻辑回归”。

    关于.net - 从道路网络 (.NET) 中提取拓扑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27356119/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com