ToMove2017 / Esercitazione02

Esercitazione 2 di Applicazioni Internet
0 stars 0 forks source link

Modificare la generazione del sequence number #5

Open aleciav opened 7 years ago

aleciav commented 7 years ago

Parlando con Malnati è uscito il problema dei sequence number e del fatto che quando si disegnano le linee vengono fuori percorsi strani. Il problema sta nel fatto che una possibile lista delle fermate di una linea è organizzata nel seguente modo: 1 - sequenze fermate in andata - feriale 2 - sequenza fermate al ritorno - feriale 3 - sequenza fermate in andata - festivo 4 - sequenze fermate al ritorno - festivo il tutto nello stesso vettore. Ulteriori sequenze esistono nel caso di giorni particolari (natale, pasque, ecc...). Io non ho controllato ciò, ma me l'hanno detto. La soluzione del prof sarebbe di numerare: caso 1) da 1 a N caso 2) da N a 1 caso 3) da -1 a -N caso 4) da -N a -1 dove N è il massimo numero di sequenza nella linea. N può anche variare nella stessa linea perchè magari nei giorni festivi fa più o meno fermate rispetto ai giorni feriali. Da analizzare i casi limite quali le linee circolari.

riccardopersiani commented 7 years ago

Problemi inserimento in busstopline

1) Con l'attuale database fornito da Malnati è particolarmente arduo identificare se il percorso di un mezzo avvenga in giorni feriali piuttosto che festivi e a maggior ragione se ci si trova nel caso di vacanze pasquali o natalizie. Un esempio è la line 4: Ha 4 stop "3219" che potrebbero indicare due percorsi diverse a seconda del tipo di giorno (feriale/festivo?).

        {
          "line":"4",
          "desc":"via delle Querce/via dei Faggi (Falchera) - corso Unione Sovietica/strada del Drosso",
          "stops": ["3219","3240","3238","3234","3229","3227","3225","3223","3217","3218","237","232","234","239","1216","240","200","242","244","246","248","250","3492","1915","1220","1914","1913","2523","1105","272","274","2533","276","2537","278","280","1372","282","3368","805",
                    "3219","3240","3238","3234","3229","3227","3225","3223","3217","3218","237","232","234","239","1216","240","200","242","244","246","248","250","3492","1915","1220","1914","1913","2523","1105","272","274","2533","276","2537","278","280","1372","282","3368","3366","3364","3362","3360","3358","285","805","803","1370","2542","2540","2538","2536","2534","2532","2530","2528","2526","2527","1112","1114","1916","253","251","249","247","245","243","84","241","236","238","235","233        ","231","1285","3216","3222","3224","3226","3228","3233","3237","3239","3241",
                    "3219","285","3359","3361","3363","3365","805","803","1370","2542","2540","2538","2536","2534","2532","2530","2528","2526","2527","1112","1114","1916","253","251","249","247","245","243","84","241","236","238","235","233","231","1285","3216","3222","3224","3226","3228","3233","3237","3239","3241","3219"]
        }

2) Un altro esempio è la line 1C Ha 10 stop "6612". Qui le cose si complicano ampiamente in quanto una linea del genere potrebbe avere anche dei "cappi", ovvero potrebbe ripassare più volte sullo stesso stop senza implicare un cambio di tratta/linea.

       {
            "line":"1C",
            "desc":"Chieri, feriale, urbana, via Fratelli Cervi - via Rocchette",
            "stops": ["6112","6111","6109","6114","6116","6118","6120","6122","6123","2844","2846","2848","6124","2850","2852","6076","6054","6044","6092","6192","6100","6102","6104","6106","6108","6110",
                  "6112","6111","6109","6114","6116","6118","6120","6122","6123","2844","2846","2848","6124","2850","2852","6076","6054","6044","6092","6192","6100","6102","6104","6106","6108","6110",
                  "6112","6111","6109","6114","6116","6118","6120","6122","6123","2844","2846","2848","6124","2850","2852","6083","6082","6076","6054","6044","6092","6192",
                  "6112","6111","6109","6114","6116","6118","6120","6122","6123","6136","6137","6192","6055","6056","6075","2851","2849","6125","2847","2845","2843","6121","6119","6117","6115","6113","6108","6110",
                  "6112","6192","6055","6056","6075","6083","6082","2851","2849","6125","2847","2845","2843","6121","6119","6117","6115","6113","6108","6110",
                  "6112","6111","6109","6107","6105","6103","6101","6100","6192","6055","6056","6075","2851","2849","6125","2847","2845","2843","6121","6119","6117","6115","6113","6108","6110",
                  "6112","6111","6109","6107","6105","6103","6101","6100","6192","6055","6056","6075","2851","2849","6125","2847","2845","2843","6136","6137","6148","6150","6161","6155","6156","6157","6158","6159","6160","6108","6110",
                  "6112","6137","3072","2842","6121","6119","6117","6115","6113","6108","6110",
                  "6112","6192","6055","6056","6075","2851","2849","6125","2847","2845","2843","6136","6137","3072","2842","6121","6119","6117","6115","6113","6108","6110","6112"]
       }

3) In alcune linee, ad esempio quelle circolari, ci sono dei casi in cui abbiamo due stopId contigui. Questo sta ad indicare l'inversione di rotta del mezzo in esame ed è proprio da quel punto che il sequence number dovrebbe iniziare a decrementarsi (per rispettare il principio da "1 a N" e da "N a 1"). Il problema ovviamente è che potrebbe verificarsi il caso in cui uno stesso stopId della stessa lineId abbiamo lo stesso sequenze number (che compongono la primary key della tabella busstopline). Un esempio è la linea 102 con lo stop "3191".

      {
        "line":"102",
        "desc":"Navetta cimitero Parco",
        "stops": ["3191","348","3201","3202","3203","3204",
                                                        "3204","3205","3220","3221","3352","3191"]
      }

"3191", 1 "348", 2 "3201", 3 "3202", 4 "3203", 5 "3204", 6 "3204", 6 ??? "3205", 5 "3220", 4 "3221", 3 "3352", 2 "3191" 1