Exemplo de análise baseado em PCD
Análises baseadas em PCD utilizam os valores dos atributos (atuais e históricos) para tomada de decisões através de um conjunto de operadores próprios para este tipo de análise. Porém, as PCD´s podem ser utilizadas como um mapa de pontos estáticos que são cruzados com outros dados dinâmicos da mesma forma que uma análise baseada em objetos monitorados. Neste caso, a sobreposição das PCD´s com os dados dinâmicos é realizadas com uso dos operadores geográficos apresentados no item "Operadores sobre Objetos Monitorados". Todos os operadores foram criados exclusivamente para uso na plataforma, juntamente com os recursos que a linguagem de programação python proporciona.
O resultado desses operadores são armazenados em variáveis locais do python, que são armazenadas em uma nova tabela de atributos que estará associada a tabela de localização das PCD´s. Nessa nova tabela são armazenados ainda a data/hora toda vez que é realizada a análise.
A seguir apresentamos um exemplo típico da utilização de análise baseada em PCD . Assim, no exemplo abaixo considere o seguinte cenário:
- A série de dados dinâmicos do tipo PCD recebe as medidas de precipitação com frequência de 1 hora que serão utilizadas para calcular o valor acumulado no período de 24 horas.
- Os dados dinâmicos matriciais com valores de precipitação estimada por satélite serão adquiridos com frequência de 30 minutos, porém os valores destes estão em mm/h (dados “hidro”).
- O valor acumulado em 24 horas de precipitação por satélite será calculado para uma área de influência de 3 km em torno de cada PCD.
- Ambos valores de precipitação acumulada em 24 horas, medido pela PCD e calculado a partir das imagens de satélite, serão armazenado como resultado para posterior uso.
Figura 3.31 – Exemplo de análise com PCD.
Para uma melhor compreensão do programa de análise do exemplo, vamos analisar as partes no programa da figura.
# Cálculo chuva acum. em 24h de PCD
var1 = dcp.history.sum(“pluvio”, “24h”)
Essa linha define uma nova variável denominada de “var1” que será inicializada com o valor do operador “soma” aplicado à cada uma das PCD´s. Observe que “pluvio” é o nome do atributo que contém as informações de chuva horária e deve estar cadastrado em cada PCD.
# Cálculo chuva acum. em 24h satelite
bf1 = Buffer(BufferType.Out, 3, “km”)
var2 = grid.zonal.history.sum(“hidro”, “24h”, 0, bf1)
Essas duas linhas definem o tipo de buffer a ser aplicado a cada PCD. A variável “bf1” define um buffer de 3 km externo a geometria em questão, no caso em torno dos pontos de cada PCD. A variável “var2” utiliza a área do buffer de cada PCD para sobrepor a um conjunto de dados matriciais dinâmicos de nome “hidro” num período de 24 horas passadas a partir da hora atual.
# Adiciona valor a tabela
add_value(“pcd_24h”, var1)
add_value(“sat_24h”, var2)
Nas duas linha acima são definidos os nomes dos atributos que serão utilizados para armazenar os resultados das variáveis “var1” e “var2” nos atributos “pcd_24h” e “sat_24h” respectivamente. O nome da tabela que deverá receber os dois atributos é um dos parâmetros definidos para este tipo de análise.
Outro ponto importante a ser observado no exemplo, é a presença de comentários que não tem qualquer significado na execução do programa, apenas para fins de documentação. Use o sinal # para adicionar uma linha de comentário.
Ainda na Figura 3.31 mostra a tabelas envolvidas nesse tipo de análise. A tabela “tab_obj” mantém a localização de cada PCD da série de dados dinâmico definida. As tabelas “pcd_1”, “pcd_2” entre outras armazenam em cada uma os dados coletados de cada PCD. A tabela “tab_an_pcds” é criada pela análise e armazena os resultados de todas as PCDs.
Para uma maior compreensão da sintaxe da linguagem ou uso de opções avançadas, recomenda-se a leitura da documentação disponível em https://www.python.org/ .
Created with the Personal Edition of HelpNDoc: Easily create EBooks