Как сгруппировать остановки в родительскую станцию ​​в 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 |                |
+---------+-----------+------------------------------------+-------------------------------------------+-----------+----------+---------------+----------------+

Остановка 1166830 а также 1166831 должен принадлежать одной и той же родительской станции для одинаковой долготы и долготы.

Одна мысль приходит мне в голову. С заданным радиусом (скажем r), две остановки принадлежат одной и той же станции, если их расстояние (скажем, d) меньше чем rт.е. d < r,

Есть идеи получше?

1 ответ

Решение

Предполагая, что вы уверены, что записи остановок не являются дубликатами, но они являются остановками, расположенными внутри станции, я предлагаю следующее решение: найдите список различных остановок с одинаковым именем и местоположением, затем отредактируйте, чтобы указать первую остановку в списке как "станцию". и другие оставшиеся остановки в списке как остановки внутри станции.

Справочный документ поможет вам это сделать. В качестве примера я приведу следующие отредактированные (показанные с ^^^^) строки:

| 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 |
                                                                                               ^^^^^^^
Другие вопросы по тегам