O cálculo da precipitação média em uma bacia hidrográfica é realizado através de dados coletados por pluviômetros que estão em áreas próximas e/ou dentro da mesma. Por definição a precipitação média é a lâmina d'água de altura uniforme sobre toda a área considerada, associada a um período de tempo.
O método de Thiessen é um dos mais usuais para a determinação da precipitação média, consiste em atribuir um fator de peso aos totais precipitados em cada pluviômetro, proporcionais a área de influência de cada um (VILLELA, 1975). Este método será demonstrado a seguir no Software Quantum GIS.
Na figura abaixo temos três layers abertos no QGIS, rainfall_gauges (estações pluviométricas com dados totais mensais de precipitação), streams (rede de drenagem) e basin (bacia hidrográfica em estudo).
![]() |
![]() |
Escolha a camada dos postos pluviométricos, se necessário aplique um buffer para que o layer gerado cubra toda a bacia:
![]() |
Em Input vector layer escolha o layer dos polígonos de Thiessen e em Clip layer escolha a bacia hidrográfica:
Com as áreas de influência dos postos pluviométricos definidas (figura abaixo), serão criados alguns campos na tabela de atributos.
Crie o campo area_km2, neste caso os dados estão em UTM e para obter os resultados em km2 deve-se dividir por 1.000.000. Salve o resultado e saia do modo de edição.
![]() |
Habilite o modo de edição e clique em Open field calculator:
Crie o campo area_km2, neste caso os dados estão em UTM e para obter os resultados em km2 deve-se dividir por 1.000.000. Salve o resultado e saia do modo de edição.
Em seguida, vá em Vector > Analysis Tools > Basic statistics:
Obtenha as estatísticas do Layer basin_thiessen, deve ser anotado o valor da soma das áreas (Sum = 3179.0643), que corresponde a área total da bacia.
Habilite o modo de edição mais uma vez para o layer thiessen_basin e crie mais um campo (area_per) contendo o valor da área de cada polígono dividida pela área total da bacia, em seguida salve a edição:
O último campo a ser criado armazenará o valor da precipitação ponderada (rainfall_p), obtido a partir da multiplicação dos valores dos campos rainfall_m e area_per, em seguida salve as alterações e saia do modo de edição:
Para obter o valor da precipitação média, acesse o menu Vector > Analysis Tools > Basic statistics e escolha o campo rainfall_p:
Em Sum temos o resultado para a precipitação média mensal, que é de 24,72 mm.
O mesmo procedimento pode ser realizado no GRASS através dos comandos abaixo:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# definição do driver sqlite para armazenamento das tabelas (importante!!!) | |
db.connect driver=sqlite database='$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite.db' | |
# verificando a conexão | |
db.connect -p | |
# criação da camada contendo os polígonos de thiessen | |
v.voronoi input=rainfall_gauges output=thiessen | |
# clip da camada thiessen com os limites da bacia hidrográfica | |
v.overlay ainput=thiessen binput=basin output=clip_thiessen operator=and | |
# criação do campo area_km2 | |
v.db.addcol map=clip_thiessen columns='area_km2 double precision' | |
# preenchimento do campo criado anteriormente | |
v.to.db map=clip_thiessen type='boundary' option='area' units='kilometers' columns='area_km2' | |
# valor da área da bacia em km2 (soma das áreas dos polígonos da camada clip_thiessen) | |
echo "SELECT sum(area_km2) FROM clip_thiessen" | db.select | |
# criação do campo area_per (porcentagem em relação a área total) | |
v.db.addcol map=clip_thiessen columns='area_per double precision' | |
# preenchimento do campo area_per | |
echo "UPDATE clip_thiessen SET area_per = (area_km2/3179.0643)" | db.execute | |
# criação do campo rainfall_per (valor da precipitação ponderada) | |
v.db.addcol map=clip_thiessen columns='rainfall_per double precision' | |
# preenchimento do campo rainfall_per (rainfall_m x area_per) | |
echo "UPDATE clip_thiessen SET rainfall_per = (a_rainfall_m * area_per)" | db.execute | |
# valor da precipitação média | |
echo "SELECT sum(rainfall_per) FROM clip_thiessen" | db.select |