Example #1
0
def apresentaGraficoCompleto(
        registros):  # Chama as funções referente ao gráfico completo
    global flag

    xys = []
    xa = dados.getList(registros, dados.TIPO_TEMPO_REGISTROS,
                       flag + dados.COM_NONE)
    ya = dados.getList(registros, dados.TIPO_ALTITUDE, flag + dados.COM_NONE)
    if not puras.notNone(ya) and len(xa) > 1:
        xys += [(xa, ya, 0)]

    xb = dados.getList(registros, dados.TIPO_TEMPO_REGISTROS,
                       flag + dados.COM_NONE)
    yb = dados.getList(registros, dados.TIPO_BPMS, flag + dados.COM_NONE)
    if not puras.notNone(yb) and len(xb) > 1:
        xys += [(xb, yb, 1)]

    lat, lon = dados.getList(registros, dados.TIPO_LATITUDE,
                             flag + dados.COM_NONE), dados.getList(
                                 registros, dados.TIPO_LONGITUDE,
                                 flag + dados.COM_NONE)
    tempo = puras.tempo_registros(
        dados.getList(registros, dados.TIPO_TEMPO_REGISTROS,
                      flag + dados.COM_NONE))
    if not puras.notNone(lat) and not puras.notNone(lon) and len(tempo) > 1:
        xc = dados.getList(registros, dados.TIPO_TEMPO_REGISTROS,
                           flag + dados.COM_NONE)
        yc = puras.getRitmo_Por_Registro(
            tempo, puras.dist_percorrida_por_registro(lat, lon))
        xys += [(xc, yc, 2)]

    if xys != []:
        grafico.criarGrafico(xys, "Gráfico Completo")
    else:
        print(strings.sem_dados_para_grafico)
Example #2
0
def dados_nao_encontrados(bpms, passos, altitudes):
    str_msg = ""
    if puras.notNone(bpms):
        str_msg += "\n" + strings.sem_bpm + "\n"
    if puras.notNone(passos):
        str_msg += "\n" + strings.sem_cadencia + "\n"
    if puras.notNone(altitudes):
        str_msg += "\n" + strings.sem_altitude + "\n"

    print(str_msg, end="")
Example #3
0
def ritmo(registros):
    global flag

    tempo_total = dados.getTempoTotal(registros)
    latitudes = dados.getList(registros, dados.TIPO_LATITUDE, flag)
    longitudes = dados.getList(registros, dados.TIPO_LONGITUDE, flag)
    if not puras.notNone(latitudes) and not puras.notNone(longitudes):
        tempo_decorrido = tempo_total / 60
        dist_total = puras.dist_percorrida(latitudes, longitudes)
        print(strings.ritmo.format(tempo_decorrido / dist_total))
    else:
        print(strings.sem_ritmo)
Example #4
0
def apresentaResumoPorKM(
        registros):  # Chama as funções referente ao resumo por KM
    global flag

    print("\n", strings.bordas)
    i1 = 0  #Índice do início do KM
    i2 = 1  #Índice do final do KM, vai ser incrementado
    km = 1  #Contador de KM
    dist = 0  #distância
    lat = dados.getList(registros, dados.TIPO_LATITUDE, flag + dados.COM_NONE)
    lon = dados.getList(registros, dados.TIPO_LONGITUDE, flag + dados.COM_NONE)
    if not puras.notNone(lat) and not puras.notNone(lon):
        tempo = dados.getList(registros, dados.TIPO_TEMPO_REGISTROS,
                              flag + dados.COM_NONE)
        alt = dados.getList(registros, dados.TIPO_ALTITUDE,
                            flag + dados.COM_NONE)
        passos = dados.getList(registros, dados.TIPO_PASSOS,
                               flag + dados.COM_NONE)
        bpms = dados.getList(registros, dados.TIPO_BPMS, flag + dados.COM_NONE)
        while i2 < len(
                dados.getList(registros, dados.TIPO_LATITUDE,
                              flag + dados.COM_NONE)):
            dist += geodesic((lat[i2 - 1], lon[i2 - 1]),
                             (lat[i2], lon[i2])).kilometers
            if dist > km or i2 == len(
                    dados.getList(registros, dados.TIPO_LATITUDE,
                                  flag + dados.COM_NONE)
            ) - 1:  # Imprimi e armazena os dados do início do próximo k
                tempo_total = tempo[i2] - tempo[i1]
                print(
                    strings.resumoKMLAPS.format(
                        km,  # Km atual
                        "km",  # Km
                        puras.getMinutos(tempo_total),  # Minutos
                        puras.getSegundos(tempo_total),  # Segundos
                        puras.getMinutos(tempo_total),  # Ritmo
                        puras.getCadenciaPassos(passos[i1:i2],
                                                tempo_total),  # Cadência
                        puras.getMediaBpm(bpms[i1:i2], tempo[i1:i2]),  # BPM
                        puras.getGanhoOuPerda(
                            alt[i2] -
                            alt[i1]),  # String com "ganho" ou "perder"
                        puras.getModulo(alt[i2] -
                                        alt[i1])),  # Altitude ganho ou perda
                    end="")
                i1 = i2
                km += 1
            i2 += 1
        dados_nao_encontrados(bpms, passos, alt)
    else:
        print("\n" + strings.sem_distancia)
    print("\n", strings.bordas, "\n")
