Hoje, ao rever uma camada vectorial de distribuição de fauna com interesse para a conservação com a nossa bióloga de serviço, Sara Saraiva, tive necessidade de corrigir (em todas as linhas de determinado atributo) o nome “Aquila fasciatus”, substituindo-o por “Aquila fasciata”.
Devido à opção tomada na organização dos dados, cada polígono continha uma listagem de espécies que nele ocorrem, e o nome a corrigir encontrava-se no meio da mesma. A correcção teria de ser feita sem alterar os restantes nomes.
Tratavam-se de cerca de 80 linhas, e na verdade o termo “Aquila fasciatus” parecia uma meia dúzia de vezes, podendo ser facilmente substituído manualmente. No entanto, a minha honra geek não me permitia efectuar tal processo repetitivo e interrogava-se: “E se fossem mais?”.
Tinha portanto de encontrar uma forma de o fazer automaticamente. Precisava de um género de “Localizar e substituir…”, funcionalidade muito comum em programas de edição de texto e folhas de calculo, e sabia que o QGIS não me iria deixar ficar mal.
Depois de alguma pesquisa, a solução foi encontrada na calculadora de campo, usando a função replace().
A expressão é:
replace("campo",'string_antiga','string_nova')
E o resultado foi o esperado.



Excelente!
“a minha honra geek não me permitia efectuar tal processo repetitivo e interrogava-se: “E se fossem mais?”.”
Muitas vezes aconteceu-me o mesmo, mas como a minha honra não é tão orgulhosa fiz a edição manualmente, até que me deparei com dezenas de registos e tive que procurar maneira de agilizar o processo.
Cara, muito obrigado! Tu és uma mãe-sem-teta!
Muito bom!!! muito grato pelas dicas!
obrigado, Alexandre. Com este comando é possível fazer um conjunto de edições simultâneas? quero trocar alguns caracteres, acentos, etc.
Alexandre, se o que se passa é aparecerem caracteres estranhos no lugar de caracteres com acentos ou cedilhas, então é uma questão de encoding. Nas propriedades da layer, no separador geral, experimenta alterar o encoding para latin1.
Alexandre, antes de mais nada, gostei do mapa na capa da página. Nunca havia visto Portugal tão grande! (recentemente, porque em minha juventude ainda pertenciam à Terra diversas outras – Goa, Macau, Timor, Moçambique…). Mas vamos ao que interessa: estou usando o QGIS 3.4.11 e não encontrei ainda uma solução para a questão dos caracteres especiais. Sua dica de encoding Latin1 não funcionou, tampouco a dica recebida em outra postagem de UTF-8. Mas veja: não quero perturbá-lo, esta comunicação é mais uma troca de experiências do que um pedido. Parabéns pelo espaço!
Muito obrigada! ajudou bastante.
Aproveito para dizer que é possível usar a mesma função para editar apenas parte da string.
Por exemplo, seria possível trocar apenas ‘fasciatus’ por ‘fasciata’.
Descobri isso pois precisei trocar apenas a primeira palavra de várias feições.
Isso pode ser útil por exemplo quando quiser trocar “Rua xxxx” ou “R. xxxx”, onde o segundo terma é diferente em cada feição.
Espero ter complementado a sua ajuda!
Abraço!