Exemplo n.º 1
0
    inputs = input('Seleccione una opción para continuar\n>')

    if int(inputs[0]) == 1:
        t1_start = process_time()
        print("\nInicializando....")
        # cont es el controlador que se usará de acá en adelante
        cont = controller.init()
        print('Tiempo de ejecución ', process_time() - t1_start, ' segundos')
    elif int(inputs[0]) == 2:
        t1_start = process_time()
        print("\nCargando información de los accidentes ....")
        controller.loadData(cont, accidentfile)
        print('Accidentes cargados: ' + str(controller.accidentsSize(cont)))
        print('Altura del arbol: ' + str(controller.indexHeight(cont)))
        print('Elementos en el arbol: ' + str(controller.indexSize(cont)))
        print('Menor Llave: ' + str(controller.minKey(cont)))
        print('Mayor Llave: ' + str(controller.maxKey(cont)))
        print('Tiempo de ejecución ', process_time() - t1_start, ' segundos')
    elif int(inputs[0]) == 3:
        t1_start = process_time()
        print("\nBuscando accidentes en un rango de fechas: ")
        initialDate = input("Rango Inicial (YYYY-MM-DD): ")
        finalDate = input("Rango Final (YYYY-MM-DD): ")
        total = controller.getAccidentsByRange(cont, initialDate, finalDate)
        print("\nTotal de accidentes en el rango de fechas: " + str(total))
        print('Tiempo de ejecución ', process_time() - t1_start, ' segundos')

    else:
        sys.exit(0)
sys.exit(0)
        # cont es el controlador que se usará de acá en adelante
        cont = controller.init()

    elif int(inputs[0]) == 2:
        print("\nCargando información de accidentes ....")
        controller.loadData(cont, accidentsfile)
        print('Accidentes cargados: ' + str(controller.accidentsSize(cont)))
        print('Altura del arbol: ' + str(controller.indexHeight(cont)))
        print('Elementos en el arbol: ' + str(controller.indexSize(cont)))
        print('Menor Llave: ' + str(controller.minKey(cont)))
        print('Mayor Llave: ' + str(controller.maxKey(cont)))

    elif int(inputs[0]) == 3:
        print("\nBuscando accidentes en una fecha: ")
        initialDate = input("Fecha (YYYY-MM-DD): ")
        lst = controller.getAccidentsByRange(cont, initialDate, initialDate)
        print("\nTotal de accidentes en el dia: " +
              str(controller.cont_accidents(lst)))
        tabla = controller.severities(lst)
        print(m.get(tabla, "1"))
        print(m.get(tabla, "2"))
        print(m.get(tabla, "3"))
        print(m.get(tabla, "4"))
    elif int(inputs[0]) == 4:
        print("\nBuscando accidentes antes de la fecha: ")
        Date = input("Fecha (YYYY-MM-DD): ")
        lst = controller.getPastAccidents(cont, Date)
        most = controller.mostAccInDate(lst)
        total_acc = lt.size(lst)
        print("\nTotal de accidentes antes de la fecha: " + str(lt.size(lst)))
        print("\nFecha con mas accidentes: " + str(most))
            cont, Date_0, Date_1)
        print("\nAccidentes reportados: " + str(total_accidentes_reportados) +
              ", categoria mas reportada: " + str(categoria_mas_reportada))

    elif int(inputs[0]) == 6:
        print("\nBuscando estado con más accidentes")
        initialDate = input("Rango Inicial (YYYY-MM-DD): ")
        finalDate = input("Rango Final (YYYY-MM-DD): ")
        mdl.prueba(cont, initialDate, finalDate)
        #controller.estado_mayor(cont, initialDate, finalDate)

    elif int(inputs[0]) == 7:
        print("\nBuscando accidentes en un rango de horas")
        initialDate = input("Rango Inicial (HH:MM):\n")
        finalDate = input("Rango Final (HH:MM):\n")
        respuesta = controller.getAccidentsByRange(hours, initialDate,
                                                   finalDate)
        print(respuesta)

        initialDate2 = datetime.datetime.strptime(initialDate, '%Y-%m-%d')
        finalDate2 = datetime.datetime.strptime(finalDate, '%Y-%m-%d')
        controller.estado_mayor(cont, initialDate2.date(), finalDate2.date())

    elif int(inputs[0]) == 8:
        print("\nBuscando zona geografica mas accidentada: ")
        lat = float(input("Ingrese latitud: "))
        lon = float(input("Ingrese longitud: "))
        radio = float(input("Ingrese radio: "))
        resultado = controller.bono(cont, lat, lon, radio)
        print(resultado)

    else:
        print("\nRequerimiento No 1 del reto 3: ")
        print("\nBuscando accidentes por severidad en una fecha: ")
        initialDate = input("Fecha (YYYY-MM-DD): ")
        severity = input("Severidad del accidente: ")
        total_accidentes = controller.getAccidentsByRangeSeverity(
            cont, initialDate, severity)
        print("\nTotal de accidentes tipo: " + str(severity) +
              " en esa fecha:  " + str(total_accidentes))

    elif int(inputs[0]) == 4:
        print("\nRequerimiento No 2 del reto 3: ")
        print("\nBuscando accidentes antes de una fecha: ")
        total = 0
        MinDate = str(controller.minKey(cont))
        MaxDate = input("Fecha (YYYY-MM-DD): ")
        total_acci = controller.getAccidentsByRange(cont, MinDate, MaxDate)
        iterator = it.newIterator(total_acci)
        while it.hasNext(iterator):
            ietar = it.next(iterator)
            total = (ietar["lstaccidents"]["size"]) + total
        print("\nTotal de accidentes antes de " + str(MaxDate) + " son: " +
              str(total))
        repetido = controller.getMasRepetido(total_acci)
        print("\nLa fecha con más accidentes es:" + str(repetido[0]) +
              " con " + str(repetido[1]) + " accidentes")
    elif int(inputs[0]) == 5:
        print("\nRequerimiento No 3 del reto 3: ")
        print("\nBuscando accidentes en un rango de fechas: ")
        initialDate = input("Rango Inicial (YYYY-MM-DD): ")
        finalDate = input("Rango Final (YYYY-MM-DD): ")
        lst = controller.getAccidentsByRange(cont, initialDate, finalDate)
