Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DELFI: Bediente Haltestellen nicht in zHV gelistet #121

Open
hbruch opened this issue Jan 8, 2023 · 1 comment
Open

DELFI: Bediente Haltestellen nicht in zHV gelistet #121

hbruch opened this issue Jan 8, 2023 · 1 comment
Labels
DELFI Falsche Angaben Hier liegt ein inhaltlicher Fehler vor

Comments

@hbruch
Copy link
Member

hbruch commented Jan 8, 2023

Beschreibe den Fehler
Von den 458.890 Stops, deren stop_id mit 'de:' beginnt, sind 51.291 nicht im zentralen Haltestellenverzeichnis geführt. Dabei kann es sich sowohl um im zHV fehlende Steige handeln, als auch nicht existente, mit falscher IFOPT erfasste/generierte Steige.

image

SELECT COUNT(*) FROM (SELECT stop_id FROM gtfs_stops WHERE stop_id LIKE 'de:%' EXCEPT SELECT globaleId FROM zhv);
51291

Gruppiert nach Bundesländern ergibt sich die folgende Verteilung:

SELECT substr(stop_id,1,5), COUNT(*) from (SELECT stop_id FROM gtfs_stops WHERE stop_id LIKE 'de:%' EXCEPT SELECT globaleId FROM zhv) GROUP BY substr(stop_id, 1,5);
stop_id-Präfix Anzahl
de:01 681
de:02 1436
de:03 2666
de:04 1
de:05 7048
de:06 234
de:07 6811
de:08 13692
de:09 11235
de:10 18
de:11 93
de:12 246
de:13 430
de:14 1590
de:15 57
de:16 5040
de:51 7
de:57 1
de:84 4
de:95 1

Siehe auch damit zusammenhängende Issues #50 und #115.

Aktualisierungszeitpunkt der GTFS-Daten:
2.1.2023

Downloadlinks der GTFS/zHV-Daten:
DELFI-GTFS-Feed
zHV

@hbruch hbruch added DELFI Falsche Angaben Hier liegt ein inhaltlicher Fehler vor labels Jan 8, 2023
@hbruch
Copy link
Member Author

hbruch commented Aug 20, 2024

Mit Stand 19.08.2024 gilt dies weiterhin für viele Haltestellen. Nach Ursache aufgeschlüsselt:

SELECT category, count(*) Anzahl FROM (
  SELECT DISTINCT stop_id, CASE
    WHEN regexp_matches(stop_id, '_G$') THEN '_G Suffix'
    WHEN regexp_matches(stop_id, '^de:\d{5}:\w*$') THEN 'Haltestelle, nicht in zHV'
    WHEN regexp_matches(stop_id, '^de:\d{5}:\w*:\w*$') THEN 'Bereich, nicht in zHV'
    WHEN regexp_matches(stop_id, '^de:\d{5}:\w*:\w*:\w*$') THEN 'Mast, nicht in zHV'
    WHEN regexp_matches(stop_id, '^[a-zA-Z]{2}:\w*:\w*') THEN 'Nicht de-IFOPT'
    WHEN regexp_matches(stop_id, ':') THEN 'Kein Länderkürzel im IFOPT Format'
    ELSE 'Nicht im DHID/IFOPT Format' END category
    FROM stop_times st
   WHERE stop_id NOT IN (SELECT dhid FROM zhv)
  ) GROUP BY category ;
┌───────────────────────────────────┬────────┐
│             category              │ Anzahl │
│              varchar              │ int64  │
├───────────────────────────────────┼────────┤
│ Haltestelle, nicht in zHV         │     69 │
│ Nicht de-IFOPT                    │   3065 │
│ Bereich, nicht in zHV             │     78 │
│ Mast, nicht in zHV                │  20690 │
│ _G Suffix                         │  32480 │
│ Nicht im DHID/IFOPT Format        │  17897 │
│ Kein Länderkürzel im IFOPT Format │      4 │
└───────────────────────────────────┴────────┘

Bei Nicht im DHID/IFOPT Format gehe ich von fehlenden Funktionen der bereitstellenden Systemen aus, bei _G Suffix von bereits an anderer Stelle diskutierten Ursachen in der Zusammenführung, bei Nicht de_IFOPT von erwartungsgemäß (da nicht in Deutschland) im zHV fehlenden DHIDs.

Aus meiner Sicht behebbare Fehler sollten die Kategorien Haltestelle, nicht in zHV, Bereich, nicht in zHV, Mast, nicht in zHV und Kein Länderkürzel im IFOPT Format sein.

