这离杭州多远?
这个问题问的很好! 先给出结论,根据我这些年对杭州的了解,这个距离应该相当于从杭州到上海的距离(203.4公里)。 如果按步行计算的话,大概需要16个小时;如果乘地铁的话,大概需要85元;坐动车的话是2个小时左右;坐高铁的话是1小时左右;如果是乘坐飞机的话,大概是1个半小时左右。 那么,到底是怎么算出来的呢?且听我慢慢道来。
先从“距离”说起吧——距离我们通常指两个地点间的直线距离。然而现实世界并非常规世界,所以我们需要引入一个概念——“地理距离”——也就是说考虑了由于实际地形、地貌所造成的两条路线之间的真实距离。 我们已经知道了“地理距离”这一概念,接下来只需要知道如何计算它就可以了。 其实计算“地理距离”非常简单,网上有很多计算器,例如google地图就有这样一个功能,输入起点和终点即可。 但问题是他只允许输入两个点,而我们现实生活中往往是问“从杭州到某地有多远”,也就是要计算一条路径上的所有点的“地理距离”之和。
比如要从杭州走到西安,除了走直线外,还可以绕一圈经过重庆再到达西安,或者先经过合肥再到达西安等等。在这些情况下,仅通过google地图这样的工具显然是不够用的,我们需要一个能够同时计算多条路径的实用工具。 终于找到这样的一个工具啦~ 我是在牛客网看到这个问题的解答的,觉得非常靠谱,就拿来借用一下。
上面这个网址可以同时计算多条路径,并且支持往返行程,而且还可以查看每一步的路径,非常适合我们这种情况。 按照网站提示输入起始点和终点就可以看到计算结果啦~ 这样精确的计算出每一条路径上的“地理距离”之后,我们把每一条路径上的“地理距离”加起来就是总距离啦~ 所以总距离=(765+998+834+786)km=3413km。 当然,这个总距离跟直接使用导航软件得到的距离肯定是有差别的,因为导航软件计算的是“直线距离”,而我们这里计算的是“地理距离”。
不过,我觉得影响应该不大,可以忽略不计。 因为本来我们要算的就是“多少路程”而不是“哪条路线最近”。 而且,对于“导航软件导航出错”这种低概率情况,我们应该相信硬件工程师比软件工程师更严谨…… 好了,到这里距离的问题就已经解决啦~ 接下来我们来考虑时间的问题。
时间的问题比较简单,我们只要估算一下走路所需要的时间,再加上地铁或者动车等交通工具所耗费的时间就可以啦~ 我以前去过杭州,也曾经走过杭州的西湖,所以对杭州的地理状况有一些了解。
我知道有的人走路很快,一个小时能走5公里甚至更多;也知道有人散步,一抬头一低头之间就走完了500米。但我们这次计算的时候,为了简便起见,就以平均步伐来计算:一步0.5m,每10分钟走1km。
那么,从杭州到某地的总路程3413km,假设全部以步行方式走完,大约需要3413/10=341.3小时,也就是将近14天(14d 15h)。如果利用地铁或动车之类的交通工具,则时间大为缩短,只需要1d 18h。 如果搭乘飞机的话,时间就更短了,只需要0.5d 8h。