1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

两地之间的距离是怎么算出来的?

本帖由 漂亮的石头2020-12-03 发布。版面名称:知乎日报

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    485,225
    赞:
    46
    [​IMG] SinanLEe,一只刺猬。 阅读原文

    「北京到上海的距离有多远?」

    这种问题,就像女孩子问你「今天去吃什么呢」一样,看起来简单,却没有标准答案:

    [​IMG]
    百度一下,前四条居然有四种不同的结果,真是善变的「距离」

    既然没有标准答案,那么我们有必要将常见的餐,啊不,测量方式列举一下。

    这样一来,只要具体问题具体分析,再复杂的路标都可以迎刃而解,你一定可以成为最自信的辣个男孩!

    目录:

    • 直线距离还是道路里程?
    • 起点和终点在哪?
    • 结语(嫌太长不看的可以直接奔这里来)

    一、直线距离还是道路里程?

    显然两种方式都是合理的,只是不同的使用场景会采用不同的计算方式。

    直线距离因为简单易得,且结果为唯一值,常用于现代简单的数据统计和地理分析。此外,因为「两点之间距离最短」、牛顿第一定律等特性,也经常用于某些不靠谱的房地产广告,和一些不言而喻的军事领域

    [​IMG]
    「谁在叫我?」

    很多朋友提到「地球是圆的」这一点,确实也是我之前答题过程中疏忽的,那就是,「直线距离」,即地球上两点间的最短距离,并非物理上真正的直线,而是绕地球这个球体两点之间最短弧线的「大圆距离」

    通过不同的投影方式,这个「最短弧线」可能会在地图上呈现出直线或曲线。本文将不具体讨论投影的概念,无论如何,作为球面上的实际运动者,我们按「大圆距离」的路线运动时,在感观上还是沿着直线前进的。

    为通俗起见,这种「大圆距离」在这里就称为「直线距离」了。具体如何算出这条「直线」或「大圆」,本文暂不做讨论。

    [​IMG]
    「一只盲目的甲虫在弯曲的树枝表面爬动,它没有注意到自己爬过的轨迹,其实是弯曲的。」文来自爱因斯坦,图来自本人。

    相对而言,道路里程的实用性更强,但显然会因交通方式的不同,出现不同种类的数据。

    1. 铁路:铁路的情况很简单,通过有些运行图和时刻表,可以看到沿途各站的具体运营里程。
    [​IMG]
    铁道部运输局:《全国铁路列车时刻表》,1988 年,这是当时全国仅有的两对直达特快列车。在京沪高铁全线通车后,从北京南站到上海虹桥站的里程仅为 1302 公里,缩短了 158 公里。

    2. 公路:全国公路网络四通八达,根据功能不同可分为国道、省道、县道、乡道、村道等,此外还有各个城市里的市政道路。一般公路上可用「桩号」推断道路里程。桩号好比公路的位置编码,采用「8.848(Km)」或「K8+848」这样的形式表示「距离起点 8848m」。

    但也有特殊情况,比如,如果遇到道路改线、测量错误等原因,会造成桩号「断链」,就不能简单地通过桩号来判断道路里程了。随着路政工程的系统化、严谨化,这类现象会越来越少见。

    还有一种特殊情况叫做「零公里点」,这又是怎么回事呢?不要着急,后面会具体讲到。

    [​IMG]
    国道的「桩」长这样,它有一个更为通俗的名字叫做「里程碑」,每隔 1000m 会立一个,且每隔 100m 会有一个「数字 1~9」的小桩。在隧道、桥梁等不方便立碑的地方,会用铁牌代替水泥桩。高速公路上一般也采用绿色铁牌的桩号表示法。
    [​IMG]
    不一定是只有干线公路才会有桩,图中就是村道的桩,不过比较少见。在一些桥梁、隧道等特殊路段或政区的交界处,常能看到路政部门树立的责任告示牌,一般会标注该路段的具体桩号起止。
    [​IMG]
    前几年国家高速公路进行了名称合并和桩号调整,从这份《国家高速公路网里程桩号传递方案》可见,从北京十八里店桥到上海江桥镇,京沪高速的实际里程为 1219.2 公里。

    3. 水运、空运等「航道」

    「航道」的情况比较特殊,一般认为航线接近直线,出于数据保密等因素,许多地方对航线距离的统计也往往直接采用直线距离。但是,受各种因素影响,飞机、船只并不是完全沿直线行驶的,往往也有相对固定的航道。在进入平飞阶段后,外面晴空万里,飞机却突然开始向左 / 向右摇晃,这并不是为了躲避敌机或是帮助你饮料续杯,而是到达航线要求的转弯地点了。

    [​IMG]
    「航旅纵横」App 中,随机两班北京首都到上海虹桥 / 上海浦东的航线图。可见,北京首都到上海虹桥的「距离」为 1077km,到上海浦东的「距离」为 1178km。
    [​IMG]
    笔者没有查询到具体可靠的航线里程数据,通过「AirCN 模拟飞行网」的模拟航路数据进行「推算」,北京首都 - 上海虹桥「航线」距离大约为 1137km,北京首都 - 上海浦东「航线」距离大约为 1180km。(注:此数据为模拟飞行游戏数据,并非「现实世界」的真实数据,在此仅作参考对比使用。

    二、起点和终点在哪?

    一些有明确起终点的交通方式,道路里程直接根据具体起点、终点进行计算就可以了。铁路的起终点是火车站,飞机的起终点是机场,轮渡的起终点是码头……比较特殊的是公路路标上的里程数目,处理方式相对复杂。参考 GB 51038-2015《城市道路交通标志和标线设置规范》:

    8.1.8 干路或支路指路标志版面中的距离应指其与基准点的距离,与基准点距离的确定应符合下列规定:
    1 指示信息为干路或支路,所指示道路与当前道路直接相交时,应以交叉口作为基准点,但若通过其他道路相连,则应以连接道路与所指示道路的交叉口作为基准点;
    2 当指示信息为地区信息时,应以距离该地区主要出入口或外围大门最近的交叉口作为基准点;
    3 当指示信息为旅游景区、交通枢纽等较大型重要地物时,应以距其建筑物本身或外围大门最近的交叉口作为基准点;
    4 版面中距离数值的取值,应符合本规范第 4.2.10 条的规定。​

    简单来说,公路指路标志上的距离,除了点状的「重要地物」可以根据其建筑物本身计算距离外,其他往往以交叉口或道路出口计算距离。比如公路上显示的「XXX 市 XXkm」,一般不是到达市中心的距离,而是到达公路出口、收费站甚至行政区界的距离。比如上海市规定:「在上海境外的高速公路上,距『上海』表示该点与上海市市界的距离,距『上海市区』则表示该点与上海市 S20 外环线最近一个立交枢纽的距离。」(解放日报:《高速公路标注「距上海」 究竟距上海什么地方》

    [​IMG]
    你在公路上看到的「上海 5km」,可能只是到达这根水泥杆子的距离。

    那么,城市和城市之间的直线距离,又要如何确定「基准点」呢?一般有一下几种方式。

    1. 测绘的「基准点」:城市原点

    「城市原点」一般是城市地理测绘的定位中心点,且目前承载了许多文化意义。如上海市的「城市原点」位于国际饭店顶楼中心的旗杆处,这是因为 1950 年上海市进行全市土地测量时,国际饭店是当时的最高建筑,成为了测绘坐标的中心定位点。(《上海“城市原点”在哪,你知道吗?》

    [​IMG]
    尽管国际饭店早已淹没在浦江两岸的楼群中,但其仍然是上海市具有历史意义的「城市原点」。(没找到自己拍摄的国际饭店的照片,又不想用网图……所以暂时拿这张图顶替一下这个坑位)
    「城市原点」是城市的一个具有代表性的地理位置设置的城市空间地标,在地理意义上,它代表该城市区域的准确位置(以经纬度表示);在文化意义上,它阐述一个城市地域特点和文化传承,是城市重要的标志性地理景观,也是体现城市历史与文化的符号。(姜波、张刘芹:《浅谈城市原点的设计与实现——以「无锡市城市原点建设项目」为例》,《矿山测量》2019 年 10 月)​

    笔者认为,如果已经明确设定了城市原点,那么城市与城市之间的直线距离,采用「城市原点」之间的距离较为妥当。一方面是因为「城市原点」原则上位于城市历史发展的中心,较为稳定、有文化内涵;另一方面是因为在确定「城市原点」时,往往要对城市原点进行详细测绘,准确性强。

    2. 公路名义上的「基准点」:「零公里」标志

    「零公里标志」是公路的象征性起点,若某地设置了公路「零公里」标志,那么所有以该地为起点的公路,都将以该处作为名义上的出发点。上海市的零公里起点位于人民广场,许多自驾、骑行活动都会选用此处作为旅途的起点。

    [​IMG]
    没错,就在市政府正前方,不封闭的情况下往前走就能看到。(很遗憾,又没有拍到……顺便说下上海「城市原点」国际饭店,就在这张图市政府大楼的右后方。)

    像上海这样「城市原点」与「零公里标志」明确分开的城市不多,大部分城市要么只设置其中一个标志,要么将两处标志合二为一。比如北京目前只是明确设定了「零公里标志」,位于天安门广场的最南端的正阳门下。据说在景山公园里有一处「北京城中心点」,是明清北京内城的地理中心点,和前文提到的「城市原点」还不太一样。(北京印迹:《让我们一起来细数北京城里的各种“原点”》

    [​IMG]
    以 G18 荣乌高速为例,其「起点」(类似「零公里点」)位于海边,但要真正从这里上高速,至少还要经过四五个红绿灯。(为什么没有放北京「零公里点」的图呢?原因你们懂的=。=)

    关于这个「零公里点」有多少实际意义,不同地区采用了不同的做法。比如北京,无论距离「零公里点」多远,所有高速公路的实际起点桩号均为 K0+000。而上海,则会根据到人民广场的距离,估算一个大概的公里数,导致每条以上海为起点的高速公路,起点处的桩号都不一样。

    [​IMG]
    《国家高速公路网里程桩号传递方案》筛选后的数据。

    3. 导航的「基准点」:政府大楼

    但无论有再多的「原点」「中心点」「零点」,只要打开任意一款主流导航软件,搜索从「A 市」到「B 市」的路线,不出意外,给出的都是从 A 市政府到 B 市政府的驾车方案。

    (当然了,也有例外,评论区已经给出案例了。)

    这不仅仅是一个约定俗成的结果,也有具体的规范可循。根据 GB/T 24354-2009《公共地理信息通用地图符号标准》,各居民点的地图符号应标注在各级行政中心处,且注记相对应的行政区划名称。

    [​IMG]
    你在地图上搜索的「XX 市」「XX 县」,其实是在搜索这些点状的地理信息符号的注记。

    一般来说,出于规范化的考虑,将市政府之间距离作为城市之间距离的默认计算方式,也是切实可行的一种方法。但近些年来,出于缓解老城压力、开发新市区等目的,越来越多的市政府迁出了开发饱和的老市区,有的甚至搬到了本地人口中格外鄙夷的「乡下」「县里」,人们一个不注意,就要导航到十万八千里之外了。笔者认为这一问题目前没有非常完美的解决方式,只能先提醒一下大家导航前往陌生城市时,最好先了解一下当地情况,并尽量使用详细地址,而非简单的城市名称作为导航目的地。

    [​IMG]
    当然也有例外,比如百度地图以「北京市」为起点进行导航,起点就是原北京市政府所在地,而非通州的新行政中心。笔者怀疑是地图的地理信息注记还没有更新。

    4. 其他情况

    暂时还没有想到,但一定会有,先留个坑。


    三、结语

    不同的语境下,「两地之间的距离」会出现各种各样的计算方式,一般以直线距离和干线公路里程为主。

    测量直线距离,起点和终点有条件的可以选在「城市原点」,一般来说选在市政府也可以。

    测量公路里程,起点、终点的情况比较复杂,一般可以根据两地间公路「桩号」差值进行估算,也可以用各种导航软件直接得到市政府之间的道路里程,但是市政府未必坐落于城市中心,所以不一定准确


    四、一颗彩蛋

    彩蛋就是——

    尽管你知道了计算城市之间距离的各种方式,

    却依然猜不到一个女孩子今天到底想吃什么。

    [​IMG]
    真是个悲伤的故事呀。
    阅读原文
     
正在加载...