Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Funcao

Seria possivel criar uma funcao que faz o set_crs de uma so vez?

metro_sp = gpd.read_file(url_metro_sp)

cultural_sp = gpd.read_file(url_cultural_sp)

shapes = [metro_sp, cultural_sp]

for shape in shapes:
  shape.set_crs('+proj=utm +zone=23 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=km +no_defs')
1 resposta
solução!

Olá, Bruna! Acredito que seja possível, sim, criar uma função para fazer o set_crs de uma vez. Para finalizar o seu código você pode criar uma função que recebe uma lista de GeoDataFrames e a string do CRS que você deseja definir para cada um deles. Aqui está um exemplo:

def set_crs_all(shapes, crs):
    for shape in shapes:
        shape.set_crs(crs, inplace=True)

# Definindo a lista de GeoDataFrames
shapes = [metro_sp, cultural_sp]

# Definindo a string do CRS
crs = '+proj=utm +zone=23 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=km +no_defs'

# Chamando a função
set_crs_all(shapes, crs)

Lembre-se de que essa solução pode não funcionar em todos os casos, especialmente se os GeoDataFrames em sua lista tiverem CRS diferentes uns dos outros. Mas para o seu caso específico, acredito que isso possa funcionar.

Espero ter ajudado e bons estudos!