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

时间:2016-02-26 17:44:19

标签: gtfs

GTFS(定义公共交通时刻表和地理信息)中,电台(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,则它们属于同一站点。

有更好的想法吗?

1 个答案:

答案 0 :(得分:2)

假设您确定停止条目不是重复但它们是站内的停靠点,我建议以下解决方案: 查找具有相同名称和位置的不同停靠点列表,然后进行编辑以指示列表中的第一站作为“站”,列表中的其他剩余停靠点作为站内的站点。

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 |
                                                                                               ^^^^^^^