如何在 GTFS 中将停靠站分组到父站?

How do I group stops into a parent station in GTFS?

GTFS(定义public交通时刻表和地理信息)中,一个站点(parent_station)包含多个站点(stop_id)。

我正在分析巴黎 GTFS 数据。所有 parent_station 字段均为空值。

mysql> SELECT DISTINCT parent_station FROM stops;
+----------------+
| parent_station |
+----------------+
|                |
| 0              |
+----------------+

如何指定停靠点的父站点(或将站点分组到父站点)?

mysql> SELECT * FROM stops LIMIT 10;
+---------+-----------+------------------------------------+-------------------------------------------+-----------+----------+---------------+----------------+
| stop_id | stop_code | stop_name                          | stop_desc                                 | stop_lat  | stop_lon | location_type | parent_station |
+---------+-----------+------------------------------------+-------------------------------------------+-----------+----------+---------------+----------------+
| 1166824 |           | "Olympiades"                       | "91 rue de Tolbiac - 75113"               | 48.826948 | 2.367038 |             0 |                |
| 1166825 |           | "Olympiades"                       | "91 rue de Tolbiac - 75113"               | 48.826948 | 2.367038 |             0 |                |
| 1166826 |           | "Bibliotheque-Francois Mitterrand" | "Face au 62 rue du Chevaleret - 75113"    | 48.829831 | 2.376120 |             0 |                |
| 1166827 |           | "Bibliotheque-Francois Mitterrand" | "Face au 62 rue du Chevaleret - 75113"    | 48.829831 | 2.376120 |             0 |                |
| 1166828 |           | "Cour Saint-Emilion"               | "Cour Chamonard - 75112"                  | 48.833314 | 2.387300 |             0 |                |
| 1166829 |           | "Cour Saint-Emilion"               | "Cour Chamonard - 75112"                  | 48.833314 | 2.387300 |             0 |                |
| 1166830 |           | "Bercy"                            | "Place du Bataillon du Pacifique - 75112" | 48.840543 | 2.379409 |             0 |                |
| 1166831 |           | "Bercy"                            | "Place du Bataillon du Pacifique - 75112" | 48.840543 | 2.379409 |             0 |                |
| 1166832 |           | "Gare de Lyon"                     | "Gare SNCF - 75112"                       | 48.844652 | 2.373108 |             0 |                |
| 1166833 |           | "Gare de Lyon"                     | "Gare SNCF - 75112"                       | 48.844652 | 2.373108 |             0 |                |
+---------+-----------+------------------------------------+-------------------------------------------+-----------+----------+---------------+----------------+

停靠点11668301166831应该属于同一个经纬度相同的母站。

我想到了一个主意。对于给定的半径(例如 r),如果两个停靠点的距离(例如 d)小于 r,即 d < r,则它们属于同一站。

有更好的主意吗?

假设您确定停靠站条目不是重复的,而是位于站内的停靠站,我建议采用以下解决方案: 查找具有相同名称和位置的不同停靠站列表,然后编辑以将列表中的第一个停靠站指示为 "station" 并将列表中的其他剩余停靠站指示为车站内的停靠站。

Reference document会帮你做到。作为示例,我给你以下编辑的(显示为 ^^^^)行:

| 1166830 |  | "Bercy"| "Place du Bataillon du Pacifique - 75112" | 48.840543 | 2.379409 | 1 | |
                                                                                          ^^^
| 1166831 |  | "Bercy"| "Place du Bataillon du Pacifique - 75112" | 48.840543 | 2.379409 | 0 | 1166830 |
                                                                                               ^^^^^^^