Insbesondere die folgenden Agencies referenzieren im zHV fehlende Stops:

SELECT category, agency_name, agency_id, count(*) Anzahl FROM (
  SELECT DISTINCT stop_id, a.agency_id, a.agency_name, CASE
    WHEN regexp_matches(stop_id, '_G$') THEN '_G Suffix'
    WHEN regexp_matches(stop_id, '^de:\d{5}:\w*$') THEN 'Haltestelle, nicht in zHV'
    WHEN regexp_matches(stop_id, '^de:\d{5}:\w*:\w*$') THEN 'Bereich, nicht in zHV'
    WHEN regexp_matches(stop_id, '^de:\d{5}:\w*:\w*:\w*$') THEN 'Mast, nicht in zHV'
    WHEN regexp_matches(stop_id, '^[a-zA-Z]{2}:\w*:\w*') THEN 'Nicht de-IFOPT'
    WHEN regexp_matches(stop_id, ':') THEN 'Kein Länderkürzel im IFOPT Format'
    ELSE 'Nicht im DHID/IFOPT Format' END category
    FROM agency a
    JOIN routes r ON a.agency_id = r.agency_id
    JOIN trips t ON r.route_id = t.route_id
    JOIN stop_times st ON st.trip_id = t.trip_id
   WHERE stop_id NOT IN (SELECT dhid FROM zhv)
  )
  WHERE category NOT IN ('_G Suffix','Nicht de-IFOPT','Nicht im DHID/IFOPT Format')
  GROUP BY agency_name, agency_id, category
  ORDER BY COUNT(*) DESC;
100% ▕████████████████████████████████████████████████████████████▏
┌───────────────────────────┬────────────────────────────────────────────────┬───────────┬────────┐
│         category          │                  agency_name                   │ agency_id │ Anzahl │
│          varchar          │                    varchar                     │   int64   │ int64  │
├───────────────────────────┼────────────────────────────────────────────────┼───────────┼────────┤
│ Mast, nicht in zHV        │ SBG - BUS1                                     │     14652 │   3551 │
│ Mast, nicht in zHV        │ Verkehrsbetriebe Mittelrhein VREM              │     14544 │   1259 │
│ Mast, nicht in zHV        │ Kombus                                         │     10291 │   1122 │
│ Mast, nicht in zHV        │ KVG Zickenheiner GmbH                          │     14543 │    983 │
│ Mast, nicht in zHV        │ Verkehrsgemeinschaft Emsland-Süd               │     12098 │    881 │
│ Mast, nicht in zHV        │ DB Regio Bus Rhein-Mosel GmbH                  │     14533 │    839 │
│ Mast, nicht in zHV        │ Martin Becker GmbH & Co. KG                    │     14532 │    801 │
│ Mast, nicht in zHV        │ Westerwaldbus des Kreises Altenkirchen G       │     14536 │    701 │
│ Mast, nicht in zHV        │ GBN-moBiel-Stadtbahn                           │     14366 │    580 │
│ Mast, nicht in zHV        │ Koblenzer Verkehrsbetriebe GmbH                │     14530 │    500 │
│ Mast, nicht in zHV        │ Verkehrsbetriebe Mittelrhein AWV               │     14531 │    483 │
│ Mast, nicht in zHV        │ JES Verkehrsgesellschaft mbH                   │     10284 │    444 │
│ Mast, nicht in zHV        │ Hülsmann Reisen                                │     13701 │    410 │
│ Mast, nicht in zHV        │ Weser-Ems-Bus Betrieb Osnabrück                │     13620 │    401 │
│ Mast, nicht in zHV        │ Bischoff-Touristik GmbH & Co. KG               │     14520 │    400 │
│ Mast, nicht in zHV        │ RVS                                            │      8103 │    386 │
│ Mast, nicht in zHV        │ Stemmler Bus GmbH                              │     14541 │    370 │
│ Mast, nicht in zHV        │ SWG-EFA Datenversorgung                        │     13766 │    339 │
│ Mast, nicht in zHV        │ Private Omnibusunternehmer GmbH                │      7640 │    322 │
│ Mast, nicht in zHV        │ Verkehrsbetrieb Rhein-Westerwald GmbH          │     14545 │    315 │
...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DELFI Falsche Angaben Hier liegt ein inhaltlicher Fehler vor
Projects
None yet
Development

No branches or pull requests

1 participant