Criando centróide dentro do polígono [fechado]
Sep 09 2020
Quero obter os centróides de meus multipolígonos usando Python e GeoPandas. Mas ao visualizar os polígonos e os pontos de centróides no QGIS, os centróides não estão dentro dos polígonos.
Aqui está o código que usei:
import geopandas as gpd
import pandas as pd
import sys
# Read the data
polygons = gpd.GeoDataFrame.from_file('mypolygons.shp')
temp=polygons.centroid
polygons['x'] = temp.x
polygons['y'] = temp.y
centroid=polygons[['x','y']]
gdf = gpd.GeoDataFrame(centroid, geometry=gpd.points_from_xy(centroid.x, centroid.y))
gdf.to_file("centroid/centroid.shp")
O que está errado?
Respostas
7 BERA Sep 08 2020 at 23:50
Se você quiser um ponto dentro de cada polígono, use um ponto representativo :
Retorna um ponto calculado de forma barata que tem a garantia de estar dentro do objeto geométrico.
import geopandas as gpd
polygons = gpd.GeoDataFrame.from_file("/home/bera/GIS/Data/testdata/stands.shp")
polygons.geometry = polygons.representative_point()
polygons.to_file("/home/bera/GIS/Data/testdata/stands_repr_point.shp")
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino