Είστε εδώ

Γραμμές, Δρομολόγια, και Ωράρια

Υποβλήθηκε από alex στις Παρ, 01/05/2018 - 07:39.

Στην ιστοσελίδα των δρομολογίων του ΟΑΣΑ, θα βρείτε:

Γραμμές
Παράδειγμα:

  • 046 ΜΟΥΣΕΙΟ - ΕΛΛΗΝΟΡΩΣΩΝ

Δρομολόγια
Παράδειγμα:

  • ΜΟΥΣΕΙΟ - ΕΛΛΗΝΟΡΩΣΩΝ
  • MOYΣΕΙΟ - ΕΛΛΗΝΟΡΩΣΩΝ [Κάθε Σάββατο κατά τη διάρκεια της Λαϊκής Αγοράς]
  • ΕΛΛΗΝΟΡΩΣΩΝ - ΜΟΥΣΕΙΟ

Ωράρια

  • Αναχώρηση Από Αφετηρία
  • Αναχώρηση Από Τέρμα

Κάθε γραμμή μπορεί να έχει ένα ή περισσότερα δρομολόγια και 1-2 ωράρια.
Σε γενικές γραμμές, μια κυκλική γραμμή έχει ένα δρομολόγιο και ένα ωράριο.
Οι Γραμμές που έχουν διαφορετικό Τέρμα και Αφετηρία έχουν δύο δρομολόγια και δύο ωράρια.

Υπάρχουν όμως και εναλλακτικά δρομολόγια, που ακολουθούν διαφορετική διαδρομή από την κανονική.
Ο ΟΑΣΑ έχει προσθέσει αρκετά εναλλακτικά δρομολόγια, όπως δρομολόγια για μέρες λαϊκής, βραδυνά δρομολόγια που έχουν λίγο διαφορετική διαδρομή, δρομολόγια λόγω έργων, και (πρόσφατα) δρομολόγια λόγω έργων και λαϊκής. Επιπλέον, μερικές εναλλακτικές διαδρομές δεν καταγράφονται ως ξεχωριστά δρομολόγια, αλλά ως εξαιρέσεις σε ένα δρομολόγιο.

Το Επόμενο Λεωφορείο έχει λίγο διαφορετικό μοντέλο. Έχει πάλι γραμμές, δρομολόγια και ωράρια. Όμως κάθε δρομολόγιο έχει το δικό του ωράριο. Αν μια γραμμή έχει 3 δρομολόγια, θα πρέπει να έχει και 3 ωράρια. Για παράδειγμα, το δρομολόγιο της ημέρας λαϊκής θα έπρεπε να έχει ένα ωράριο αποκλειστικά για εκείνη τη μέρα. Αν μια γραμμή έχει διαφορετική αφετηρία το βράδυ, θα έπρεπε να έχει ξεχωριστό δρομολόγιο και ωράριο το βράδυ.

Επειδή ο ΟΑΣΑ δεν παρέχει ξεχωριστό ωράριο για κάθε δρομολόγιο, το Επόμενο Λεωφορείο κάνει μια αντιστοίχιση μεταξύ ωραρίων και δρομολογίων του ΟΑΣΑ. Μέχρι πρόσφατα, αυτή η αντιστοίχιση γινόταν μέσω κάποιου εσωτερικού route_id που έχει κάθε δρομολόγιο, δηλαδή αν το route_id ήταν "1" ή "01", επιλέγαμε το πρώτο ωράριο (από αφετηρία), ενώ αν το route_id ήταν "2" ή "02" επιλέγαμε το δεύτερο ωράριο (από Τέρμα).

Αυτή η αντιστοίχιση δεν ήταν πάντα σωστή. Μερικές φορές το δρομολόγιο "2" αντιστοιχούσε στη ωράριο 1. Υπήρχαν και δρομολόγια με άλλο route_id, όπως "3", "04", κ.λ.π. Μερικές φορές το route_id άλλαζε, π.χ. από "1" σε "2". Γι' αυτό το Επόμενο λεωφορείο χρησιμοποιούσε και ένα αρχείο αντιστοίχισης, στο οποιο μπορούσαμε να ορίσουμε οτι το δρομολόγιο "3" της γραμμής "829" χρησιμοποιεί το πρώτο ωράριο. Το "829" είναι το line_id, παρόμοιο με το route_id. Είναι ο δημόσιος αριθμός γραμμής. Αναπόφευκτα υπήρχαν λάθη σ' αυτή την αντιστοίχιση, τα οποία διορθώναμε αλλάζοντας αυτό το αρχείο με το χέρι.

