es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para crear un GeoDataFrame a partir de un DataFrame de pandas que contiene coordenadas GeoJSON, puedes usar la función GeoDataFrame() del módulo geopandas.

    Primero, debes importar geopandas y convertir las coordenadas GeoJSON en un objeto shapely.geometry usando la función Polygon().

    Aquí tienes un ejemplo de código:

    import geopandas as gpd
    from shapely.geometry import Polygon
    
    # Crear un dataframe de muestra con coordenadas GeoJSON
    df = pd.DataFrame({'ID': [1, 2, 3], 'geometry': [{'type': 'Polygon', 
                    'coordinates': [[[0, 0], [0, 1], [1, 1], [1, 0], [0, 0]]]}, 
                    {'type': 'Polygon', 'coordinates': [[[1, 1], [1, 2], [2, 2], 
                    [2, 1], [1, 1]]]}, {'type': 'Polygon', 'coordinates': [[[2, 2], 
                    [2, 3], [3, 3], [3, 2], [2, 2]]]}]})
    
    # Convertir GeoJSON a shapely.geometry.Polygon
    df['geometry'] = df['geometry'].apply(lambda x: Polygon(x['coordinates'][0]))
    
    # Crear un GeoDataFrame
    gdf = gpd.GeoDataFrame(df, geometry='geometry')
    
    # Verificar el resultado del GeoDataFrame
    print(gdf.head())
    

    Esto producirá un GeoDataFrame que contiene una columna geometry con el objeto Polygon, y podrás realizar operaciones espaciales como trazado o buffering en él.

Comments are closed.