#1 Wed 12 June 2019 10:36
- preliator
- Participant assidu
- Date d'inscription: 17 Nov 2018
- Messages: 433
QGIS: Remplacement de caracteres
Bonjour a tous,
Je dispose d'une table de données correspondant à la typologie des écoles (collèges, lycées, etc.). Malheureusement, dans ce base de données, des typologie décrivant la même chose sont écrits de manière différente.
Ex : "Collège", ou "Collèges", des fois "Coleges".
Comment remplacer ces éléments par un seul et même mot ? Je voudrais garder "Collège" ?
Merci a vous.
Hors ligne
#2 Wed 12 June 2019 10:44
- Pascal Boulerie
- Participant assidu
- Lieu: France
- Date d'inscription: 12 Sep 2005
- Messages: 2938
- Site web
Re: QGIS: Remplacement de caracteres
Si c'est dans une base de données, par une requête du genre SQL ?
Je ne connais pas la syntaxe exacte mais ça doit être quelque chose comme :
update valeur = "Collège" where valeur like "Col%ge%"
ou bien pour les conditions :
valeur = "Collège" OR valeur = "Collèges" OR valeur = "Coleges"
(vérifiez bien les valeurs que vous avez avant de risquer d'abimer de vraies valeurs)
« L'État est désormais quasi déliquescent. » (José Cohen-Aknine, ingénieur X-Ponts, IGPEF, dans Déliquescence et renaissance de l'État.)
Hors ligne
#3 Wed 12 June 2019 10:53
- preliator
- Participant assidu
- Date d'inscription: 17 Nov 2018
- Messages: 433
Re: QGIS: Remplacement de caracteres
Merci pour votre réponse
Malheureusement je connais que très peu le SQL. Existe-t-il une méthode avec les outils de base de Qgis (avec la calculatrice de champ) ?
Hors ligne
#4 Wed 12 June 2019 11:12
- Pascal Boulerie
- Participant assidu
- Lieu: France
- Date d'inscription: 12 Sep 2005
- Messages: 2938
- Site web
Re: QGIS: Remplacement de caracteres
je connais que très peu le SQL
C'est le moment d'apprendre.
ça doit être expliqué dans la documentation QGis quelque part : https://docs.qgis.org/3.4/pdf/fr/QGIS-3 … ide-fr.pdf
(enfin, j'espère...)
Query builder
Le Contructeur de requête (sic)
constructeur de requête
page 167
« L'État est désormais quasi déliquescent. » (José Cohen-Aknine, ingénieur X-Ponts, IGPEF, dans Déliquescence et renaissance de l'État.)
Hors ligne
#5 Wed 12 June 2019 11:16
- michel56
- Participant assidu
- Lieu: Lorient
- Date d'inscription: 14 Jul 2012
- Messages: 474
Re: QGIS: Remplacement de caracteres
Bonjour,
Avec la calculatrice de champ et la fonction replace tu devrais y arriver.
Opérateur cartographique & DAO & PHP.
Hors ligne
#6 Wed 12 June 2019 11:17
- michel56
- Participant assidu
- Lieu: Lorient
- Date d'inscription: 14 Jul 2012
- Messages: 474
Re: QGIS: Remplacement de caracteres
Bonjour,
Avec la calculatrice de champ et la fonction replace tu devrais y arriver.
Opérateur cartographique & DAO & PHP.
Hors ligne
#7 Wed 12 June 2019 14:04
- carteq
- Participant assidu
- Date d'inscription: 8 Mar 2008
- Messages: 829
Re: QGIS: Remplacement de caracteres
En SQL :
Update table Set champ =
When champ = "Collèges" Then "Collège"
When champ = "Coleges Then "Collège"
END
La calculatrice de champs permet la même chose. Fouillez sur le forum avec When et Then. On peut utiliser Like ou Ilike au lieu de =.
Hors ligne
#8 Wed 12 June 2019 19:11
- preliator
- Participant assidu
- Date d'inscription: 17 Nov 2018
- Messages: 433
Re: QGIS: Remplacement de caracteres
C'est le moment d'apprendre.
Je demande que ça d'apprendre, malheureusement je trouve que les tutos sur SQL orienté QGis sont très rares. Si tu en a à me donner (autre que la doc de QGis), je suis clairement preneur
Hors ligne
#9 Wed 12 June 2019 19:21
- carteq
- Participant assidu
- Date d'inscription: 8 Mar 2008
- Messages: 829
Re: QGIS: Remplacement de caracteres
Pour les couches virtuelles et Spatialite, voir la documentation de SQLite et Spatialite.
Un livre génial pour apprendre le SQL en général : SQL Queries for Mere Mortals: A Hands-On Guide to Data Manipulation in SQL (4th Edition)
Dernière modification par carteq (Wed 12 June 2019 19:23)
Hors ligne
#10 Wed 12 June 2019 19:21
- Pascal Boulerie
- Participant assidu
- Lieu: France
- Date d'inscription: 12 Sep 2005
- Messages: 2938
- Site web
Re: QGIS: Remplacement de caracteres
Je pense qu'il y a eu des cours de SQL pur sur http://www.forumsig.org mais le site est un peu en panne désormais.
Il doit y avoir divers sites de référence, comme developpez.com :
https://mysql.developpez.com
(qui a l'air assez touffu)
« L'État est désormais quasi déliquescent. » (José Cohen-Aknine, ingénieur X-Ponts, IGPEF, dans Déliquescence et renaissance de l'État.)
Hors ligne
#11 Wed 12 June 2019 19:27
- preliator
- Participant assidu
- Date d'inscription: 17 Nov 2018
- Messages: 433
Re: QGIS: Remplacement de caracteres
Super merci
Hors ligne
#12 Fri 21 July 2023 16:31
- triird
- Participant occasionnel
- Date d'inscription: 13 Jan 2022
- Messages: 17
Re: QGIS: Remplacement de caracteres
Bonjour,
Ce poste remonte, mais ayant été confronté au problème de remplacer de multiples caractères spéciaux dans un colonne sous Qgis, voici la solution pour les prochains si jamais :
=> remplacer "CHAMPS_CONCERNE" par votre colonne
replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace("CHAMPS_CONCERNE",'Ü','U'),'ü','u'),'Û','U'),'ù','u'),'Ô','O'),'ô','o'),'Ï','I'),'ï','i'),'Î','I'),'î','i'),'Ë','E'),'ë','e'),'Ê','E'),'ê','e'),'È','E'),'è','e'),'É','E'),'é','e'),'Ç','C'),'ç','c'),'Â','A'),'â','a'),'À','A'),'à','a')
Un peu archaïque mais ça fonctionne
Hors ligne
#13 Sat 22 July 2023 16:35
Re: QGIS: Remplacement de caracteres
Bonjour,
J'aurais tendance à privilégier cette syntaxe
Code:
replace("CHAMPS_CONCERNE", array('Ü','ü','Û','ù','Ô','ô','Ï','ï','Î','î','Ë','ë','Ê','ê','È','è','É','é','Ç','ç','Â','â','À','à'), array('U', 'u', 'U', 'u', 'O', 'o', 'I', 'i', 'I', 'i', 'E', 'e', 'E', 'e', 'E', 'e', 'E', 'e', 'C', 'c', 'A', 'a', 'A', 'a'))
Cordialement,
Hors ligne
#14 Mon 24 July 2023 08:11
- triird
- Participant occasionnel
- Date d'inscription: 13 Jan 2022
- Messages: 17
Re: QGIS: Remplacement de caracteres
Ah oui en effet, bien mieux,
merci
Hors ligne