地球上最长的直线航行路径与陆行路径

查看原文 HN 讨论

文章摘要

这是 Rohan Chabukswar(United Technologies Research Center Ireland)与 Kushal Mukherjee(IBM Research India)在 2018 年发表的一篇 arXiv 论文(math.HO 分类),用严肃的数学方法回答了一个纯粹的娱乐问题:在地球上,你最远能沿着一条直线航行多远而不撞上陆地?以及它的反问题——最远能沿直线在陆地上走多远而不遇到大的水体?

故事的起点是 2012 年 12 月 29 日,Reddit 用户 kepleronlyknows 在 r/MapPorn 上贴了一张地图,声称从巴基斯坦到俄罗斯远东是地球上不触陆的最长直线航路。这张图引发了大量争议:有人试图证明它,有人试图推翻它。YouTube 用户 David Cooke 曾宣称发现了更长的「Cooke 通道」(从魁北克到不列颠哥伦比亚),后被 GeoGarage 的博客证明那根本不是一条直线。Guy Bruneau 算出的一条从中国东部到利比里亚西部的陆上路径,则因为穿过死海(可算作主要水体)而不满足约束。

论文的核心贡献是把这个问题形式化成一个优化问题,并用分支定界(branch-and-bound)算法求全局最优解。关键的数学观察是:球面上所有直线路径都落在大圆上,因此只需枚举所有大圆即可。任意大圆(赤道除外)都会在两个对跖点与赤道相交,并有一个确定的夹角,所以每个大圆可以用「原点经度 δ」和「航向角 α」这一对参数唯一刻画,记作 GC(δ, α)。数据来自 NOAA 的 ETOPO1 全球地形模型(1 角分分辨率,赤道处约 1.855 公里),采用「冰面」版本而非「基岩」版本——因为航行不应撞上冰层,而冰面在技术上是可以驾车的。海拔为正记为陆地,为负记为水体。

暴力搜索的代价是惊人的:1 角分分辨率下需要考察 233,280,000 个大圆,每个大圆有 21600 个点,总计约 5,038,848,000,000 个点。作者最初尝试暴力搜索后放弃,转而设计了分支定界的松弛技术(对一组大圆的最长海上段长度求上界),从而把搜索空间大幅剪枝。

结果是:最长可航行直线路径起自巴基斯坦俾路支省的 Bela(北纬 25°17′,东经 66°40′),穿过非洲与马达加斯加之间的「针眼」,再从南极洲与南美洲火地岛之间穿过(德雷克海峡),终点在俄罗斯堪察加边疆区的 Karaginsky 区(北纬 58°37′,东经 162°14′)。总角距 288°35′,长度 32,090 公里——约为地球周长的 80%。这条路径与 kepleronlyknows 当年画的那条在视觉上完全一致,也就是说,那位 Reddit 网友是对的。

最长可驾驶直线路径起自中国福建泉州晋江附近(北纬 24°33′,东经 118°38′),先在中国和蒙古境内蜿蜒,经哈萨克斯坦、俄罗斯,穿过白俄罗斯和乌克兰,再经波兰、捷克、德国、奥地利、列支敦士登、瑞士、法国和西班牙,终点在葡萄牙的 Sagres 附近(北纬 37°2′,西经 8°55′),共穿越 15 个国家。总角距 101°6′,长度 11,241 公里,约为地球周长的 28%。

作者也坦率列出了局限:ETOPO1 的 1 角分分辨率是精度下限;模型假设地球是完美球体(忽略了椭球形状和大地水准面起伏)。他们认为对一个「本质上是娱乐性的问题」而言,追求更高精度属于过度设计。论文最后一句颇有幽默感:作者不建议任何人真的沿这两条路径去航行或驾驶。

HN 评论精华

ventana 的总结被顶到最高,也最精准地概括了论文的戏剧性:「基本上就是——某个 Reddit 网友贴了张图说这是地球上最长的水上直线,我们实现了一个聪明的算法解这个问题,找到了海拔数据,跑了算法……结果那个随机网友是对的。顺便还给出了陆上最长路径。」他补充说读得很享受,尽管他本来更希望论文能推翻原始的说法。他还贴出了两条路径在 gcmap.com 上的链接。

关于「这真的能开车吗」的争论最热闹。shrx 直指论文的图 9 标题「Longest Drivable Straight Line Path」:能走或许可以,但绝对不是「可驾驶」——它直接翻越阿尔卑斯山。pbhjpbhj 反驳说航路上同样可能有冰山、沙洲、礁石、火山活动或战争阻挡,两者是对等的。kakacik 不接受这个类比:「极小概率的事件 vs. 100% 存在且除非徒步加正经登山否则完全不可通行——这很难叫对等。」chabska 用一句数学梗化解:「这是数学,阿尔卑斯山的可驾驶性就像流形的光滑性一样。」loloquwowndueo 则调侃质疑者:「『驾驶』——用你的脚,以车为中心的人。」

