Eu tenho um vetor de polígono e quero atingir rapidamente o centróide desse polígono para inserção em um documento de texto. Estou trabalhando com o QGIS. Eu procurei por outras perguntas e, embora algumas sejam um pouco próximas, elas não respondem completamente à minha pergunta.
Idealmente, as coordenadas do centróide estariam na tabela de atributos do polígono e eu poderia apenas copiar e colar as coordenadas.
Não quero criar um arquivo vetorial de ponto separado que represente o centróide e, em seguida, encontre essas coordenadas e copie e cole-as.
qgis
attribute-table
centroids
David
fonte
fonte
Respostas:
Um centróide é por definição uma camada de pontos e não um polígono. Para isso, é necessário criar uma nova camada, que é fácil como torta no QGIS 1.8 e versões posteriores.
Depois, você pode fazer uma junção espacial para adicionar as colunas dos centróides aos polígonos e excluir a camada de pontos novamente.
fonte
Realmente, criar um novo shapefile é uma das opções mais fáceis. No entanto, você não precisa copiar e colar coordenadas. Fazem isto:
Como alternativa, você precisará importar seus dados para o PostGIS e iterar sobre os polígonos, usando a função ST_Centroid e armazenar o resultado em um novo campo. O trabalho envolvido é praticamente o mesmo, mas a segunda opção significa que você não possui um arquivo de ponto de centróide separado.
fonte
Uma alma mais robusta à resposta 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*)'))
fonte
Que tal usar isso na Calculadora de Campo 2.2?
Campo longo = substr (geomToWKT (centróide ($ geometria)), 7, 12)
Campo Lat = substr (geomToWKT (centróide ($ geometria)), strpos (geomToWKT (centróide ($ geometria)), '') +2, 12)
Parece que isso foi resolvido no 2.6 com a opção xmin xmin (centróide ($ geometry))
fonte
Acabei de encontrar este post com quase 5 anos de atraso (!), Mas aqui está o que faço para calcular centróides de polígono na versão 2.18.14:
fonte
Associe a tabela de pontos do centróide com a tabela dos polígonos e depois coloque as coordenadas com o nome e a forma do polígono. Os polígonos não têm um lat por muito tempo
fonte
Veio através deste post e foi difícil de seguir, sugeriu atualização:
Nota: Isso calculará a latitude e longitude em suas coordenadas de projeção (que podem ser metros). Se você deseja que as coordenadas em graus decimais (suponha que sim ou sejam ininteligíveis), primeiro salve a camada neste CRS: EPSG: 4326, WGS 84.
fonte
lon = ToReal (regexp_substr (geomToWKT (centroid ($ geometry)), '([\ s]')) lat = ToReal (regexp_substr (geomToWKT (centroid ($ geometry)), '\ s [)]'))
fonte