EN | PT
Tive necessidade de, numa camada de polígonos, adicionar colunas à tabela de atributos com as coordenadas dos centroides das geometria. Cheguei às seguintes expressões para calcular as coordenadas X e Y, respectivamente:
xmin(centroid($geometry)) ymin(centroid($geometry))
A expressão parece bastante banal, mas ainda demorei a perceber que, não existindo funções x(geometry) e y(geometry), podia usar as funções xmin() e ymin() para obter as coordenadas dos centroides dos polígonos. Uma vez que esta não foi a primeira vez que precisei de usar estas expressões, fica agora o registo para não me voltar a esquecer.
This is a lot easier than using the “polygons centroids” then calculate X and Y and then performa a join by location. Thanks this saves a lot of time and you don’t end up with a lot of useless files.
e para obter as colunas da tabela com coordenadas DMS?
Rui, pode usar a função to_dms para converter coordenadas decimais em Graus Minutos e segundos.
https://docs.qgis.org/testing/en/docs/user_manual/working_with_vector/expression.html#to-dms
deu certo porém o valor é inteiro, logo varias coordenadas ficaram iguais no x e no y. ao tentar no arcgis ele deu as coordenadas com as casas decimais e não houve choque de coordenadas. você sabe como faz para aparecer no qgis as coordenadas com as casas decimais?
Elisa, o cálculo em si não limita o número de casas decimais, mas se vai gravar o resultado num campo, então tem de garantir que é do tipo decimal.