OscarCunningham 提出了一个技术性质疑:存在一条更长的陆上路径,从塞内加尔附近出发到中国,但论文漏掉了它,因为它经过死海附近,而作者把所有低于海平面的地方都当作水体。maratc 实测确认这条路线约 13,250 公里,比论文给出的长约 2,000 公里。khaled_ismaeel 指出这条路穿过苏伊士运河,桥梁隧道不该算数才公平。Vvector 反问:论文给出的陆上路径本身就需要过桥跨越沿途无数河流,需要一个不同的判据。OscarCunningham 顺势给出了终极答案:如果严格要求完全不能碰水,最优解很可能在南极洲——「靠温度就能保证那里完全没有液态水」。这话立刻招来两条纠正:hidroto 说「南极洲技术上被(固态)水覆盖着——技术性错误是最糟糕的错误」;testing22321 说「看时间和地点,夏天基地周围会形成不少水洼」。

关于路径来源的考据:cubefox 补充说论文只以「kepleronlyknows」这个 ID 指代那位 Reddit 用户,但在原帖里他链接了自己的视频,真名是 Patrick Anderson。更妙的是,在做 Google Earth 可视化之前,他先跑去图书馆用一根绳子在真实地球仪上拉出了这条线。

直觉与球面几何的冲突是另一条主线。comrade1234 说他打开 Apple Maps 的地球模式仍然无法在脑中构建出那条水路。pdpi 给出了一个绝妙的类比:那条水路看起来非常像地图上的昼夜分界线,并附上 NASA 的可视化链接。yorwba 解释了原因:昼夜线是一个大圆,而这些「直线路径」正是大圆的弧段。srean 换了个说法:「它先往南走,然后试图从背后把环闭合,但在闭合前被陆地打断了。」

gcanyon 写了本帖最有画面感的一段:他说球面依然反直觉——「纽约的穆斯林朝麦加礼拜时大致面向东北,这至今让我震惊」——而更离奇的是,水路可以从北极圈附近出发,横穿太平洋,几乎擦到南极洲,再横穿大西洋和印度洋,终点远在赤道以北,却只绕了地球 80%。SamBam 接了一记同样反直觉的例子:从纽约正东望向大西洋对岸,大多数人会以为看到的是葡萄牙,实际上是摩洛哥;稍微往南就是西非其余部分;往西南望则是澳大利亚甚至巴西。globular-toast 说他从没想过穆斯林礼拜方向是走最短距离,查了之后发现这在北美还是个有争议的话题,但大圆方向是标准做法;有趣的是麦加的对跖点附近有陆地,意味着在那儿方向会剧烈变化。pavel_lishin 喜欢这个设想:某个陆地上的穆斯林朝任何方向看都是朝向麦加——可惜那点在大洋中央,不过附近确实有个环礁 Tematagi。

平地说信徒会怎么算这道题意外成了一整条支线。1313ed01 起头发问。madcaptenor 认真给出了在 plate carrée 投影下的答案,并强调结果完全取决于你用什么投影。Anduia 纠正说平地说者不用墨卡托,他们用以北极为中心的极方位等距投影(AEQD),在那套图上答案大概是葡萄牙到堪察加。1718627440 提出了一个尖锐的追问:「如果你不相信地球是球体,你怎么理解投影这回事?」并进一步问:他们如何解释同一个世界在不同「地图类型」下距离和角度都不一样——这对旅行、导航、丈量自己的地产可是要紧的。phinnaeus 认为不必寻找理性,1718627440 则回应说他只是好奇他们的自我理解,而非对外的「营销话术」。

其他值得一提的发言:divbzero 认为这道地理谜题像是现代版的柯尼斯堡七桥问题。shrx 补充了维基百科上「直线穿越挑战」(Straight line mission)的条目,收录了一些著名的徒步直线挑战。metalman 设想一个「直线党」俱乐部,记录真实旅程中每一次不得不偏离直线的时刻——包括恳求、蒙混、贿赂穿过别人家客厅的经历。mrgriscom 贴出了他做的这条路径的第一人称视角渲染图。mdritch 分享了他几年前找「亚特兰大最长最直的线」的类似尝试。paufernandez 一句话点破全场:「Nerd sniping 的最高境界。」而 cookie0 建议这该成为 YouTube 频道 GeoWizard 的下一个挑战。