Example #5
0
def apresentaGraficoRitmo(
        registros):  # Chama as funções referente ao gráfico ritmo
    global flag

    lat, lon = dados.getList(registros, dados.TIPO_LATITUDE,
                             flag + flag + dados.COM_NONE), dados.getList(
                                 registros, dados.TIPO_LONGITUDE,
                                 flag + dados.COM_NONE)
    tempo = puras.tempo_registros(
        dados.getList(registros, dados.TIPO_TEMPO_REGISTROS,
                      flag + flag + dados.COM_NONE))
    if not puras.notNone(lat) and not puras.notNone(lon) and len(tempo) > 1:
        x = dados.getList(registros, dados.TIPO_TEMPO_REGISTROS,
                          flag + dados.COM_NONE)
        y = puras.getRitmo_Por_Registro(
            tempo, puras.dist_percorrida_por_registro(lat, lon))
        grafico.criarGrafico([(x, y)], ("Gráfico de Ritmo"))
    else:
        print(strings.sem_dados_para_grafico)
Example #6
0
def apresentaGraficoBPMs(
        registros):  # Chama as funções referente ao gráfico BPMs
    global flag

    x = dados.getList(registros, dados.TIPO_TEMPO_REGISTROS,
                      flag + dados.COM_NONE)
    y = dados.getList(registros, dados.TIPO_BPMS, flag + dados.COM_NONE)
    if not puras.notNone(y) and len(x) > 1:
        grafico.criarGrafico([(x, y)], ("Gráfico BPM"))
    else:
        print(strings.sem_dados_para_grafico)
Example #7
0
def cadencia_de_passos(registros):
    global flag

    lista_dos_passos = dados.getList(registros, dados.TIPO_PASSOS, flag)
    if not puras.notNone(lista_dos_passos):
        tempo_total = dados.getTempoTotal(registros)
        cadencia_passos = puras.getCadenciaPassos(lista_dos_passos,
                                                  tempo_total)
        print(strings.cadencia.format(cadencia_passos))
    else:
        print(strings.sem_cadencia)
Example #8
0
def apresentaGraficoBPMsZonas(
        registros):  # Chama as funções referente ao gráfico de Zonas do BPM
    global flag

    x = dados.getList(registros, dados.TIPO_TEMPO_REGISTROS,
                      flag + dados.COM_NONE)
    y = dados.getList(registros, dados.TIPO_BPMS, flag + dados.COM_NONE)
    if not puras.notNone(y) and len(x) > 1:
        idade = int(input("Digite sua idade: "))
        grafico.criarGrafico([(x, y)], ("Gráfico Zonas de BPM", idade))
    else:
        print(strings.sem_dados_para_grafico)
Example #9
0
def batimentos_por_minutos(registros):
    global flag
    contador = 0
    lista_dos_bpms = dados.getList(registros, dados.TIPO_BPMS, flag)
    if not puras.notNone(lista_dos_bpms):
        tempo = dados.getList(registros, dados.TIPO_TEMPO_REGISTROS, flag)
        bpm_max = max(lista_dos_bpms)
        bpm_min = min(lista_dos_bpms)
        print(strings.bpm_maxima.format(bpm_max))
        print(strings.bpm_minima.format(bpm_min))
        print(
            strings.bpm_media.format(puras.getMediaBpm(lista_dos_bpms, tempo)))
    else:
        print(strings.sem_bpm)
Example #10
0
def altitude_max_e_min(registros):
    global flag

    lista_das_altitudes = dados.getList(registros, dados.TIPO_ALTITUDE, flag)
    if not puras.notNone(lista_das_altitudes):
        altitude_max = max(lista_das_altitudes)
        altitude_min = min(lista_das_altitudes)
        altitude_inicial = lista_das_altitudes[0]
        print(strings.altitude_maxima.format(
            altitude_max - altitude_inicial))  # Altitude relativa máxima
        print(strings.altitude_minima.format(
            altitude_inicial - altitude_min))  # Altitude relativa mínima
    else:
        print(strings.sem_altitude)