summaryrefslogtreecommitdiff
path: root/templates/intro.html.ep
blob: ba165047626bcd676edefc41310cc12e4c88d0df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
% my $stats = globalstats();

<b>dbdb</b>

<div class="intro">
  Diese Seite sammelt Ankunfts- und Abfahrtsdaten einiger deutscher Bahnhöfe und
  berechnet daraus Statistiken zu Pünktlichkeit, Verspätungsmeldungen und
  ähnlichem. Das ist ein reines Freizeitprojekt (und aktuell ziemlich unfertig),
  für die Korrektheit und Vollständigkeit gibt es selbstverständlich keine
  Garantie. Vernünftiges Layout und Design kommt irgendwann™ mal.
</div>

<b>Bitte beachten</b>
<div class="usage">
  Die Deutsche Bahn ist über eine solche Statistiksammlung möglicherweise
  nicht ganz glücklich, daher bleibt diese Seite nichtöffentlich.
  Einzelne Graphen / Statistiken dürfen gerne (<b>ohne</b> Quellenangabe)
  weitergegeben werden. Zugangsdaten (soweit vorhanden) bitte nur mit
  Verstand weitergeben, im Zweifelsfall werden sie irgendwann geändert.
</div>

<b>Datengrundlage</b>
<div class="stationlist">
Alle 10 Minuten werden folgende Bahnhöfe abgefragt:
<ul>
% for my $station (@{$stats->{stationlist}}) {
<li><%= $station %></li>
% }
</ul>
Die Liste kann noch erweitert werden, mehr als 10 Bahnhöfe sollten es aber
nicht werden.
% if ( -e 'public/dbdb-dump.csv.xz' ) {
Es gibt auch einen <a href="/dbdb-dump.csv.xz">Datenbankdump (CSV)</a>,
Bedeutung der msg-Spalten siehe
<a href="http://man.finalrewind.org/3/Travel-Status-DE-IRIS-Result/#MESSAGES">IRIS-Result-Dokumentation</a>.
% }
</div>

  <div class="globalstats">
    In der Datenbank sind <b><%= $stats->{departures} %></b> Fahrten
    an <b><%= $stats->{days} %></b> Tagen,
    davon
    <b><%= $stats->{realtime} %></b>
    (<b><%= sprintf('%.1f%%', $stats->{realtime_rate} * 100) %></b>) mit Echtzeitdaten.
    Es gab
    <b><%= $stats->{delayed} %></b> (<%= sprintf('%.1f%%', $stats->{delayed_rate} * 100) %>)
    Züge mit mehr als 5 Minuten Verspätung und
    <b><%= $stats->{canceled} %></b> (<%= sprintf('%.1f%%', $stats->{canceled_rate} * 100) %>)
    Zugausfälle. Pünktlich auf die Minute waren
    <b><%= $stats->{ontime} %></b> (<%= sprintf('%.1f%%', $stats->{ontime_rate} * 100) %>)
    Abfahrten.
    <br/>
    Insgesamt wurden
    <b><%= sprintf('%d', $stats->{delay_sum} / 60) %> Stunden</b> an Verspätungen eingefahren,
    dabei ist ein Zug durchschnittlich
    <b><%= sprintf('%.2f', $stats->{delay_avg}) %> Minuten</b> zu spät.
  </div>

  <div class="container">
    <div class="row z-depth-2">
      <div class="col s12">
        <ul class="tabs">
          <li class="tab col s3">
            <a href="#general">Allgemein</a>
          </li>
          <li class="tab col s3">
            <a href="#meldung">Meldungen</a>
          </li>
          <li class="tab col s3">
            <a href="#top">Top</a>
          </li>
          <li class="tab col s3">
            <a href="#single">Einzeln</a>
          </li>
        </ul>
      </div>
      <div id="general" class="col s12">
        %= include 'generalbar';
      </div>
      <div id="meldung" class="col s12">
        %= include 'meldungbar';
      </div>
      <div id="top" class="col s12">
        %= include 'topform';
      </div>
      <div id="single" class="col s12">
        %= include 'individualform';
      </div>
    </div>
  </div>
</div>