如何计算通过世界上所有房屋的最有效路线?


52

我是GIS的新手。

我需要一些帮助,使用飞行雪橇确定世界上所有房屋的最佳或最有效路线。我的一位同事告诉我,这个网站是最好的询问场所,因为我会找到很多有用的GIS专家。

我将需要有关使用什么软件,从哪里获取数据以及如何处理它的一些指导。由于本月我有一些额外的支出,因此我希望使用一些开源解决方案。

谢谢你们!

PS:我有点着急,因为明天需要这个!


20
这基本上是旅行商问题,除非您愿意使用启发式方法,否则问题为n!复杂性真是太幸运了,在宇宙结束之前找到了这么多n的任何解...
Smalltown2k 2012年

7
请稍等,因为只有基督徒孩子什么时候才能造访圣诞老人?
史蒂夫·贝内特

4
让我们只假设克劳斯先生有一个可供访问的住户清单,并使其不属于教派。谢谢:)
blah238

9
此路线是否也必须从北极开始?北地理极还是北磁极?
Spacedman

3
所以。第一步是收集世界上所有居住地点的数据集。有人愿意发布一个保管箱链接吗?
西蒙(Simon)

Answers:


25

稍等,鲁道夫一定会去。他已经做了多年了。


16

通常,解决陈述的需求而不是回答所提出的问题是件好事。我只想指出,有一个众所周知的并行解决方案可以巧妙地规避所有技术计算问题:圣诞老人有助手。 这些代理异步且独立地工作,以识别需要拜访的房屋并进行交付。圣诞老人方面无需进行特殊的GIS计算。

这项技术可以扩展,这真是太好了,这样,随着千年来世界(基督教)人口增长了几个数量级,圣诞老人的履行职责的能力就从未受到严重质疑:可用的帮助者的数量在不断增长。与需要访问的房屋数量成正比。


实际证明了这些助手的存在。相反,如果假设只有一个人试图在一个日历日内(跨48小时,占时区)向10亿个住宅交付礼物,则他们每秒必须访问近6000栋住宅。世界上较大城市的密度提供了住房之间平均距离的下限,在这些城市中,人们可能仅相距10米左右。这将需要一个平均每秒6000 * 10 =60000米速度,远远超过了音障(创建声震是并在圣诞节期间听到这种声音),并且产生了太多的空气摩擦,因此雪橇将变成炽烈的火球,摧毁附近的所有物体。尽管这使我们对鲁道夫鼻子中的红色发光的起源有了新的认识,但它清楚地表明,甚至只有平行的解决方案才是可能的,QED。


1
如果您不相信帮助者,请提供以下证明:en.wikipedia.org/wiki/Prep_%26_Landing
Tobias Kienzler 2013年

6

您可以使用WarshalDijkstra的算法来解决此问题

尽管世界上的房屋数量太多了,但要花很长时间才能计算出来,我认为这是一个很好的起点。现在,我没有时间解释它们,但我给您一个初步的观点。我现在和家人出去,也许第二年再回到这个问题。


4
谢谢你的客气话。但是:(1)这些算法中的任何一个如何解决这个旅行商问题?(2)Dijkstra的算法(找到给定网络中两个给定点之间的最短路径)速度很快。如果将其适当地修剪以仅将每个房屋的几个最近邻居的边缘包括在内,则将其应用于世界上所有房屋的数据集不仅可行,而且相当快-可能仅需要几秒钟或几分钟的计算时间。
whuber


0

使用包含每个住所的纬度和经度的数据集(人口普查数据?),我可能会在一种或另一种编程语言中使用Haversine公式。但是话又说回来,我不是精灵。

Haversine公式


如果您身处空中,则一定要考虑到地球的圆度和海拔高度。
Natrix
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.