Esta página documenta as principais classes e métodos disponíveis no Kit de Interpolação.
interpoladores
IDW
from interpoladores.idw import IDW
from interpoladores.config import IDWConfig
Descrição: Implementa o método de interpolação Inverse Distance Weighting.
Construtor:
IDW(config: IDWConfig = IDWConfig())
: Inicializa o interpolador IDW com a configuração especificada.Métodos:
interpolar(pontos, valores, grid_x, grid_y)
: Realiza a interpolação IDW sobre uma grade regular.
pontos
: Array de shape (N, 2) com coordenadas XY dos pontos amostrados.valores
: Array de shape (N,) com os valores correspondentes aos pontos.grid_x
: Meshgrid com coordenadas X da grade.grid_y
: Meshgrid com coordenadas Y da grade.IDWConfig
from interpoladores.config import IDWConfig
Descrição: Configuração para o algoritmo IDW.
Atributos:
power
: Expoente da distância. Valores maiores aumentam a influência de pontos próximos. Default é 2.0.n_neighbors
: Número de vizinhos a considerar. Se None, usa todos os pontos. Default é None.max_distance
: Distância máxima para considerar pontos. Se None, não há limite. Default é None.default_value
: Valor padrão para células sem vizinhos válidos. Se None, usa NaN. Default é None.Krigagem
from interpoladores.krigagem import Krigagem
from interpoladores.config import KrigagemConfig
Descrição: Implementa o método de interpolação por Krigagem Ordinária.
Construtor:
Krigagem(x, y, z, *, config=None)
: Inicializa o interpolador de Krigagem.
x
: Coordenadas X dos pontos amostrados.y
: Coordenadas Y dos pontos amostrados.z
: Valores associados aos pontos.config
: Configuração da Krigagem. Se None, usa configuração padrão.Métodos:
interpolar(gridx, gridy)
: Executa a Krigagem Ordinária sobre a grade fornecida.
gridx
: Meshgrid das coordenadas X da grade.gridy
: Meshgrid das coordenadas Y da grade.KrigagemConfig
from interpoladores.config import KrigagemConfig
Descrição: Configuração para o algoritmo de Krigagem Ordinária.
Atributos:
modelo_variograma
: Modelo de variograma a ser usado. Opções: 'linear', 'power', 'gaussian', 'spherical', 'exponential'. Default é 'spherical'.nlags
: Número de lags para cálculo do variograma experimental. Se None, usa o valor padrão do PyKrige. Default é None.variogram_model_parameters
: Parâmetros específicos do modelo de variograma. Se None, PyKrige estima automaticamente. Default é None.anisotropy_angle
: Ângulo de anisotropia em graus (0-180). Se 0, assume isotropia. Default é 0.anisotropy_ratio
: Razão de anisotropia. Deve ser >= 1.0. Default é 1.0 (isotropia).verbose
: Se True, exibe informações durante o processamento. Default é False.enable_statistics
: Se True, calcula e retorna estatísticas de erro. Default é False.ModeloPotenciometrico
from interpoladores.modelo_potenciometrico import ModeloPotenciometrico
Descrição: Classe para cálculo de vetores de fluxo (modelo potenciométrico) a partir de uma superfície interpolada.
Construtor:
ModeloPotenciometrico(grid_x, grid_y, z)
: Inicializa o modelo potenciométrico.
grid_x
: Grade de coordenadas X (meshgrid).grid_y
: Grade de coordenadas Y (meshgrid).z
: Superfície interpolada.Métodos:
calcular_gradiente()
: Calcula o gradiente da superfície z.
calcular_fluxo()
: Calcula os vetores de fluxo (gradiente invertido) da superfície z.
plotar_vetores_fluxo
from interpoladores.modelo_potenciometrico import plotar_vetores_fluxo
Descrição: Plota os vetores de fluxo sobre a grade.
Parâmetros:
grid_x
: Grade de coordenadas X (meshgrid).grid_y
: Grade de coordenadas Y (meshgrid).fx
: Componente X dos vetores de fluxo.fy
: Componente Y dos vetores de fluxo.title
: Título do gráfico. Default é "Vetores de Fluxo".densidade
: Densidade de vetores a mostrar (1 = todos). Default é 1.escala
: Fator de escala para os vetores. Default é 1.0.cor
: Cor dos vetores. Default é 'blue'.salvar_como
: Caminho para salvar a figura. Se None, não salva. Default é None.Retorno: Objeto Figure do matplotlib com o gráfico gerado.
utils
grid_utils
from utils.grid_utils import criar_grade_regular
Descrição: Utilitários para criação e manipulação de grades.
Funções:
criar_grade_regular(x_min, x_max, y_min, y_max, nx, ny)
: Cria uma grade regular para interpolação.
x_min
, x_max
: Limites horizontais da grade.y_min
, y_max
: Limites verticais da grade.nx
, ny
: Número de pontos nas direções X e Y.logging_utils
from utils.logging_utils import configurar_logger, InterpoladorLogger
Descrição: Utilitários de logging para monitoramento de progresso dos algoritmos.
Funções:
configurar_logger(nome, nivel, formato, arquivo_log, console)
: Configura um logger com handlers para console e/ou arquivo.Classes:
InterpoladorLogger
: Classe para logging de operações de interpolação.io_utils
leitor
from io_utils.leitor import ler_pontos_csv, ler_pontos_shapefile
Descrição: Funções para leitura de dados de diferentes formatos.
Funções:
ler_pontos_csv(arquivo, delimitador, colunas)
: Lê pontos e valores de um arquivo CSV.ler_pontos_shapefile(arquivo, campo_valor)
: Lê pontos e valores de um arquivo Shapefile.exportador
from io_utils.exportador import exportar_raster, exportar_vetores
Descrição: Funções para exportação de resultados em diferentes formatos.
Funções:
exportar_raster(grid_x, grid_y, z, arquivo_saida, sistema_coord)
: Exporta uma grade interpolada como arquivo raster.exportar_vetores(grid_x, grid_y, fx, fy, arquivo_saida, sistema_coord)
: Exporta vetores de fluxo como arquivo shapefile.