Πρόσφατα ανακαλύψαμε οτι ο ΟΑΣΑ έχει δύο διαφορετικές γραμμές με τον ίδιο αναγραφόμενο αριθμό γραμμής. Συγκεκριμένα, για το "420":

  • 420 ΠΕΙΡΑΙΑΣ - ΑΓ. ΑΝΑΡΓΥΡΟΙ
  • 420 ΠΕΙΡΑΙΑΣ - ΑΓ. ΑΝΑΡΓΥΡΟΙ [ΜΕΣΩ ΚΗΦΙΣΟΥ] [ΑΚΤΗ ΒΑΣΙΛΕΙΑΔΗ ΕΝΑΡΞΗ ΕΩΣ 20:00]

Κάθε μια από αυτές τις γραμμές έχει δύο διαδρομές, με αποτέλεσμα να υπάρχουν 4 διαφορετικά δρομολόγια και 4 διαφορετικά ωράρια για τη γραμμή 420. Υποθέτουμε οτι το 420 χωρίστηκε σε δύο γραμμές για να παρακάμψει τον περιορισμό των δυο ωραρίων που έχει κάθε γραμμή.

Το Επόμενο Λεωφορείο δεν περίμενε να υπάρχουν διαφορετικές γραμμές με τον ίδιο αριθμό, και εμφάνιζε εσφαλμένα μόνο μία γραμμή 420 με δύο δρομολόγια.

Για να διορθώσουμε αυτό το λάθος, αλλάξαμε τον τρόπο αντιστοίχισης μεταξύ γραμμών, δρομολογίων και ωραρίων. Με την καινούργια αντιστοίχιση δεν φαίνεται να χρειάζεται εξωτερικό αρχείο αντιστοίχισης.
Η καινούργια αντιστοίχιση είναι:

  • Για κάθε γραμμή του ΟΑΣΑ, βλέπουμε τα δρομολόγια με τη σειρά που τα έχει ο ΟΑΣΑ.
  • Για να βρούμε τα ωράρια των δρομολογίων, εξαιρούμε τα δρομολόγια που αφορούν εναλλακτικά δρομολόγια (λαϊκή, έργα). Από τα δρομολόγια που απομένουν, το πρώτο αντιστοιχεί στο 1ο ωράριο και το επόμενο στο 2ο ωράριο. Αν περισσέψουν ωράρια, αντιστοιχούνται στις διαδρομές που εξαιρέθηκαν (δηλαδή τις εναλλακτικές), με τη σειρά. Όσα δρομολόγια δεν αντιστοιχήθηκαν σε ένα ωράριο έχουνε κενό ωράριο.
  • Σε περίπτωση δύο γραμμών με τον ίδιο αριθμό γραμμή (π.χ. "420"), συμπτύσσουμε τις διαδρομές τους σε μία γραμμή, αφού όμως πρώτα κάνουμε την αντιστοίχιση των ωραρίων στα δρομολόγια των δύο αρχικών γραμμών. Έτσι εμφανίζουμε τη γραμμή 420 μία φορά με 4 δρομολόγια, με το κάθε δρομολόγιο να έχει ξεχωριστό ωράριο.

Οι περιπτώσεις γραμμών με πολλαπλή καταχώρηση για τον ίδιο αριθμό γραμμής είναι: 420, Ε14, Χ96, Χ97.
Δείτε πώς τις εμφανίζει ο ΟΑΣΑ και πώς τις εμφανίζει το Επόμενο Λεωφορείο.

Σχόλια

Η Γραμμή 164 έχει 8 διαδρομές. Σ' αυτή την περίπτωση κάναμε λάθος αντιστοίχιση. Αναμένετε διόρθωση.