Adequador Bruto
Introdução
Módulo Python para adequação de dados brutos de cotas hidrométricas, processamento de lacunas e normalização para armazenamento em banco.
Índice
- Visão Geral
- Configuração
- AdequadorBruto
- AdequadorBrutoPCD
- Preencher Cotas Faltantes
- Verificador de Datas
- Registrar Status
- Obter Data do Último Registro
- Converter para Lista
- Corrigir Status
- Encontrar Média Geral
- Preencher Cota SIPAM
- Adequação PCD
- Conversão de Horário
Visão geral
Este módulo realiza:
- Preenchimento de lacunas temporais
- Cálculo de valores estimados por regressão polinomial
- Normalização de formatos de dados
- Atribuição automática de status
Fluxo principal:
Configurações
Variáveis:
logging.basicConfig(level=logging.INFO) #configura o sistema básico de logging para toda a aplicação.
logger = logging.getLogger(__name__) #cria um específico para o módulo atual.
Adequador Bruto
Classe principal para tratamento de dados regulares.
Adequador Bruto PCD
Classe especializada para dados tele métricos PCD.
Preencher Cotas Faltantes
Completa série temporal com horários padrão (07h, 12h, 17h).
Retorno:
list: Dados completos em formato JSON
Verificador de Datas
Remove registros com datas futuras.
Registrar Status
Gera metadados de processamento.
Parâmetros:
tipo_cota (str): Tipo de cota ('pcd' ou outro).
Obter Data do Último Registro
Consulta a data do último registro armazenado para a estação em processamento.
Converter para Lista
Serializa DataFrame para formato de armazenamento.
Corrigir Status
Atribui códigos de status baseado em regras:
Status Bruta: 0 (sem dado) ou 1 (com dado)
Status Analisada: 0 (sem dado) ou 2 (com dado)
Encontrar Média Gera
Calcula valores de referência para as medições das 12h.
Retorna:
data: Data da medição.
cota_sipam_12h: Valor calculado.
status_sipam_12h: Status correspondente.
Preencher Cota SIPAM
Hierarquia de fontes de dados:
- Cota analisada (status 21)
- Cota bruta (status 11)
- Média 12h analisada (status 22)
- Média 12h bruta (status 12)
Adequação PCD
Calcula valor estimado para 7h usando regressão polinomial.
Parâmetros:
cotas (list): Dados brutos da janela 6-8h .
codigo_estacao (int): Identificador da estação.
Retorno:
tuple: (valor_estimado: float, status: int)
Conversão de Horário
Método auxiliar para cálculos temporais.
Parâmetros:
data_hora (str): String no formato %Y-%m-%d %H:%M:%S.%f
Retorno:
int: Total de segundos desde 00:00:00