Operator=*, brand=*, network=* und ref=* an Fahrkartenautomaten in Baden-Württemberg

TL;DR Ich habe die Schreibweisen für operator, brand, network und ref an Fahrkartenautomaten in Baden-Württemberg und entlang der deutschen Eisenbahnen auf Schweizer Gebiet gezählt. Daraus habe ich abgeleitet, wie im Rahmen der organisierten Mappingkampagne für die NVBW diese Tags verwendet werden:

  • brand: Deutsche Bahn, bwegt, SWEG, Arverio, ansonsten der Langname ohne Gesellschaftsform
  • operator: Unternehmenslangname (des betreibenden Eisenbahn-Verkehrsunternehmens) mit Gesellschaftsform, abweichend davon “SBB”, bei der DB ist es “DB Vertrieb GmbH”
  • network: bwtarif, Deutschlandtarif, DB Fernverkehr, Flixtrain, Ostwind, Langname ohne Gesellschaftsform (“Deutsche Bahn” ist seit Start des Deutschlandtarifs veraltet)
  • Namen an Automaten werden gelöscht.
  • Bei DB-Automaten erfassen wir die Automatennummer ohne Leerzeichen zwischen B und den Ziffern.

Hallo,

im Rahmen des Imports von Barrierefreiheitsinformationen an Bahnstationen in Baden-Württemberg im Auftrag der NVBW bin ich auf die Frage gestoßen, wie ich mit operator=*, brand=* und network=* umgehen soll. Durch die einheitliche Arbeitsweise wird es im Landesgebiet sowie entlang der deutschen Eisenbahnstrecken auf schweizer Gebiet [1] und im Landkreis Neu-Ulm zu einer Vereinheitlichung der Schreibweisen kommen.

Uns liegt zu jedem Automaten ein Foto und die Automatennummer vor. Das Foto hat zwar keine besonders gute Auflösung, esist aber gut genug, um den Betreiber zu erkennen. Zusammen mit dem Wissen, wie das Logo des jeweiligen Verkehrsverbundsaussieht und den Verbundsgebieten, kann man dann auch sagen, wessen Produkte an dem Automaten erhältlich sind.

Die Taggingvorlage, die teils der Aufttraggeber (NVBW) bereitgestellt hat (und ich schon hinsichtlich einiger Bugs gepatcht habe),will einen operator an den Automaten. brand und network drängen sich dann auf.

Marke (brand=*)

Aktueller Bestand:

Wie die aktuelle Nutzung von `brand` mittels Postpass gezählt wurde

Mit folgender Postpass-SQL-Abfrage ist diese Tabelle entstanden:

curl -v -g https://postpass.geofabrik.de/api/0.2/interpreter --data-urlencode "options[geojson]=false" --data-urlencode "data=SELECT
  occurences, brand
    FROM (
      SELECT brand, count(1) AS occurences
        FROM (
          SELECT DISTINCT ON (osm_id)
              osm_id,
              trim(BOTH ' ' FROM brand) AS brand
            FROM (
              SELECT
                  p.osm_id AS osm_id,
                  regexp_split_to_table(p.tags->>'brand', ';') AS brand
                FROM postpass_point AS p
                JOIN postpass_polygon AS l
                  ON
                    ST_Intersects(p.geom, l.geom)
                    AND (
                      (l.osm_id IN (62611, 62469) AND l.osm_type = 'R')
                      -- VzG 4000, 4400 Basel Stadt
                      OR p.geom && st_setsrid( st_makebox2d( st_makepoint(7.5998,47.5588), st_makepoint(7.6595,47.597)), 4326)
                      -- VzG 4000 Schaffhausen
                      OR p.geom && st_setsrid( st_makebox2d( st_makepoint(8.4258,47.658), st_makepoint(8.7266,47.7496)), 4326)
                    ) AND p.tags->>'amenity' = 'vending_machine'
                    AND p.tags->>'vending' = 'public_transport_tickets'
                    AND p.tags ? 'brand'
            ) AS a
        ) AS b
        GROUP BY brand
    ) AS c
  ORDER BY occurences DESC"
