BVG Aufzugsdaten – Datenstruktur und Transformationen

Inhaltsverzeichnis

Diese Dokumentation beschreibt die Struktur und Transformationen der BVG-Aufzugsdaten für das Berliner ÖPNV-Netz.

Datenherkunft

Quelle: BVG (Berliner Verkehrsbetriebe)

Abdeckung: U-Bahn und teilweise S-Bahn-Stationen in Berlin

Aktualisierung: Stammdaten täglich, Betriebsstatus alle 2 Minuten

Verfügbare Datenfelder

Die BVG-Daten enthalten folgende Informationen:

Originalfeld

Beschreibung

Beispielwert

bahnhof

Stationsname

S+U Alexanderplatz

geokoordinaten

Koordinaten (latitude/longitude)

52.521508, 13.411267

fabrikNummer

Betreiber-Inventarnummer

123456

aufzugsNummer

Aufzugsnummer am Standort

001

meldungsTextDE

Deutsche Beschreibung

Straßenebene <> U-Bahnsteig U2

meldungsTextEN

Englische Beschreibung

Street level <> U2 platform

Datentransformationen

Haltestellennamen-Normalisierung

Haltestellennamen werden für die Zuordnung zu Stop Places normalisiert:

BVG-spezifische Transformationen:

  • Schloßstraße → Schloßstr.
  • Große Bahnhöfe erhalten Bhf Suffix (Friedrichstr., Alexanderplatz, etc.)
  • S+U Hauptbahnhof (Berlin) → S+U Berlin Hauptbahnhof
  • Alle Namen erhalten (Berlin) Suffix für eindeutiges Matching

Weitere Normalisierungsschritte:

  • Bereinigung von DB-Stationsnamen
  • VBB-spezifische Namensanpassungen

Beschreibungsverarbeitung

Visuelle Darstellung (function.short_visual)

Richtungsangaben werden durch visuelle Pfeile ersetzt:

  • <> → ⟷ (bidirektional)
  • S 1 → S1 (Liniennamen-Spacing)

Beispiele:

  • Original: Straßenebene <> U-Bahnsteig U2
  • Visuell: Straßenebene ⟷ U-Bahnsteig U2

Text-to-Speech Format (function.short_tts)

Richtungsangaben werden durch gesprochenen Text ersetzt:

  • <> → und (Deutsch) / and (Englisch)

Beispiele:

  • Deutsch: Straßenebene und U-Bahnsteig U2
  • Englisch: Street level and U2 platform

Lange Beschreibung (function.long_tts)

Mit Präfix versehen:

  • Deutsch: Zwischen {Beschreibung}
  • Englisch: Between {description}

Mehrsprachigkeit

Alle Felder werden zweisprachig (Deutsch/Englisch) gespeichert:

Feld

Deutsch

Englisch

function.short_visual

Bereinigter deutscher Text

Bereinigter englischer Text

function.short_tts

TTS-freundlich Deutsch

TTS-freundlich Englisch

function.long_tts

Vollständige deutsche Beschreibung

Vollständige englische Beschreibung

location.long_tts

Station + deutsche Beschreibung

Station + englische Beschreibung

Zuordnung zu Haltestellen

Matching-Prozess

  1. Normalisierung des BVG-Stationsnamens nach gleichem Schema wie Stop Places
  2. Suche nach Stop Places über:
    • normalized_name (primär)
    • normalized_names.clean_name_db (Fallback)
    • normalized_names.clean_name_vbb (Fallback)
  3. Verknüpfung des gefundenen Stop Place mit Aufzug via:
    • location.site – Direkte Site-Beziehung
    • linked_data.associated_site – Zusätzliche Site-Referenz

Koordinaten-Auflösung

Falls ein Aufzug ungültige Koordinaten hat (geokoordinaten.valid: false), aber ein Stop Place zugeordnet werden kann:

  1. Stop-Place-Geometrie wird abgerufen
  2. Stop-Place-Koordinaten werden für den Aufzug übernommen
  3. coordinatesFromStopPlace: true wird in linked_data.original_data gespeichert

Beispiel-Datensatz

Erstellt werden Aufzugseinträge mit folgender Struktur:

{
  "_status": "published",
  "internal_description": "S+U Alexanderplatz – Straßenebene ⟷ U-Bahnsteig U2",
  "operational_status": {
    "operational_status": "in_service"
  },
  "function": {
    "short_visual": "Straßenebene ⟷ U-Bahnsteig U2",
    "short_tts": "Straßenebene und U-Bahnsteig U2",
    "long_tts": "Zwischen Straßenebene und U-Bahnsteig U2"
  },
  "location": {
    "site": 123,
    "short_visual": "S+U Alexanderplatz",
    "short_tts": "S+U Alexanderplatz",
    "long_tts": "Station S+U Alexanderplatz, Straßenebene und U-Bahnsteig U2",
    "geometry": [13.411267, 52.521508]
  },
  "linked_data": {
    "operator_inventory_id": "123456",
    "operator_org": 456,
    "associated_site": 123,
    "original_site_id": "S+U Alexanderplatz",
    "original_data": {
      "fabrikNummer": "123456",
      "aufzugsNummer": "001",
      "bahnhof": "S+U Alexanderplatz",
      "meldungsTextDE": "Straßenebene <> U-Bahnsteig U2",
      "meldungsTextEN": "Street level <> U2 platform",
      "geokoordinaten": {
        "latitude": 52.521508,
        "longitude": 13.411267,
        "valid": true
      },
      "coordinatesFromStopPlace": false
    }
  }
}

Datenfelder im Detail

Feld

Typ

Beschreibung

internal_description

String

Interne Beschreibung: Station + Verbindung

operational_status.operational_status

Enum

in_service, out_of_service, unknown

function.*

Object

Mehrsprachige Funktionsbeschreibungen (visuell/TTS)

location.site

Relation

Verknüpfung zum Stop Place

location.geometry

Point

GeoJSON-Koordinaten

linked_data.operator_inventory_id

String

BVG Fabriknummer

linked_data.original_data

Object

Vollständige Originaldaten aus BVG-API