Calcula el centroide del GeoDataFrame completo de puntos.
Me gustaría importar algunos puntos de referencia/marcadores de un archivo geojson. Luego determinar el centroide de todos los puntos. Mi código calcula el centroide de cada punto, no el centroide de todos los puntos en la serie. ¿Cómo calculo el centroide de todos los puntos en la serie?
“`
import geopandas
filepath = r'Shiloh.json'
gdf = geopandas.read_file(filepath)
xyz = gdf['geometry'].to_crs('epsg:3587')
print(type(xyz))
print(xyz)
xyz es una geometría que contiene un PUNTO Z.
c = xyz.centroid
En lugar de calcular el centroide de la colección de puntos,
el centroide ha calculado el centroide de cada punto.
Es decir, básicamente los mismos datos X e Y que el PUNTO Z.
La salida de print(type(xyz)) y print(xyz):
<class 'geopandas.geoseries.geoseries'="">
0 POINT Z (2756810.617 248051.052 0.000)
1 POINT Z (2757659.756 247778.482 0.000)
2 POINT Z (2756907.786 248422.534 0.000)
3 POINT Z (2756265.710 248808.235 0.000)
4 POINT Z (2757719.694 248230.174 0.000)
5 POINT Z (2756260.291 249014.991 0.000)
6 POINT Z (2756274.410 249064.239 0.000)
7 POINT Z (2757586.742 248437.232 0.000)
8 POINT Z (2756404.511 249247.296 0.000)
Name: geometry, dtype: geometry
La variable 'c' informa como (centroide de cada punto, no el centroide de los 9 elementos PUNTO Z):
0 POINT (2756810.617 248051.052)
1 POINT (2757659.756 247778.482)
2 POINT (2756907.786 248422.534)
3 POINT (2756265.710 248808.235)
4 POINT (2757719.694 248230.174)
5 POINT (2756260.291 249014.991)
6 POINT (2756274.410 249064.239)
7 POINT (2757586.742 248437.232)
8 POINT (2756404.511 249247.296)
dtype: geometry
“`
davy.ai
Para calcular el centroide de todos los puntos en la serie, puedes usar el atributo
unary_union
para fusionar todos los puntos en una geometría de MultiPoint y luego calcular el centroide de la geometría fusionada.Aquí está el código actualizado:
La salida debería ser el centroide de todos los puntos en la serie: