Offset
Este módulo define as classes OffsetPage, OffsetPageRegua e OffsetPagePCD que implementam a lógica para a adequação de dados entre dois pontos, acrescentando a todos eles um valor específico, similarmente ao ajuste de RN.
Índice
Visão Geral
O módulo offset oferece uma interface de usuário para a aplicação de adequações por offset em dados hidrológicos. Suas principais características incluem:
- Abstração de Páginas de Adequação: Herda de
AdequacaoPage, fornecendo uma estrutura padronizada para as páginas de adequação. - Implementações Específicas por Tipo de Estação: As classes
OffsetPageReguaeOffsetPagePCDlidam com as particularidades de dados para estações do tipo Régua e PCD, respectivamente. - Componentes Bokeh: Utiliza extensivamente a biblioteca Bokeh para criar gráficos de linha interativos, tabelas editáveis e seletores de data para definir o período do offset.
- Algoritmo de Offset: Integra o algoritmo
Offsetpara aplicar o ajuste de valor em um intervalo de tempo definido. - Gestão de Alterações: Oferece funcionalidades para aplicar o offset no gráfico, salvar as alterações no banco de dados e descartar edições.
Offset page
Classe para a criação de gráfico para a técnica de adequação de Offset.
Init
Inicializa uma nova instância de OffsetPage.
Parâmetros:
doc: O documento Bokeh ao qual a página será adicionada.
token_manager: O gerenciador de tokens para autenticação.
data_provider: O provedor de dados.
date: A data de referência.
date_picker: O widget de seleção de data.
Setup data
Configura os dados necessários para a página de adequação de Offset.
Set plot
Cria e exibe um gráfico de adequações pendentes em um diálogo, similar ao gráfico da supervisão.
Create widgets
Cria os widgets específicos para a página de Offset, incluindo inputs de data, valor e o botão de adequação.
Adequar gráfico
Realiza o ajuste de offset no gráfico de acordo com os parâmetros (data inicial, data final e valor) definidos pelo analista.
Atualizar adequação
Atualiza os dados de adequação no gráfico. Deve ser implementado pelas subclasses.
Parâmetros:
df_adequado (pd.DataFrame): O DataFrame contendo os dados de adequação.
Create table
Cria a tabela para exibir os dados de cota, permitindo a edição manual.
Create tabe columns
Cria as colunas da tabela de dados. Deve ser implementado pelas subclasses.
Returns:
list[TableColumn]: Uma lista das colunas da tabela.
Set window
Define as datas de início e fim da janela de visualização com base nos seletores de data, ajustando-as para cobrir períodos mínimos/máximos.
Update data
Atualiza os dados exibidos na tabela e no gráfico com base na janela de datas selecionada.
Parâmetros:
date (date): A data de referência. Defaults to None.
_Update data
Atualiza os dados específicos da técnica de offset. Deve ser implementado pelas subclasses.
Discard
Descarta as mudanças de offset aplicadas, revertendo o DataFrame interno e limpando o registro da mudança.
Save changes
Inicia o processo de salvamento das mudanças de offset.
Enviar adequações
Envia os dados da adequação de offset para a API para persistência no banco de dados.
Parâmetros:
changes_df: DataFrame contendo as mudanças a serem persistidas.
Create layout
Cria o layout da página, organizando os widgets e o gráfico.
Returns:
UIElement: O layout completo da página, combinando inputs, botões, tabela e gráfico.
Offset Page Régua
Classe para a criação de gráfico para a técnica de adequação de Offset (Régua).
Create widgets (Offset Page Régua)
Cria os widgets específicos para a página de Offset de Régua.
_Update data (Offset Page Régua)
Atualiza os dados exibidos no gráfico e na tabela para estações tipo régua, separando os dados de 07h e 17h.
Atualizar adequação (Offset Page Régua)
Atualiza os dados de adequação no gráfico, com base no DataFrame df_adequado, para estações tipo régua.
Parâmetros:
df_adequado (pd.DataFrame): O DataFrame contendo os dados de adequação ajustados.
Create table columns
Cria as colunas da tabela para estações do tipo régua, incluindo campos para cotas de 07h e 17h.
Retorno:
list[TableColumn]: Uma lista das colunas da tabela.
Offset page PCD
Classe para a criação de gráfico para a técnica de adequação de Offset (PCD).
Create widgets (Offset Page PCD)
Cria os widgets específicos para a página de Offset de PCD.
_Update data (Offset Page PCD)
Atualiza os dados exibidos no gráfico e na tabela para estações tipo PCD, focando apenas nos dados de 07h e incluindo a média da régua se aplicável.
Atualizar adequação (Offset Page PCD)
Atualiza os dados de adequação no gráfico para estações tipo PCD, focando apenas nos dados de 07h.
Parâmetros:
df_adequado (pd.DataFrame): O DataFrame contendo os dados de adequação ajustados.
Create table columns (Offset Page PCD)
Cria as colunas da tabela para estações do tipo PCD, focando apenas nos campos de 07h.
Returns:
list[TableColumn]: Uma lista das colunas da tabela.