Anzahl brand
480 Deutsche Bahn
97 bwegt
87 Karlsruher Verkehrsverbund
27 DB
4 Arverio Bayern
3 bodo
2 SWEG
1 Go-Ahead Bayern
1 Flixbus
1 RMV
1 SSB
1 Ding

In der Schweiz ist brand in diesem Kontext ungebräuchlich (exakt eine Verwendung an einem Bergbahnbilettautomaten).

Meine Erkenntnis: Die Langnamen domnieren bei den Werten, die nennenswert oft verwendet werden.

Viele Automaten haben das weiß-gelb-schwarze Bwegt-Landesdesign. Wenn das der Fall ist, würden wir die Automaten mit brand=bwegt taggen. Wo es kein Bwegt-Design gibt, würden dann Folgendes verwendet werden:

  • Deutsche Bahn
  • bwegt
  • SWEG
  • Arverio
  • ansonsten der Langname ohne Gesellschaftsform
  • Verband Region Stuttgart (In Stuttgart Hbf (tief) habe ich neulich einen Automaten mit deren Design gesehen. Der VRS ist Aufgabenträger der S-Bahn.)

Betreiber (operator=*)

Der Betreiber ist in Baden-Württemberg eines der Verkehrsunternehmen, das auf der Strecke Leistungen im Schienenpersonennahverkehr erbringt. DB Regio lässt ihre Automaten von der DB Vertrieb GmbH betreiben. Die Albtal-Verkehrs-Gesellschaft mbH macht das auf den mir bekannten Zweisystemstrecken
auch so.

Wie diese Zählung mit Postpass erfolgt ist

Mit folgender Postpass-SQL-Abfrage ist diese Tabelle entstanden:

curl -v -g https://postpass.geofabrik.de/api/0.2/interpreter --data-urlencode "options[geojson]=false" --data-urlencode "data=SELECT
  occurences, operator
    FROM (
      SELECT operator, count(1) AS occurences
        FROM (
          SELECT DISTINCT ON (osm_id)
              osm_id,
              trim(BOTH ' ' FROM operator) AS operator
            FROM (
              SELECT
                  p.osm_id AS osm_id,
                  regexp_split_to_table(p.tags->>'operator', ';') AS operator
                FROM postpass_point AS p
                JOIN postpass_polygon AS l
                  ON
                    ST_Intersects(p.geom, l.geom)
                    AND (
                      (l.osm_id IN (62611, 62469) AND l.osm_type = 'R')
                      -- VzG 4000, 4400 Basel Stadt
                      OR p.geom && st_setsrid( st_makebox2d( st_makepoint(7.5998,47.5588), st_makepoint(7.6595,47.597)), 4326)
                      -- VzG 4000 Schaffhausen
                      OR p.geom && st_setsrid( st_makebox2d( st_makepoint(8.4258,47.658), st_makepoint(8.7266,47.7496)), 4326)
                    ) AND p.tags->>'amenity' = 'vending_machine'
                    AND p.tags->>'vending' = 'public_transport_tickets'
                    AND p.tags ? 'operator'
            ) AS a
        ) AS b
        GROUP BY operator
    ) AS c
  ORDER BY occurences DESC"

Ohne die beiden Rechtecke in der Schweiz ist die Abfrage schneller.

Trennt man die Listen an den Semikola, entfernt Leerzeichen an Anfang und Ende und sortiert die Strings nach Häufigkeit erhält man (mit Landkreis Neu-Ulm und etwas Schweiz) folgende – höflich ausgedrückt – Vielfalt:

