在应用程序中存储 subway 数据的最佳方法是什么?
数据包括地铁站位置,站点之间隧道的长度,渲染时标签的对齐,渲染隧道时绘制的弧线类型,交汇点等等。
现在我正在考虑一个严格扩展的图形,但(只是好奇)也许有更方便的东西? (显然,地铁模型用于路径查找和路由)。
答案 0 :(得分:2)
我建议创建不同的数据模型来处理问题的不同部分(因为你有不同的有界上下文)。
使用有向图是一个明智的选择。您应该以非常抽象的方式实现它,这样您就可以重用体面的,经过验证的路径查找算法。根据您选择的算法(A *可能是一个很好的候选者),您的数据模型需要针对此算法进行优化。在A *的情况下,首先在地铁站上定义一个有意义的,实际相关的拓扑排序(欧几里得距离一开始就很好,但通过分析数据的性质并调整它,你可能会获得相当大的性能提升)。另一个方面是使用高速缓存进行各种计算,并且无法快速丢弃站点。
对于表示,您需要创建图表的另一个模型,该模型可以包含与演示相关的所有信息(颜色,文本等)。