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
list
de 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 umdict
geral 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
nan
dodfSpei
; - imprime
dfSpei
; - define uma função para converter as coordenadas para valores negativos (
convert_to_negative
); - aplica
convert_to_negative
a 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_distance
e 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_proxima
está presente emdfSpei
(ATO 2), oferecendo um erro casoFALSE
. Por outro lado, casoTRUE
, cria umDataFrame
df_city
que recebe dedfSpei
(ATO 2): uma 1ª colunaSeries 1
com a série histórica do índice de seca SPEI, e uma 2ª coluna com odatetime
correspondente. Salva então uma planilha eletrônica para cada cidade com esses dados.