network an Semikola aufgetrennt und gezählt (Achtung, Vielfalt!)
Anzahl operator Bemerkung
624 DB Vertrieb GmbH
127 Rhein-Neckar-Verkehr GmbH Spielt für uns eigentlich kaum eine Rolle, da deren Verkehre nicht von der NVBW bestellt werden und wir deren Schmalspurbahnhöfe daher nicht mappen.
99 Deutsche Bahn
89 DB Station&Service AG Das ist eigentlich alles falsch. Das war und ist DB Vertrieb GmbH.
78 Basler Verkehrs-Betriebe
59 Verkehrsbetriebe Karlsruhe GmbH
59 Stuttgarter Straßenbahnen Kopf-an-Kopf-Rennen (siehe nächste Zeile)
52 Stuttgarter Straßenbahnen AG
39 VVS
30 DB
26 Deutsche Bahn AG
25 SWU
21 SSB
19 Albtal-Verkehrs-Gesellschaft mbH Das müssten mittlerweile abgebaute alte Automaten sein.
18 TUTicket
16 SWEG Welche SWEG? Es gibt bis zum kleinen Fahrplanwechsel noch zwei (SWEG Südwestdeutsche Landesverkehrs-GmbH und SWEG Bahn Stuttgart GmbH vormals Abellio Rail Baden-Württemberg GmbH)
14 SSB AG
12 bwegt
12 KVV
10 DB Vertrieb
9 DB Netz AG
9 DB Netz
9 RNV
8 TüBus GmbH
8 Stuttgarter Straßenbahnen (SSB)
7 Schweizerische Bundesbahnen AG
7 bodo
6 Baden-Baden Linie (BBL)
5 VRN
5 SBB
5 Karlsruher Verkehrsverbund
5 Katamaran-Reederei Bodensee GmbH
4 Verkehrs- und Tarifverbund Stuttgart
4 BVB
4 VBSH
4 TNW
4 Transdev Vertrieb
4 SWU Verkehr GmbH
3 Verkehrsverbund Schwarzwald-Baar
3 Westfrankenbahn
3 SWU Stadtwerke Ulm/Neu-Ulm GmbH
3 Transdev Vertrieb GmbH
2 Compagnie des Transports Strasbourgeois
2 Regio Verkehrsverbund Lörrach
2 BWegt
2 Verkehrsbetriebe Karlsruhe
2 Bodensee-Oberschwaben-Bahn
2 Stadtwerke Konstanz
2 Verkehrsverbund Pforzheim-Enzkreis
2 Verkehrsverbund Rottweil
2 Regio-Verkehrsverbund Freiburg
2 DB InfraGO AG
1 VPE
1 Wegis Reisen
1 Karlsruher Verkehrsbetriebe
1 Zweckverband Ringzug
1 Hohenzollerische Landesbahn
1 KVV Karlsruher Verkekehrsverbund
1 naldo
1 nvbw
1 Go Ahead
1 rnv
1 Freiburger Verkehrs AG
1 Flixmobility GmbH
1 Donau-Iller-Nahverkehrsverbund-GmbH
1 DING
1 Stadtwerke Konstanz GmbH
1 DB, bwegt, HNV, Kreisverkehr Schwäbisch Hall network wäre besser
1 DB Bahn Park vermutlich Taggingfehler bzgl. vending=*
1 Südwestdeutsche Landesverkehrs-AG Breisgau Kaiserstuhl
1 DB AG
1 SWEG Bahn Stuttgart mbH
1 SWEG Schienenwege GmbH
1 SWEG Stuttgart
1 SWEG Stuttgart GmbH
1 TGO
1 Tuticket
1 VAG
1 Verkehrsbetriebe Schaffhausen
1 Verkehrsverbund Schwarzwald-Baar-Heuberg

Mein Vorschlag: Wir nehmen den Unternehmenslangnamen mit Gesellschaftsform außer bei der SBB, also

  • DB Vertrieb GmbH
  • Verkehrsbetriebe Karlsruhe GmbH
  • SWEG Südwestdeutsche Landesverkehrs-GmbH
  • Arverio Baden-Württemberg GmbH (analog für Bayern)
  • Rhein-Neckar-Verkehr GmbH
  • SWEG Bahn Stuttgart GmbH (Anmerkung: DB Regio übernimmt das Unternehmen vsl. zum 1. August 2025 – mal schauen, ob diese dann mit dem roten Riesen verschmolzen wird)
  • SBB CFF FFS (in der gesamten Schweiz: 133 Schweizerische Bundesbahnen AG, 53 SBB CFF FFS, 49 CFF, 11 Ferrovie federali svizzere, 9 SBB CFF, 4 Chemins de fer fédéraux suisses, 2 FFS)
  • städtische Verkehrsbetriebe nach der Mehrheit im aktuellen Datenbestand

Verkehrsverbünde (network=*)

Mit network=* wird bereits erfasst, wessen Produkte erhältlich sind. Der Wert ist also eine Semikola-getrennte Liste.

