PKP

Na stronie http://infopasazer.intercity.pl można śledzić pociągi i sprawdzać jakie mają opóźnienia. Informacje tam dostępne są aktualizowane na bieżąco i z mojego doświadczenia wynika, że nierzadko są bardziej aktualne niż zapowiedzi na stacjach. Nie jest to jednak system w pełni automatyczny (pociągi nie są śledzone przez GPS). Zdaje się, że to dyżurni ruchu muszą wprowadzać opóźnienia do systemu. Czasami zdarza się więc, że pociąg jest oznaczony jako punktualny podczas gdy w rzeczywistości ma już kilkudziesięciominutowe opóźnienie (w takich sytytuacjach po pewnym czasie dane w systemi się uaktualnią wstecz).

Sama witryna jest dość prosta, co dla mnie było dużym ułatwieniem. Crawlowanie strony utrudnił jednak pewien bug. Mianowicie data wyświetlana na rozkładzie pociągu jest zawsze datą bieżącą, a nie datą kiedy pociąg faktycznie pojedzie. Dziwna sprawa.

Liderem pod względem połączeń są Przewozy Regionalne, pozycja nr 2 należy do Kolei Mazowieckich. Zaskoczyło mnie, że Koleje Mazowieckie ma tak dużo połączeń w porównaniu z innymi regionalnymi przewoźnikami. Ciekawe, czy to przez bogactwo stołecznego regionu (i dofinansowania na jakie może sobie pozwolić samorząd). A może po prostu aglomeracja jest bardziej rozrośnięta, więc łatwiej uruchamiać więcej pociągów, które nie będą jeździć puste…

Na ile stacji dojeżdza dany przewoźnik… W zasadzie mało przydatna miara. Ciekawiej będzie zobaczyć to na mapie. To temat na kolejny wpis.

Kilka ciekawostek związanych z czasem jazdy:

  • Najdłużej jadący pociąg to oczywiście Intercity Przemyślanin relacji Szczecin Główny – Przemyśl. W styczniu podróż nim zajmowała ponad 17h i zatrzymywał się na 45 stacjach.
  • Najkótsze połączenie należy do Przewozów Regionalnych i było relacji Kostrzyn nad Odrą – Kustrien-Kietz. Jazda zajmuje 6 min. i było to w zasadzie tylko przejechanie przez Odrę.
  • Intercity dominuje w połączeniach długich, ale zdarzają się też pociągi jadące mniej niż godzinę (np. np. Katowice – Bielsko Biała Główna).
  • Najdłuższe połączenie w Przewozach Regionalnych to Piechowice – Olsztyn Główny. Jedzie ponad 10h.

Na koniec jeszcze jedna ogólna ciekawostka. Na których stacjach zatrzymuje się najwięcej pociągów?

 

Akty prawne

Czas na pierwszą wizualizację. Zaczynamy od liczby aktów prawnych wydanych w Polsce na przestrzeni kolejnych dekad.

Dane źródłowe pochodzą z Internetowego Systemu Aktów Prawnych, który znajduje się na stronach Sejmu. Baza zawiera wszystkie akty od 1918 roku. Prawie wszystkie dokumenty to PDF-y (choć starsze to skany a nie tekst). Ogólem jest ok. 67 tys. aktów, 74 tys. PDF-ów (niektóre akty mają różne typy teksów), które zajmują ~ 19GB.

akty1
[zobacz wykres w nowym oknie]

Pierwszy rzut oka zdaje się potwierdzać tezę, że produkuje się coraz więcej “prawa”. W ostatnich latach jest istotny wzrost, szczególnie gdy spojrzymy na liczbę stron a nie liczbę dokumentów. Jako laik z tej dziedziny byłem też trochę zaskoczny, że np. w latach 20 i 30 wytworzono tak mało dokumentów w porównaniu z ostatnią dekadą. Podejrzwałbym, że na początku II RP było więcej pilnych kwestii do rozwiązania. Ciekawie by było porozmawiać z ekspertem. Czy rzeczywiście jest uchwalane teraz coraz więcej prawa, które jest coraz mniej istotne? Czy może mamy coraz więcej dziedziń, które są uregulowane?

Ten wykres to także moje pierwsze poważniejsze próby z d3js. W dwóch słowach, d3js to javascriptowa biblioteka, która umożliwa tworzenie dokumentów/wizualizacji opartych na danych (Data Driven Documents). Podejście deklaratywne pozwala dość zwięźle opisać dokument. Dzięki temu wykres taki jak wyżej zajał ok. 300 linii kodu (choć czytelność stawiałem nad zwięzłość i do javascript ninjy bardzo mi daleko).

Z d3js pierwszy raz zetknąłem się już jakiś czas temu, ale dotychczas nie miałem okazji nigdzie tego wykorzystać. Ucieszyłem się, że ostatnio pojawiło się więcej tutoriali i przykładów, jak chociażby na stronie głównej projektu, czy tutaj. W d3js podoba mi się szczególnie to, że można dość niewielkim kosztem uzyskać wykres/grafikę, która wszędzie się uruchomi (HTML+js) i jest self-contained (jeśli danych nie ma dużo możemy wrzucić je bezpośrednio do javascriptu. Poza tym łatwo jest dodać elementy interaktywne, co od razu przykuwa uwagę. Mam nadzieję, że wkrótce będę mógł się pochwalić kolejnymi rezultatami.