DHID-basierte Haltestellen-Synchronisation – Datenstruktur

Inhaltsverzeichnis

Diese Dokumentation beschreibt die Datenzuordnung zwischen GTFS-Stationen und StopPlace-Einträgen basierend auf DHIDs (Deutschlandweite Haltestellen-ID).

Dabei wird eine einheitliche Sicht auf Haltestellen über verschiedene Datenquellen hinweg erstellt. Jede GTFS-Station (location_type = '1') erhält einen entsprechenden Site-Eintrag, der als zentrale Referenz dient.

Datenfluss

  1. GTFS-Stationen finden: Alle GTFS-Stops mit location_type = '1'
  2. StopPlace-Zuordnung prüfen: Existiert bereits ein Site mit dieser DHID?
  3. StopPlace erstellen/aktualisieren:
    • Existierend: internal_description wird aktualisiert
    • Neu: Site mit DHID und Stationsnamen wird angelegt
  4. Rückverknüpfung: GTFS-Stop erhält Referenz auf StopPlace

Feldmapping

GTFS-Stop-Feld

StopPlace-Feld

Beschreibung

Beispiel

stop_id

main_identifier

DHID (Deutschlandweite Haltestellen-ID)

de:11000:900100003

stop_name

internal_description

Menschenlesbarer Stationsname

Berlin Hauptbahnhof

(ID)

same_as_site

Rückverknüpfung vom GTFS-Stop zum Site

(Relation)

Datenqualität

DHID-Format:

  • Schema: de:{area}:{stop_id}
  • Beispiel: de:11000:900100003 (Berlin Hauptbahnhof)
  • Verwendung: Eindeutige Identifikation über Datenquellen hinweg

Stationsnamen:

  • Quelle: stop_name aus GTFS-Daten
  • Normalisierung: Keine (Originalname wird übernommen)
  • Verwendung: Interne Beschreibung für Admin-Oberfläche

Beteiligte Collections

  • GTFS Stops (gtfs-stops): Quelldaten für Stationsinformationen
  • Sites (sites): Ziel-Collection für einheitliche Haltestelleneinträge

Beispiel-Transformation

Input (GTFS Stop):

{
  "stop_id": "de:11000:900100003",
  "stop_name": "Berlin Hauptbahnhof",
  "location_type": "1"
}

Output (StopPlace):

{
  "main_identifier": "de:11000:900100003",
  "internal_description": "Berlin Hauptbahnhof"
}

Rückverknüpfung (GTFS Stop aktualisiert):

{
  "stop_id": "de:11000:900100003",
  "stop_name": "Berlin Hauptbahnhof",
  "location_type": "1",
  "same_as_site": 42
}