Este projeto realiza a análise e processamento de dados climáticos e coordenadas geográficas de municípios. Ele inclui a integração de dados adicionais de um arquivo revisado e a exportação dos resultados em arquivos Excel individuais para cada município.
CoordenadasMunicipios.xlsx→ dfCoordsspeiAll_final.csv→ dfSpeiSão João da Ponte_revisado_final.xlsx→ df_revisado
Uma planilha .xlsx para cada cidade procurada (listada em cidades_procuradas), no diretório Data.
O algoritmo é como se segue:
Pré-processamento de CoordenadasMunicipios.xlsx
- recebe uma
listde cidades a pesquisar (cidades_procuradas); - lê uma planilha eletrônica (
CoordenadasMunicipios.xlsx), gerando umDataFrame(dfCoords), de correlação entre nomes de municípios e suas coordenadas geográficas; - percorre todas as linhas de
dfCoords, gerando umdictgeral correspondente (municipios_dict), no qual as chaves são os nomes dos municípios e os valores são latitudes e longitudes; - a partir de
cidades_procuradas, busca as longitudes e latitudes correspondentes emmunicipios_dict, e copia essas informações para um novodict, específico (resultados); - imprime
resultados.
Pré-processamento de speiAll_final.csv
- lê um arquivo
CSV(speiAll_final.csv), gerando umDataFrame(dfSpei); - remove as 11 primeiras linhas de
nandodfSpei; - imprime
dfSpei; - define uma função para converter as coordenadas para valores negativos (
convert_to_negative); - aplica
convert_to_negativea todos os rótulos das colunas dedfSpei, que é onde as coordenadas se localizam.
Busca dos municípios mais próximos daqueles procurados
- define uma função para calcular a distância Euclideana entre duas coordenadas (
euclidean_distance); - cria um segundo dicionário de resultados, vazio (
result_dict); - para cada município (chave) presente em
resultados(ATO 1), extrai latitude e longitude (valores). Então, para cada coluna dedfSpei(ATO 2), calcula a distância Euclidena medianteeuclidean_distancee encontra a coluna mais próxima geograficamente. Esta então é registrada noresult_dict(ATO 3) com a chave sendo o município no qual a busca se baseou.
Gera planilhas eletrônicas individuais para cada cidade, contendo a série histórica do índice de seca SPEI
- lê uma planilha eletrônica (
São João da Ponte_revisado_final.xlsx), gerando umDataFrame(df_revisado); - para cada par chave-valor de
result_dict(ATO 3), ou seja, para cada parcidade-coluna_proxima, confere se acoluna_proximaestá presente emdfSpei(ATO 2), oferecendo um erro casoFALSE. Por outro lado, casoTRUE, cria umDataFramedf_cityque recebe dedfSpei(ATO 2): uma 1ª colunaSeries 1com a série histórica do índice de seca SPEI, e uma 2ª coluna com odatetimecorrespondente. Salva então uma planilha eletrônica para cada cidade com esses dados.