Pages: 1
- Sujet précédent - QGIS: concatener champs en gardant les zeros non significatifs - Sujet suivant
#1 Sun 21 December 2025 23:24
- flo
- Juste Inscrit !
- Date d'inscription: 21 Dec 2025
- Messages: 1
QGIS: concatener champs en gardant les zeros non significatifs
Bonjour tout le monde
J'ai récupéré (ici https://www.data.gouv.fr/datasets/fichi … es-morales ) le Fichier des locaux et des parcelles des personnes morales pour mon département (Pyrénées-Atlantiques).
il s'agit d'un fichier texte au format CSV qui ne contient pas d'information de géométrie : il me faut donc le joindre à une couche géométrique contenant les parcelles. Ça pas de souci, je la récupère par exemple là : https://cadastre.data.gouv.fr/datasets/cadastre-etalab
Le fichier "parcelles des personnes morales" ne contient malheureusement pas de champ renseignant le code complet de la parcelle cadastrale mais (entre autres) les champs suivants :
Code:
"Département" "Code Commune" "Préfixe" "Section" "N° plan"
NB : au moment d'importer ce fichier CSV dans QGIS, dans la prévisualisation de la fenêtre "Gestionnaire des sources de données | Texte délimité" je "vois" les zéros non significatifs sur les champs "code commune" et "nº plan" mais je vois le champ "préfixe" vide (je suppose que les premières lignes de l'aperçu n'ont donc pas de préfixe ce qui devrait se traduire dans l'identifiant de la parcelle cadastrale par "000").
Je me dis "Parfait ! j'ai tout ce qu'il me faut pour reconstruire l'identifiant des parcelles cadastrales".
je tente donc dans la calculatrice de champ de m'en créer un nouveau grâce à la fonction concat() :
Code:
concat( "Département","Code Commune","Préfixe","Section","N° plan")
Sauf que ça donne comme résultat par exemple :
Code:
641 A116
alors que j'aurais besoin d'un résultat qui conserve les "zéro non significatifs" (est-ce bien comme ça qu'on appelle les zéros à gauche d'un nombre ?) de manière à ce que "Département" et "Code Commune" donnent 64001 et non pas 641.
Voilà en gros ce que je voudrais obtenir :
Code:
640010000A0116
Autre "problème" (?) le champ "Section" est renseigné par exemple sous la forme " A" (lire "espace A") et non pas "0A" or, je ne peux pas juste forcer un zéro supplémentaire entre "Préfixe" et "Section" car les sections à deux lettres (par exemple "AA") auront alors un "0" surnuméraire ...
PS, j'ai vu un sujet semblable là, mais ça ne répond pas à ma question
https://georezo.net/forum/viewtopic.php?id=130632#
d'avance merci pour votre aide !
Florent - sigiste amateur
PPS : je fais de la carto pour mon plaisir et par curiosité, pas dans un cadre pro.
Hors ligne
#2 Mon 22 December 2025 12:36
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 4187
Re: QGIS: concatener champs en gardant les zeros non significatifs
Bonjour,
alors que j'aurais besoin d'un résultat qui conserve les "zéro non significatifs" (est-ce bien comme ça qu'on appelle les zéros à gauche d'un nombre ?) de manière à ce que "Département" et "Code Commune" donnent 64001 et non pas 641.
Quand vous importez via le délimiteur de texte, QGIS essaie d'identifier le type du champ en question en fonction des valeurs présentes. Le type est affiché juste sous le nom du champ en partie basse de la fenêtre et vous pouvez modifier via la liste déroulante. Vos champs ont certainement été identifiés comme des entiers, passez-les en type "texte" et ça devrait conserver les zéros non significatifs.
Autre "problème" (?) le champ "Section" est renseigné par exemple sous la forme " A" (lire "espace A") et non pas "0A" or, je ne peux pas juste forcer un zéro supplémentaire entre "Préfixe" et "Section" car les sections à deux lettres (par exemple "AA") auront alors un "0" surnuméraire ...
Pour remplacer l'espace dans la valeur du champ par un zéro, vous avez des fonctions comme replace. Remplacez "Section" dans votre formule par
Code:
replace( "Section, ' ', '0')
Hors ligne
Pages: 1
- Sujet précédent - QGIS: concatener champs en gardant les zeros non significatifs - Sujet suivant

