Tree 如何在路线规划的加权图中表示道路形状

Tree 如何在路线规划的加权图中表示道路形状,tree,maps,openstreetmap,graph-theory,Tree,Maps,Openstreetmap,Graph Theory,我决定为一个类似于谷歌地图的游戏建立一个路线规划器,以扩展我对图形的知识,并作为投资组合项目 我做了研究,得出结论,我需要在加权图中将道路表示为节点,但我的理解是,只表示交叉口 我的问题是,我将如何表示道路的形状 关于如何解决此产品,我的推理是,图形节点将具有链接成本,然后作为数据将保存一个对象(JSON),其中包含与道路形状相关的信息,直到下一个节点/交叉点 这会带来一些问题,因为如果我想规划一条通往道路中间的路线,该怎么办。以下图为例,我想从C转到D和E之间,但在上面的道路上 图: 请注意,

我决定为一个类似于谷歌地图的游戏建立一个路线规划器,以扩展我对图形的知识,并作为投资组合项目

我做了研究,得出结论,我需要在加权图中将道路表示为节点,但我的理解是,只表示交叉口

我的问题是,我将如何表示道路的形状

关于如何解决此产品,我的推理是,图形节点将具有链接成本,然后作为数据将保存一个对象(JSON),其中包含与道路形状相关的信息,直到下一个节点/交叉点

这会带来一些问题,因为如果我想规划一条通往道路中间的路线,该怎么办。以下图为例,我想从C转到D和E之间,但在上面的道路上

图:
请注意,所有道路都是双向的,因此您可以假定边是定向的并经过加权的

我曾试图研究OSM是如何做到这一点的,但单是数据大小就让我感到困惑


如果您想要基于JSON的格式,我的建议是研究GeoJSON。这是一种成熟的格式,既可以表示空间/形状特征,也可以表示非空间特征,如街道名称、地址等。网上有大量文档,因此我不会引用具体的链接。此外,GIS堆栈交换是解决此类问题的一个很好的资源。

我找到了一个堆栈溢出来回答这个问题。