<jupyter_start><jupyter_text><jupyter_code>!apt-get -qq install python-cartopy python3-cartopy

!pip install --upgrade geopandas gspread
import matplotlib.pyplot as plt
from cartopy import crs as ccrs
import gspread
from shapely.geometry import Point, Polygon
import pandas as pd
import geopandas as gpd
import os
from google.colab import auth
from oauth2client.client import GoogleCredentials

auth.authenticate_user()

gc = gspread.authorize(GoogleCredentials.get_application_default())

workbook = gc.open("Dados de mapa")
wsRESUMO = workbook.worksheet("Resumo INMET")
wsVALORES = workbook.worksheet("Valores INMET")
dados = pd.DataFrame(wsRESUMO.get_all_records())
dados
INMET = {"lat":[],"lng":[],"bacia":[]}
os.listdir("/content/Bacias")
bacia = "Grande"
for bacia in os.listdir("/content/Bacias"):
    try:
        baseDir = f"/content/Bacias/{bacia}"
        print(f"####Analisando pontos para a bacia do {bacia}####")
    except ValueError:
        print(f"Não foi possível abrir arquivo da, continuando processo de leitura.")
        continue

    for Arquivo in os.listdir(baseDir):
        print(f"Conferindo pontos pertencentes a {Arquivo}")
        
        try:    
            df = pd.read_csv(os.path.join(baseDir,Arquivo))
        except ValueError:
            print(f"Não foi possível abrir arquivo da, continuando processo de leitura.")
        continue

        polyBacia = Polygon(df.values.tolist())

        for index, row in dados.iterrows():

            p = Point(row["lng"],row["lat"])

            if polyBacia.contains(p):           
                print(f"ponto {p} pertence a bacia {bacia}")
                INMET["lat"].append(row["lat"])
                INMET["lng"].append(row["lng"])
                INMET["bacia"].append(bacia)
            else:
                continue
print("Arquivos Classificados com sucesso!")
INMET
dfINMET = pd.DataFrame.from_dict(INMET)
copyRange = "A1:C" + str(dfINMET["lat"].count() + 2)
print("copiando dados para " + copyRange)
wsVALORES.update(copyRange, [dfINMET.columns.values.tolist()]+dfINMET.values.tolist())<jupyter_output>copiando dados para A1:C2
{'fraction_non_alphanumeric': 0.12160294795025334, 'fraction_numerical': 0.0027637033625057578, 'mean_word_length': 3.0296846011131726, 'pattern_counts': {'":': 3, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '329434', 'license': 'MIT', 'n_tokens_mistral': 774, 'n_tokens_neox': 728, 'n_words': 160, 'path': 'Calcula_contornos_de_Mapa.ipynb', 'repo_name': 'Abonvicine/ESTUDOS---Gerais', 'size': '2171'}