如何创建一个NoSQL数据库来找到2个地点之间的距离

3
我想创建一个数据库,可以存储位置之间的距离。例如,从纽约到波士顿和从纽约到泽西城的距离。我应该使用对象数组吗?
Distance =   {"New York":{"Boston" : 50,
                            "Jersey City": 6,
                             "Albany" : 100}, 
              "Jersey City":{"Boston" : 46,
                              "Albany" : 106,
                               "New York" : 6},
              "Albany":{"Boston" : 146,
                         "New York" : 100,
                         "Jersey City": 106}
}


但是使用上述的方法,我将会在每个内部对象中重复一个键。
1个回答

1
我会使用经度和纬度来计算城市之间的距离。这样,您就不需要物理存储距离,只需拥有一个城市数组,其中包含经度、纬度对的多边形数组即可。
为此,我使用MapBox GL的线距离函数

1
谢谢,Devontrae,但我有来自API的数据,用于两个邮政编码之间的距离,因此我正在尝试将API请求存储到NoSQL数据库中,以便下次如果我已经拥有距离,则不需要再次调用API,并且我遇到了理解应该使用哪种基本JSON结构来存储数据的问题。例如:我有许多邮政编码和它们之间的距离,但我想在没有重复的情况下将它们存储在数据库中,例如A到B之间的距离与B到A之间的距离相同,这也是我在上面的代码中展示的。 - Basant Patidar
@BasantPatidar 啊,我明白你为什么想要存储这个。你可以在数据库中缓存距离,然后通过模型层控制缓存。在该模型层中,你可以确定对应城市的值是否已经设置。如果是,那么它可以使用该距离值而不是再次设置该值。 - Devontrae

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接