Interpolação
Este módulo define as classes InterpolacaoPage e InterpolacaoPagePCD (juntamente com InterpolacaoPageRegua, que seria implícita se não definida explicitamente), que implementam a lógica para a visualização e interação com dados de adequação utilizando diversas técnicas de interpolação.
Índice
Visão Geral
-
módulo
interpolacaofornece uma interface de usuário para a aplicação de técnicas de interpolação em dados de cota, visando corrigir ou estimar valores. Suas principais funcionalidades incluem: -
Técnicas de Interpolação: Suporta diferentes métodos de interpolação (como spline ou regressão) para ajustar a série de dados.
-
Seleção de Pontos Âncora: Permite ao usuário selecionar pontos específicos no gráfico ou tabela para servirem como base para a interpolação.
-
Visualização de Resultados: Exibe tanto os dados originais quanto os dados interpolados em gráficos interativos e tabelas.
-
Métricas de Qualidade: Apresenta o coeficiente de determinação (R²) para avaliar a qualidade do modelo de interpolação gerado.
-
Reaproveitamento de Modelo: Permite repetir a adequação com os mesmos parâmetros em diferentes horários (07h/17h).
-
Persistência de Dados: Envia as adequações realizadas para um serviço de backend.
Interpolação page
Classe para a criação de gráfico para as técnicas de interpolação.
Init
Inicializa uma nova instância de InterpolacaoPage.
Parâmetros:
doc: O documento Bokeh ao qual a página será associada.
token_manager: O gerenciador de tokens para autenticação.
data_provider: O provedor de dados.
date: A data de referência inicial.
date_picker: O widget de seleção de data. Padrão é None.
Setup data
Configura os dados iniciais necessários para a página de interpolação.
Create widgets
Cria os widgets e elementos visuais da interface para a interpolação.
Get plot
Cria e exibe um gráfico de adequações pendentes em um diálogo, similar ao gráfico de supervisão.
Create table
Cria a tabela para exibir os dados de cota, permitindo a seleção de pontos âncora.
Adequar gráfico
Gera o modelo de interpolação com base nos pontos selecionados, técnica e grau do polinômio, e atualiza o gráfico e a tabela de estimativas.
Create interpolation modal
Cria o layout para o modal de visualização do modelo de interpolação, que inclui a tabela de estimativas e um gráfico clonado.
Get cloned figure
Obtém a figura clonada do gráfico principal. Se não existir, chama _create_cloned_figure para criá-la.
Create cloned figure
Cria uma cópia exata do gráfico principal, incluindo seus renderers e HoverTools, para exibição no modal de interpolação.
Returns:
figure: A figura do gráfico clonado.
Discard changes
Descarta as mudanças de interpolação aplicadas, limpando os sources dos dados estimados.
Save changes
Inicia o processo de salvamento das adequações selecionadas na tabela de estimativas.
Update data
Atualiza os dados exibidos na tabela e no gráfico com base na data selecionada.
Parâmetros:
date: A nova data de referência. Padrão é None.
Enviar adequações
Envia os dados da adequação por interpolação para a API para persistência no banco de dados.
Parâmetros:
changes_df: DataFrame contendo as mudanças a serem registradas.
Consistent anchor points
Verifica se os pontos âncora selecionados para a interpolação são consistentes (não possuem inconsistências marcadas).
Parâmetros:
input_df (pd.DataFrame): O DataFrame de entrada, com índices inteiros.
selected_rows (List[int]): Índices selecionados na tabela.
Returns:
bool: Valor que define se os dados selecionados são consistentes ou não.
Interpolação page régua
Classe para a criação de gráfico para as técnicas de interpolação (Régua).
Create widgets (Interpolação page régua)
Cria os widgets específicos para a página de Interpolação para estações do tipo Régua.
On hour select change
Manipulador de evento para a mudança na seleção de horário (07h ou 17h), que ajusta a visibilidade dos renderers e o source da tabela.
Parâmetros:
attr: O nome do atributo modificado.
old: O valor antigo da seleção.
new: O novo valor da seleção.
Set renderers visibility
Define a visibilidade dos renderers de um determinado horário no gráfico principal e no gráfico clonado.
Parâmetros:
hour (str): O horário (e.g., '07h', '17h').
is_visible (bool): True para tornar visível, False para ocultar.
Update data (Interpolação page régua)
Atualiza os dados exibidos no gráfico e na tabela, incluindo os dados de 17h para estações tipo régua.
Parâmetros:
date: A nova data de referência. Padrão é None.
Repetir adequação
Repete a operação de adequação com os mesmos parâmetros em um horário diferente (alterna entre 07h e 17h).
Create layout
Cria o layout da página para estações do tipo Régua.
Returns:
column: O layout completo da página.
Interpolação page PCD
Classe para a criação de gráfico para as técnicas de interpolação (PCD).
Create widgets (Interpolação page PCD)
Cria os widgets específicos para a página de Interpolação para estações do tipo PCD.
Create layout (Interpolação page PCD)
Cria o layout da página para estações do tipo PCD.
Returns:
column: O layout completo da página