Tengo 2 geodataframes:
- GDF1 es un área con polígonos superpuestos divididos en 3 clases: (limpieza, infraestructura y mantenimiento) (las líneas negras representan los polígonos superpuestos)
- GDF2 consta de polígonos que describen el tipo de superficie del área, como césped, arena, edificios, agua, etc. (los colores representan el tipo de superficie del área)
Quiero calcular: qué tipo de land_use_type (de GDF2) consiste cada polígono de GDF1.
Lo que intenté es:
GDF1 = gpd.GeoDataFrame.from_postgis('select class, geom_sm as geom
From geo.GDF1',
con=engine, geom_col='geom')
GDF2 = gpd.GeoDataFrame.from_postgis('SELECT land_use_type,wkb_geometry_sm as geom
FROM geo.GDF2',
con=engine, geom_col='geom')
Calculé el área de cada polígono de land_use_type:
GDF2["area"] = GDF2['geom'].area
Y después de eso, hice una fusión en GDF1
merged = gpd.sjoin(GDF1, GDF2, how='left', op='intersects')
Obtuve una nueva columna con áreas pero no estoy seguro si ese es el cálculo correcto.