Wie diese Zählung mit Postpass erfolgt ist

Mit folgender Postpass-SQL-Abfrage ist diese Tabelle entstanden:

curl -v -g https://postpass.geofabrik.de/api/0.2/interpreter --data-urlencode "options[geojson]=false" --data-urlencode "data=SELECT
  occurences, network
    FROM (
      SELECT network, count(1) AS occurences
        FROM (
          SELECT DISTINCT ON (osm_id)
              osm_id,
              trim(BOTH ' ' FROM network) AS network
            FROM (
              SELECT
                  p.osm_id AS osm_id,
                  regexp_split_to_table(p.tags->>'network', ';') AS network
                FROM postpass_point AS p
                JOIN postpass_polygon AS l
                  ON
                    ST_Intersects(p.geom, l.geom)
                    AND (
                      (l.osm_id IN (62611, 62469) AND l.osm_type = 'R')
                      -- VzG 4000, 4400 Basel Stadt
                      OR p.geom && st_setsrid( st_makebox2d( st_makepoint(7.5998,47.5588), st_makepoint(7.6595,47.597)), 4326)
                      -- VzG 4000 Schaffhausen
                      OR p.geom && st_setsrid( st_makebox2d( st_makepoint(8.4258,47.658), st_makepoint(8.7266,47.7496)), 4326)
                    ) AND p.tags->>'amenity' = 'vending_machine'
                    AND p.tags->>'vending' = 'public_transport_tickets'
                    AND p.tags ? 'network'
            ) AS a
        ) AS b
        GROUP BY network
    ) AS c
  ORDER BY occurences DESC"

Ohne die beiden Rechtecke in der Schweiz ist die Abfrage schneller.

Trennt man die Listen an den Semikola, entfernt Leerzeichen an Anfang und Ende und sortiert die Strings nach Häufigkeit erhält man (mit Landkreis Neu-Ulm und etwas Schweiz):

network an Semikola aufgetrennt und gezählt
Anzahl network
122 Karlsruher Verkehrsverbund
78 Tarifverbund Nordwestschweiz
63 Deutsche Bahn
30 Verkehrs- und Tarifverbund Stuttgart
21 Regio-Verkehrsverbund Freiburg
17 Verkehrsverbund Rhein-Neckar
9 ch-direct
8 TNW
7 bwtarif
5 BW-Tarif
5 Tarifgemeinschaft Ortenau
5 Ostwind
5 RVL
4 bwegt
3 bodo
3 RVF
2 Verkehrs-Gemeinschaft Landkreis Freudenstadt (VGF)
2 Verkehrsverbund Schwarzwald-Baar-Heuberg
2 DB
2 Verkehrsverbund Pforzheim-Enzkreis
2 Deutschlandtarif
2 Regio Verkehrsverbund Lörrach
1 VVS
1 DB Fernverkehr
1 HTV
1 RMV
1 Tarifverbund Ortenau GmbH
1 VRN
1 Baden-Württemberg-Tarif

In Basel-Stadt ist bei den Automaten der Tram network=Tarifverbund Nordwestschweiz erfasst. Bei den Automaten der S-Bahn (Betreiber: SBB) fehlt network komplett. Im Kanton Schaffhausen ist network=Ostwind gebräuchlich.

Daher würden wir als network=* ein oder mehrere der folgenden Werte erfassen:

  • bwtarif für Nahverkehrs-Fahrscheine innerhalb Baden-Württembergs über Verbundsgrenzen hinweg
  • Deutschlandtarif für Fahrscheine im Eisenbahn-Regionalverkehr über die Landesgrenze hinaus
  • DB Fernverkehr für Fernverkehrsfahrscheine der DB
  • Flixtrain
  • Bei den örtlichen Verbünden verwenden wir ebenfalls die ohne Gesellschaftsform. Ostwind bleibt Ostwind.

