Cálculo automático de campos no QGIS e rótulos multilinha
E ai pessoal,
sabe aquela chatice, de toda hora ter que refazer o cálculo de um campo no QGIS? Pois bem, esses dias acabaram!!! Se liga no vídeo que eu vou mostrar a vocês como automatizar essa função e, de brinde, a criar rótulos em várias linhas.
Ah! e não se esqueça de compartilhar esse vídeos em suas redes sociais e se inscrever no canal.
Abraço,
Hebert Guilherme de Azevedo - Consultor em Geotecnologias
Inscreva-se e acompanhe nosso blog: http://bit.ly/2CL63UZ
Inscreva-se e acompanhe nosso canal Youtube: http://bit.ly/2J0H2Wa
Curta e acompanhe nossa página no Facebook: http://bit.ly/2yGErMp
Acompanhe nosso twitter: https://twitter.com/consultorgeo
sabe aquela chatice, de toda hora ter que refazer o cálculo de um campo no QGIS? Pois bem, esses dias acabaram!!! Se liga no vídeo que eu vou mostrar a vocês como automatizar essa função e, de brinde, a criar rótulos em várias linhas.
Ah! e não se esqueça de compartilhar esse vídeos em suas redes sociais e se inscrever no canal.
Abraço,
Hebert Guilherme de Azevedo - Consultor em Geotecnologias
Inscreva-se e acompanhe nosso blog: http://bit.ly/2CL63UZ
Inscreva-se e acompanhe nosso canal Youtube: http://bit.ly/2J0H2Wa
Curta e acompanhe nossa página no Facebook: http://bit.ly/2yGErMp
Acompanhe nosso twitter: https://twitter.com/consultorgeo
Boa tarde! Fiquei com uma dúvida. Se eu tiver uma feição na qual minha tabela de atributos possua campos para coordenadas em Mercator ou UTM (métricas) e outro para coordenadas em Longitude e Latitude (Grau e décimo). Como faço para atualizar todos os campos ao mesmo tempo?
ResponderExcluirBom dia Emir. Você pode usar a função area (geometry), indicando o campo de geometria que deseja utilizar. A função $area calcula apenas a geometria corrente da feição, ou seja, aquela que está sendo representada em tela.
ResponderExcluirHebert, boa tarde. Obrigado pela resposta, mas acho que eu não me fiz entender. Seu tutorial está ok, meu problema é o seguinte. Tenho um shape de pontos que possui diversos atributos e dentre estes as respectivas coordenadas. Só que eu tenho um par de atributos para as coordenadas em Mercator ou UTM e um outro par para as mesmas coordenadas em Lon / Lat, ou seja, em grau e décimo. Se eu usar a expressão $x e $y respectivamente no par de coordenadas em Mercator ou UTM, quando eu troco faço qualquer alteração no ponto ou pontos, suas coordenadas são atualizadas automaticamente na Tabela de Atributos, já o par que está em grau e décimo não, porque se eu colocar $x e $y nesses atributos ele vai transformar minha coordenada em coordenada métrica. Conseguiu entender?
ResponderExcluirEmir, de fato não tinha compreendido bem sua questão. Neste caso você fará o seguinte;
Excluirpara os campos que deseja atualizar os valores em graus decimais utilize as expressões
latitude - y ( transform( $geometry , 'EPSG:31983', 'EPSG:4326' ))
longitude - x ( transform( $geometry , 'EPSG:31983', 'EPSG:4326' ))
Neste caso troque o número do primeiro EPSG para aquele que esteja utilizando na camada (neste exemplo está o código do SRC - UTM SIRGAS 2000 23 S) e o segundo para o SRC Geográfico que deseja (No exemplo utilizei o WGS 84). Importante: Para que o resultado seja dado em graus o segundo sistema deve ser Geográfico.
Hebert, obrigado pela resposta. Fiz um teste com as expressões que você indicou e o resultado foi null. O QGIS não atualizou as coordenadas em grau decimal.
ExcluirEmir, que estranho, utilizei as funções aqui em um teste e funcionaram normalmente. Seus dados estão em um SRC Geográfico ou Projetado. Caso possa me envie os dados por email no endereço hebertazevedo.consultorgeo@gmail.com para que avalie melhor o erro.
ExcluirHebert, obrigado mais uma vez. Meus dados encontram-se em um sistema projetado (wgs84/Mercator - EPSG:3395). Vou te encaminhar o shape por email.
ExcluirHerbert, consegui. O que eu tive que fazer foi criar os campos Longitude e Latitude pela calculadora de campo. Criando o campo quando eu crio o shape ele estava dando o erro. Existe algum motivo técnico pra isso? Outra coisa foi que eu tive que mudar um pouco a sua expressão. Ao invés de longitude - x ( transform( $geometry , 'EPSG:3395', 'EPSG:4326' )) eu tive que fazer x ( transform( $geometry , 'EPSG:3395', 'EPSG:4326' ))
ExcluirAh! sim. Respondi o seu email. Esta expressão "longitude -" ou "latitude - " coloquei apenas para que você soubesse qual expressão usar em cada um dos campos. No shape que me mandou segui os passos do tutorial e deu certo, não há necessidade de criar pela calculadora.
Excluir