banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#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

 

Pied de page des forums

Copyright Association GeoRezo