Im Bestand gibt es zahlreiche Automaten, deren network ein DB oder Deutsche Bahn enthält. Das stammt aus der Zeit, als der DB-Tarif auch den Regionalverkehr umfasste (+ Anstoßtarif zu nichtbundeseigenen Bahnen, die den DB-C-Tarif nicht anerkannten). Zwischenzeitlich gibt es den Deutschlandtarif, den praktisch alle Eisenbahnverkehrsunternehmen im Schienenpersonennahverkehr anerkennen. Bereits erfasste Deutsche Bahn oder DB würden wir deshalb wie folgt ersetzen:

  • Automatenbetrieb durch DB: Deutschlandtarif;DB Fernverkehr
  • andere Betreiber: Deutschlandtarif (diese verkaufen keine Fernverkehrsfahrscheine)

Namen

Erfasste Namen ergeben an Automaten keinen Sinn. Diese werden wir automatisiert über eine JOSM-Validatorregel mit Reparaturfunktion löschen, wenn man den Automaten bearbeitet.

Automatennummer (ref=*)

Wir werden die Automatennummer bei DB-Automaten stets ohne Leerzeichen erfassen, also ref=B12345 statt ref=B 12345.

Draußen findet man beides an den Automaten. Die Erfasser der NVBW haben es teils mit, teils ohne erfasst. Die Fotos geben eine Überprüfung aber nicht her. Ich habe deswegen in den OSM-Daten gezählt. Unter den DB-Automaten gibt es 558 ohne Leerzeichen, 14 mit Leerzeichen und 330 ganz ohne Nummer.

Abfrage
curl -v -g https://postpass.geofabrik.de/api/0.2/interpreter --data-urlencode "options[geojson]=false" --data-urlencode "data=SELECT
  occurences, operator_is_set, operated_by_db, ref_is_set, ref_b_has_space
    FROM (
      SELECT
          count(1) AS occurences,
          operator_is_set,
          operated_by_db,
          ref_is_set,
          ref_b_has_space
        FROM (
          SELECT DISTINCT ON (osm_id)
              osm_id,
              operator_is_set,
              operated_by_db,
              ref_is_set,
              ref_b_has_space
            FROM (
              SELECT
                  p.osm_id AS osm_id,
                  p.tags ? 'operator' AS operator_is_set,
                  p.tags->>'operator' ~ '^(DB|Deutsche Bahn)' AS operated_by_db,
                  p.tags ? 'ref' AS ref_is_set,
                  (p.tags ? 'ref' AND p.tags->>'ref' ~ '^B [0-9]') AS ref_b_has_space
                FROM postpass_point AS p
                JOIN postpass_polygon AS l
                  ON
                    ST_Intersects(p.geom, l.geom)
                    AND (
                      (l.osm_id IN (62611, 62469) AND l.osm_type = 'R')
                      -- VzG 4000, 4400 Basel Stadt
                      OR p.geom && st_setsrid( st_makebox2d( st_makepoint(7.5998,47.5588), st_makepoint(7.6595,47.597)), 4326)
                      -- VzG 4000 Schaffhausen
                      OR p.geom && st_setsrid( st_makebox2d( st_makepoint(8.4258,47.658), st_makepoint(8.7266,47.7496)), 4326)
                    ) AND p.tags->>'amenity' = 'vending_machine'
                    AND p.tags->>'vending' = 'public_transport_tickets'
                    AND p.tags ? 'ref'
            ) AS a
        ) AS b
        GROUP BY operator_is_set, operated_by_db, ref_is_set, ref_b_has_space
    ) AS c
  ORDER BY occurences DESC"

Deswegen werden wir die Nummern ohne Leerzeichen erfassen.

Wikidata-Tags

Bestand:

  • 538 Automaten mit brand:wikidata=*
  • 46 Automatne mit network:wikidata=*
  • 453 Automaten mit operator:wikidata=*
