Skip to main content

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

  1. Visão Geral
  2. Interpolação page
  3. Interpolacao page régua
  4. Interpolacao page PCD

Visão Geral

  • módulo interpolacao fornece 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