Tengo un vector de polígono y quiero alcanzar rápidamente el centroide de este polígono para insertarlo en un documento de texto. Estoy trabajando con QGIS. Busqué en otras preguntas y, aunque algunas están un poco cerca, no responden mi pregunta.
Idealmente, las coordenadas del centroide estarían en la tabla de atributos del polígono y podría copiar y pegar las coordenadas.
No quiero tener que crear un archivo vectorial de puntos separado que represente el centroide y luego encontrar estas coordenadas y copiarlas y pegarlas.
qgis
attribute-table
centroids
David
fuente
fuente
Respuestas:
Un centroide es, por definición, una capa de puntos y no un polígono. Por lo tanto, debe crear una nueva capa, que es fácil como un pastel en QGIS 1.8 y versiones superiores.
Luego, podría hacer una unión espacial para agregar las columnas de centroides a los polígonos y eliminar la capa de puntos nuevamente.
fuente
Realmente, hacer un nuevo shapefile es una de tus opciones más fáciles. Sin embargo, no necesita copiar y pegar coordenadas. Hacer esto:
Alternativamente, tendrá que importar sus datos en PostGIS y luego iterar sobre los polígonos, utilizando la función ST_Centroid y almacenar el resultado en un nuevo campo. El trabajo involucrado es casi el mismo, pero la segunda opción significa que no tiene un archivo de puntos de centroides separado.
fuente
Una soulution más robusta a la respuesta de Mike:
long = toreal(regexp_substr(geom_to_wkt(centroid($geometry)), '(-?\\d+\\.?\\d*) -?\\d+\\.?\\d*')) lat = toreal(regexp_substr(geom_to_wkt(centroid($geometry)), '-?\\d+\\.?\\d* (-?\\d+\\.?\\d*)'))
fuente
¿Qué tal usar esto en la Calculadora de campo 2.2?
Campo largo = substr (geomToWKT (centroide ($ geometry)), 7, 12)
Campo Lat = substr (geomToWKT (centroide ($ geometry)), strpos (geomToWKT (centroid ($ geometry)), '') +2, 12)
Parece que esto se aborda en 2.6 con la opción xmin xmin (centroide ($ geometry))
fuente
Acabo de encontrar esta publicación casi 5 años tarde (!), Pero esto es lo que hago para calcular los centroides de polígonos en la versión 2.18.14:
fuente
Asocia la tabla de puntos del centroide con la tabla de los polígonos y luego coloca las coordenadas con el nombre y la forma del polígono. Los polígonos no tienen un lat largo en sí mismos
fuente
Encontré esta publicación y era difícil de seguir, sugerí una actualización:
Nota: Esto calculará la latitud y longitud en sus coordenadas de proyección (que pueden ser metros). Si desea que las coordenadas estén en grados decimales (supongo que sí o son en su mayoría ininteligibles) primero guarde la capa en este CRS: EPSG: 4326, WGS 84.
fuente
lon = ToReal (regexp_substr (geomToWKT (centroid ($ geometry)), '([\ s]')) lat = ToReal (regexp_substr (geomToWKT (centroid ($ geometry)), '\ s [)]'))
fuente