Werte für `brand:wikidata`, `network:wikidata` und `operator:wikidata`
Anzahl brand brand:wikidata network network:wikidata operator operator:wikidata
341 Deutsche Bahn Q9322 DB Vertrieb GmbH Q1152124
23 Karlsruher Verkehrsverbund Q1733986 Karlsruher Verkehrsverbund Q1733986 Verkehrsbetriebe Karlsruhe GmbH
22 Deutsche Bahn Q9322 Deutsche Bahn;Verkehrs- und Tarifverbund Stuttgart DB Vertrieb GmbH Q1152124
15 bwegt Q60982912
9 bwegt Q60982912 bwegt
7 Karlsruher Verkehrsverbund Q1733986 Karlsruher Verkehrsverbund Q1733986 Albtal-Verkehrs-Gesellschaft mbH
7 Deutsche Bahn Q9322 Regio-Verkehrsverbund Freiburg DB Vertrieb GmbH Q1152124
7 Karlsruher Verkehrsverbund Q1733986 Karlsruher Verkehrsverbund Q1733986 KVV
7 Deutsche Bahn Q9322 Deutsche Bahn;Karlsruher Verkehrsverbund;bwtarif DB Vertrieb GmbH Q1152124
6 Deutsche Bahn Q9322 Deutsche Bahn; Verkehrsverbund Rhein-Neckar DB Vertrieb GmbH Q1152124
6 Deutsche Bahn Q9322 Verkehrs- und Tarifverbund Stuttgart;Deutsche Bahn DB Vertrieb GmbH Q1152124
5 Deutsche Bahn Q9322 RVF;BW-Tarif;Deutsche Bahn DB Vertrieb GmbH Q1152124
5 Deutsche Bahn Q9322 Verkehrsverbund Rhein-Neckar;Deutsche Bahn DB Vertrieb GmbH Q1152124
5 Deutsche Bahn Q9322 Deutsche Bahn;Verkehrsverbund Rhein-Neckar DB Vertrieb GmbH Q1152124
4 Deutsche Bahn Q9322 bwegt DB Vertrieb GmbH Q1152124
4 bwegt Q60982912 DB Vertrieb GmbH
4 bwegt Q60982912 Deutsche Bahn
4 bwegt Q9322 DB Vertrieb GmbH Q1152124
4 Deutsche Bahn Q9322 RVL DB Vertrieb GmbH Q1152124
4 Deutsche Bahn Q9322 Tarifgemeinschaft Ortenau DB Vertrieb GmbH Q1152124
4 Stuttgarter Straßenbahnen Q2359602
4 Deutsche Bahn Q9322 VVS;Deutschlandtarif;BW-Tarif;DB DB Vertrieb GmbH Q1152124
4 Karlsruher Verkehrsverbund Q1733986 Karlsruher Verkehrsverbund Q1733986 Karlsruher Verkehrsverbund
3 Deutsche Bahn Q9322 Deutsche Bahn;Verkehrs- und Tarifverbund Stuttgart;Verkehrsverbund Pforzheim-Enzkreis DB Vertrieb GmbH Q1152124
3 bwegt Q60982912 DB Station&Service AG
3 Deutsche Bahn Q9322 Deutsche Bahn Q9322
2 bwegt Q60982912 BWegt
2 Deutsche Bahn Q9322 Deutsche Bahn;bwtarif;Karlsruher Verkehrsverbund;Verkehrsverbund Rhein-Neckar DB Vertrieb GmbH Q1152124
2 Karlsruher Verkehrsverbund Q1733986 Karlsruher Verkehrsverbund Q1733986
2 Deutsche Bahn Q9322 Deutsche Bahn;Karlsruher Verkehrsverbund DB Vertrieb GmbH Q1152124
2 bwegt Q60982912 Verkehrsverbund Rhein-Neckar;Deutsche Bahn DB Vertrieb GmbH
2 Deutsche Bahn Q9322 Karlsruher Verkehrsverbund;Deutsche Bahn DB Vertrieb GmbH Q1152124
2 bwegt Q60982912 DB Netz
2 bwegt Q60982912 Deutsche Bahn;Karlsruher Verkehrsverbund;bwtarif DB Vertrieb GmbH
1 Compagnie des Transports Strasbourgeois Q2990068
1 Deutsche Bahn;bwegt Q60982912 Deutsche Bahn;Karlsruher Verkehrsverbund;bwtarif
1 bwegt Q60982912 Deutsche Bahn;Karlsruher Verkehrsverbund;bwtarif
1 Karlsruher Verkehrsverbund Q1733986 Karlsruher Verkehrsverbund Q1733986 Karlsruher Verkehrsbetriebe
1 bwegt Q60982912 Deutsche Bahn;Karlsruher Verkehrsverbund;bwtarif bwegt
1 Deutsche Bahn Q9322 Deutsche Bahn; Karlsruher Verkehrsverbund DB Vertrieb GmbH Q1152124
1 Deutsche Bahn Q9322 Deutsche Bahn;Karlsruher Verkehrsverbund Deutsche Bahn Q9322
1 Deutsche Bahn Q9322 Deutsche Bahn;Karlsruher Verkehrsverbund;Verkehrsverbund Rhein-Neckar Deutsche Bahn Q9322
1 bwegt Q60982912 DB
1 bodo DB Vertrieb GmbH Q1152124
1 Deutsche Bahn Q9322 Deutsche Bahn DB Vertrieb GmbH Q1152124
1 Deutsche Bahn Q9322 Deutsche Bahn; Verkehrsverbund Rhein-Neckar;Karlsruher Verkehrsverbund DB Vertrieb GmbH Q1152124
1 Deutsche Bahn Q9322 Karlsruher Verkehrsverbund;BW-Tarif;Deutsche Bahn DB Vertrieb GmbH Q1152124
1 Deutsche Bahn Q9322 Karlsruher Verkehrsverbund;Heilbronn-Hohenloher-Haller Nahverkehr;Verkehrsverbund Rhein-Neckar;Deutsche Bahn DB Vertrieb GmbH Q1152124
1 bwegt Q60982912 Verkehrsverbund Schwarzwald-Baar-Heuberg Q115562419
1 bwegt DB Vertrieb GmbH Q1152124
1 SWEG Q9322 SWEG Stuttgart Q1152124
1 SWEG Q9322 SWEG Stuttgart GmbH Q1152124
1 Deutsche Bahn Q9322 Verkehrsverbund Schwarzwald-Baar-Heuberg Q115562419 DB Vertrieb GmbH Q1152124