Exemplo n.º 5
0
        total4 = controller.getAccidentsBySeverity2(cont, initialDate, "4")
        total3 = controller.getAccidentsBySeverity2(cont, initialDate, "3")
        total2 = controller.getAccidentsBySeverity2(cont, initialDate, "2")
        total1 = controller.getAccidentsBySeverity2(cont, initialDate, "1")
        print("\nTotal de accidentes en la fecha: " +
              str(total4 + total3 + total2 + total1))
        print("\nTotal de accidentes de severidad 4: " + str(total4))
        print("\nTotal de accidentes de severidad 3: " + str(total3))
        print("\nTotal de accidentes de severidad 2: " + str(total2))
        print("\nTotal de accidentes de severidad 1: " + str(total1))

    elif int(inputs[0]) == 4:
        print("\nRequerimiento No 2 del reto 3: ")
        print("\nBuscando accidentes de una fecha para atrás: ")
        finalDate = input("Rango Final (YYYY-MM-DD): ")
        total, most = controller.getAccidentsByRange(
            cont, str(controller.minKey(cont)), finalDate)
        print("\nEl total de accidentes de esta fecha para atrás es: " +
              str(total))
        print(
            "\nLa fecha con un mayor numero de accidentes en este rango de fecha es "
            + str(most[1] + " con un numero de accidentes igual a : " +
                  str(most[0])))

    elif int(inputs[0]) == 5:
        print("\nBuscando accidentes por severidad en las fechas: ")
        initialDate = input("Ingresa la Fecha (YYYY-MM-DD): ")
        finalDate = input("Rango Final (YYYY-MM-DD): ")
        total4 = controller.getAccidentsBySeverity(cont, initialDate,
                                                   finalDate, "4")
        total3 = controller.getAccidentsBySeverity(cont, initialDate,
                                                   finalDate, "3")