Abfrage dazu:

SELECT
  occurences, brand, brand_wikidata, network, network_wikidata, operator, operator_wikidata
    FROM (
      SELECT
          count(1) AS occurences,
          brand,
          brand_wikidata,
          network,
          network_wikidata,
          operator,
          operator_wikidata
        FROM (
          SELECT DISTINCT ON (p.osm_id)
              p.osm_id AS osm_id,
              p.tags->>'brand:wikidata' AS brand_wikidata,
              p.tags->>'brand' AS brand,
              p.tags->>'network:wikidata' AS network_wikidata,
              p.tags->>'network' AS network,
              p.tags->>'operator:wikidata' AS operator_wikidata,
              p.tags->>'operator' AS operator
            FROM postpass_point AS p
            JOIN postpass_polygon AS l
              ON
                ST_Intersects(p.geom, l.geom)
                AND (
                  (l.osm_id IN (62611, 62469) AND l.osm_type = 'R')
                  -- VzG 4000, 4400 Basel Stadt
                  OR p.geom && st_setsrid( st_makebox2d( st_makepoint(7.5998,47.5588), st_makepoint(7.6595,47.597)), 4326)
                  -- VzG 4000 Schaffhausen
                  OR p.geom && st_setsrid( st_makebox2d( st_makepoint(8.4258,47.658), st_makepoint(8.7266,47.7496)), 4326)
                ) AND p.tags->>'amenity' = 'vending_machine'
                AND p.tags->>'vending' = 'public_transport_tickets'
                AND (
                  p.tags ?'brand:wikidata'
                  OR p.tags ?'network:wikidata'
                  OR p.tags ?'operator:wikidata'
                )
          ) AS a
        GROUP BY brand, brand_wikidata, network, network_wikidata, operator, operator_wikidata
    ) AS c
  ORDER BY occurences DESC;

Bis auf DB Vertrieb und KVV spielen die Wikidata-Tags keine Rolle. Daher würden wir sie mit Ausnahme dieser beiden nicht verwenden. Falsche Tags würden wir löschen.

Sonstiges

Ein paar Automaten sind seit 1. Mai schon erfasst worden. Diese werde ich nachträglich an das Ergebnis dieser Diskussion anpassen.

Viele Grüße

Michael

[1] Strecke 4000 Mannheim–Konstanz und 4400 Basel Bad. Bf.–Zell im Wiesental

1 Like