Manipuler les données du cadastre

Si vous avez d'autres questions, ou si vous souhaitez que nous vous aidions sur d'autres aspects de l'utilisation du cadastre, n'hésitez pas à nous l'indiquer ici pour que nous puissions compléter ce guide.

Télécharger les données

Les versions du plan cadastral

Il existe aujourd'hui trois versions des données du plan cadastral :

  • la version de la Direction générale des finances publiques (DGFiP)

    Elle est mise à jour tous les 3 mois environ, théoriquement aux 01/01, 01/04, 01/07 et 01/10 (il s'agit plutôt des dates d'extraction, les données sont réellement mises à disposition quelques jours après). Dans le cadre du service public de la donnée (SPD), la Direction interministérielle du numérique (DINUM) diffuse ces données pour le compte de la DGFiP. Plus d'informations sont disponibles sur cette page ;

  • la version d'Etalab

    Elle consiste en un assemblage de données, qui s'appuie sur les données Edigeo (Plan Cadastral Informatisé issu de la DGFiP, ci-dessus) et les données de Strasbourg (hors PCI). Elle peut présenter quelques erreurs, en particulier du fait de l'interprétation des géométries issues du format Edigeo. Les formats proposés sont du GeoJSON et du SHP. Cette version étant dépendante de la version précédente mais nécessitant plus de traitement, elle requiert plusieurs semaines pour sa mise à disposition, à partir de la réception des données transmises par la DGFiP. Il s'agit d'un produit de la Direction interministérielle du numérique (DINUM). Plus d'informations sont disponibles sur cette page ;

  • la version de l'Institut national de l'information géographique et forestière (IGN) : proposée via le produit PCI Express.

    La mise à jour est effectuée après la mise à disposition des données Edigeo sur cadastre.data.gouv.fr.

Pour télécharger les données, vous pouvez vous rendre sur :

Focus sur les différentes manières de consommer les données DINUM issues de la DGFiP

Dans les données version DGFiP

Il est possible de prendre les données :

  • en choisissant par millésime et par types de fichiers souhaités https://cadastre.data.gouv.fr/datasets/plan-cadastral-informatise#millesimes-disponibles-telechargement-direct

  • en passant par l'aide au téléchargement qui permet de chercher les données par nom de ressource plutôt qu'avec des codes. L'outil permet aussi de télécharger une commune complète ou un EPCI complet sans devoir prendre chaque feuille de chaque commune

Dans les données version Etalab

Il existe exactement le même principe que pour les données version DGFIP avec :

  • le téléchargement direct https://cadastre.data.gouv.fr/datasets/cadastre-etalab#millesimes-disponibles-telechargement-direct

  • l'aide au téléchargement https://cadastre.data.gouv.fr/datasets/plan-cadastral-informatise#aide-au-telechargement

Derrière ces outils se cachent deux URLs :

  • la première pour les données les plus récentes, de 2022/2023 à aujourd'hui https://cadastre.data.gouv.fr/data/

  • les autres pour les données les plus anciennes, avant 2022 https://files.data.gouv.fr/cadastre/

La bascule de l'un à l'autre est liée au fait que l'on souhaite pouvoir gagner de l'espace disque sur le serveur mettant à disposition les données récentes. Cette bascule permet de supprimer un certain nombre de jeu de données redondants. Cela facilite la consommation mais fait plus que doubler la taille des données pour un millésime. Nous avons commencé pour des raisons de sauvegarde et d'espace disque à basculer certaines données sur un bucket Minio. Ainsi, à terme https://files.data.gouv.fr/cadastre/ sera amené à disparaitre.

Accès aux anciennes données via Minio

Comme évoqué, cette manière de récupérer les données s'appuie sur Minio.

Il est possible de passer par une interface graphique navigable https://object.infra.data.gouv.fr/browser/cadastre/ pour télécharger.

L'interface ne permet pas de copier/coller une URL, il faut cliquer de manière répétée sur chaque fichier souhaité. Cela reste peu pratique dans le cadre d'une automatisation.

Deux options sont alors proposées :

  • passer par des métadonnées qui listent toutes les URLs directes

  • passer par le protocole S3 pour lister et copier les fichiers

Approche métadonnées

Pour avoir une liste complète pour un millésime, prenez les fichiers metadata-cadastre-XXXX-XX-XX.csv.gz et metadata-cadastre-XXXX-XX-XX.json.gz

Pour cela, l'URL sera https://object.data.gouv.fr/cadastre/ suivi du nom de fichier, soit les URLs suivantes :

Année
CSV
JSON

2017-07-06

https://object.data.gouv.fr/cadastre/metadata-cadastre-2017-07-06.csv.gz

https://object.data.gouv.fr/cadastre/metadata-cadastre-2017-07-06.json.gz

2017-10-12

https://object.data.gouv.fr/cadastre/metadata-cadastre-2017-10-12.csv.gz

https://object.data.gouv.fr/cadastre/metadata-cadastre-2017-10-12.json.gz

2018-01-02

https://object.data.gouv.fr/cadastre/metadata-cadastre-2018-01-02.csv.gz

https://object.data.gouv.fr/cadastre/metadata-cadastre-2018-01-02.json.gz

2018-04-03

https://object.data.gouv.fr/cadastre/metadata-cadastre-2018-04-03.csv.gz

https://object.data.gouv.fr/cadastre/metadata-cadastre-2018-04-03.json.gz

2018-06-29

https://object.data.gouv.fr/cadastre/metadata-cadastre-2018-06-29.csv.gz

https://object.data.gouv.fr/cadastre/metadata-cadastre-2018-06-29.json.gz

2018-10-01

https://object.data.gouv.fr/cadastre/metadata-cadastre-2018-10-01.csv.gz

https://object.data.gouv.fr/cadastre/metadata-cadastre-2018-10-01.json.gz

2019-01-01

https://object.data.gouv.fr/cadastre/metadata-cadastre-2019-01-01.csv.gz

https://object.data.gouv.fr/cadastre/metadata-cadastre-2019-01-01.json.gz

2019-04-01

https://object.data.gouv.fr/cadastre/metadata-cadastre-2019-04-01.csv.gz

https://object.data.gouv.fr/cadastre/metadata-cadastre-2019-04-01.json.gz

2019-07-01

https://object.data.gouv.fr/cadastre/metadata-cadastre-2019-07-01.csv.gz

https://object.data.gouv.fr/cadastre/metadata-cadastre-2019-07-01.json.gz

2019-10-01

https://object.data.gouv.fr/cadastre/metadata-cadastre-2019-10-01.csv.gz

https://object.data.gouv.fr/cadastre/metadata-cadastre-2019-10-01.json.gz

2020-01-01

https://object.data.gouv.fr/cadastre/metadata-cadastre-2020-01-01.csv.gz

https://object.data.gouv.fr/cadastre/metadata-cadastre-2020-01-01.json.gz

2020-07-01

https://object.data.gouv.fr/cadastre/metadata-cadastre-2020-07-01.csv.gz

https://object.data.gouv.fr/cadastre/metadata-cadastre-2020-07-01.json.gz

2020-10-01

https://object.data.gouv.fr/cadastre/metadata-cadastre-2020-10-01.csv.gz

https://object.data.gouv.fr/cadastre/metadata-cadastre-2020-10-01.json.gz

2021-02-01

https://object.data.gouv.fr/cadastre/metadata-cadastre-2021-02-01.csv.gz

https://object.data.gouv.fr/cadastre/metadata-cadastre-2021-02-01.json.gz

2021-04-01

https://object.data.gouv.fr/cadastre/metadata-cadastre-2021-04-01.csv.gz

https://object.data.gouv.fr/cadastre/metadata-cadastre-2021-04-01.json.gz

2021-07-01

https://object.data.gouv.fr/cadastre/metadata-cadastre-2021-07-01.csv.gz

https://object.data.gouv.fr/cadastre/metadata-cadastre-2021-07-01.json.gz

2021-10-01

https://object.data.gouv.fr/cadastre/metadata-cadastre-2021-10-01.csv.gz

https://object.data.gouv.fr/cadastre/metadata-cadastre-2021-10-01.json.gz

2022-01-01

https://object.data.gouv.fr/cadastre/metadata-cadastre-2022-01-01.csv.gz

https://object.data.gouv.fr/cadastre/metadata-cadastre-2022-01-01.json.gz

2022-07-01

https://object.data.gouv.fr/cadastre/metadata-cadastre-2022-07-01.csv.gz

https://object.data.gouv.fr/cadastre/metadata-cadastre-2022-07-01.json.gz

2022-10-01

https://object.data.gouv.fr/cadastre/metadata-cadastre-2022-10-01.csv.gz

https://object.data.gouv.fr/cadastre/metadata-cadastre-2022-10-01.json.gz

2023-01-01

https://object.data.gouv.fr/cadastre/metadata-cadastre-2023-01-01.csv.gz

https://object.data.gouv.fr/cadastre/metadata-cadastre-2023-01-01.json.gz

Sous Linux ou MacOS, il est possible de décompresser les fichiers gz par défaut. Si vous êtes sous Windows, nous vous recommandons d'installer le logiciel libre 7zip en le récupérant depuis https://www.7-zip.fr

En ligne de commande, vous pouvez accéder à la donnée ainsi

curl -s https://object.data.gouv.fr/cadastre/metadata-cadastre-2017-07-06.csv.gz | zcat - | head
curl -s https://object.data.gouv.fr/cadastre/metadata-cadastre-2023-01-01.csv.gz | zcat - | grep departement

Approche protocole S3

Pour héberger les données plus anciennes, nous utilisons un produit nommé Minio Server qui permet d'utiliser le protocole S3 défini par Amazon, mais sans dépendre d'un hébergeur. Pour pouvoir facilement consommer les données, il faut d'abord installer le client qui lui correspond, minio-client ici. Il vous faudra ensuite suivre les instructions d'installation sur https://min.io/docs/minio/linux/reference/minio-mc.html#quickstart

mc alias set cadastre_gouv_no_authent https://object.data.gouv.fr '' ''
mc ls cadastre_gouv_no_authent/cadastre/
# Pour lister les années possibles selon les dossiers
mc tree -d 1 cadastre_gouv_no_authent/cadastre
# Liste par type d'entrée
mc ls cadastre_gouv_no_authent/cadastre/etalab-cadastre/
mc ls cadastre_gouv_no_authent/cadastre/dgfip-pci-vecteur/
mc ls cadastre_gouv_no_authent/cadastre/dgfip-pci-image/

# Obtenir les statistiques pour savoir la place que vont prendre les fichiers si on souhaite les télécharger
mc du cadastre_gouv_no_authent/cadastre/dgfip-pci-image/2023-01-01/

# Copier un fichier spécifique
mc cp cadastre_gouv_no_authent/cadastre/dgfip-pci-vecteur/2021-10-01/edigeo/feuilles/44/44109/edigeo-44109000XC01.tar.bz2 .

# Copier un dossier complet
mc cp --recursive cadastre_gouv_no_authent/cadastre/dgfip-pci-image/2023-01-01/ .

# Faire une recherche
# Marche mais à éviter car plutôt lent de faire une recherche sur un répertoire avec des millions de fichiers
mc find cadastre_gouv_no_authent/cadastre --name "*02001*"
# Choisir plutôt
mc find cadastre_gouv_no_authent/cadastre/dgfip-pci-vecteur/2021-10-01/edigeo/feuilles/ --name "*02001*"

# Les principaux points d'entrée pour une année
year=2022-01-01

# SHP
# Retourne des dossiers
mc ls cadastre_gouv_no_authent/cadastre/etalab-cadastre/${year}/shp/departements/
# Retourne une liste de fichiers pour un département
mc ls cadastre_gouv_no_authent/cadastre/etalab-cadastre/${year}/shp/departements/44/
# Retourne une liste de fichiers pour la France
mc ls cadastre_gouv_no_authent/cadastre/etalab-cadastre/${year}/shp/france/

# GeoJSON
# Retourne des dossiers
mc ls cadastre_gouv_no_authent/cadastre/etalab-cadastre/${year}/geojson/communes/
# Retourne une liste de fichiers pour une commune selon son code département, son code insee
# avec un dossier raw pour les données extraites du cadastre "moins importantes"
mc ls cadastre_gouv_no_authent/cadastre/etalab-cadastre/${year}/geojson/communes/44/44109/

# TIFF
# Retourne des dossiers
mc ls cadastre_gouv_no_authent/cadastre/dgfip-pci-image/${year}/tiff/feuilles/
# Retourne une liste de fichiers pour une commune selon son code département, son code insee
# Attention, il n'y a presque plus de fichiers de ce type car ils sont supplantés par les fichiers
# vecteur quand le cadastre est vectorisé
mc ls cadastre_gouv_no_authent/cadastre/dgfip-pci-image/${year}/tiff/feuilles/08/08462/

# DXF
# Retourne des dossiers
mc ls cadastre_gouv_no_authent/cadastre/dgfip-pci-vecteur/${year}/dxf/feuilles/
# Retourne une liste de fichiers pour une commune selon son code département, son code insee
mc ls cadastre_gouv_no_authent/cadastre/dgfip-pci-vecteur/${year}/dxf/feuilles/73/73065/
# Vous pouvez filtrer cette liste avec une recherche sur une feuille
mc find cadastre_gouv_no_authent/cadastre/dgfip-pci-vecteur/${year}/dxf/feuilles/73/73065/ --name '*DL*'

# DXF-CC
# Retourne des dossiers
mc ls cadastre_gouv_no_authent/cadastre/dgfip-pci-vecteur/${year}/dxf-cc/feuilles/
# Retourne une liste de fichiers pour une commune selon son code département, son code insee
mc ls cadastre_gouv_no_authent/cadastre/dgfip-pci-vecteur/${year}/dxf-cc/feuilles/73/73008/

# EDIGEO
# Retourne des dossiers
mc ls cadastre_gouv_no_authent/cadastre/dgfip-pci-vecteur/${year}/edigeo/feuilles/
# Retourne une liste de fichiers pour une commune selon son code département, son code insee
mc ls cadastre_gouv_no_authent/cadastre/dgfip-pci-vecteur/${year}/edigeo/feuilles/38/38027/

# EDIGEO-CC
# Retourne des dossiers
mc ls cadastre_gouv_no_authent/cadastre/dgfip-pci-vecteur/${year}/edigeo-cc/feuilles/
# Retourne une liste de fichiers pour une commune selon son code département, son code insee
mc ls cadastre_gouv_no_authent/cadastre/dgfip-pci-vecteur/${year}/edigeo-cc/feuilles/69/69266/

Vous pouvez aussi avoir besoin d'automatiser avec un language de programmation. Voici ci-dessous un exemple en Python dont la documentation est disponible sur https://min.io/docs/minio/linux/developers/python/minio-py.html. Il existe d'autres librairies/SDK, en Java, Javascript, .Net, Haskell, C++ pour accéder aux données https://min.io/docs/minio/linux/developers/minio-drivers.html

#!/usr/bin/env python

import minio

from minio import Minio

client = Minio(
    'object.files.data.gouv.fr',
    access_key='',
    secret_key='',
    secure=True
)

print(client.list_buckets())

bucket_name = 'cadastre'
for i in client.list_objects(bucket_name):
    print(i.metadata, i.is_dir, i.object_name, i.size)

# Obtenir des informations
for i in client.list_objects(bucket_name, prefix="dgfip-pci-image/"):
    print(i.metadata, i.is_dir, i.object_name, i.size)

# Pour avoir la liste des fichiers/dossiers qui sont dans l'arborescence
print([i.object_name for i in client.list_objects(bucket_name, prefix="dgfip-pci-image/")])
print([i.object_name for i in client.list_objects(bucket_name, prefix="dgfip-pci-image/2023-01-01/")])
print([i.object_name for i in client.list_objects(bucket_name, prefix="dgfip-pci-image/2023-01-01/tiff/")])
print([i.object_name for i in client.list_objects(bucket_name, prefix="dgfip-pci-image/2023-01-01/tiff/feuilles/")])
# Même principe mais en rajoutant des retours à la ligne pour la lisibilité
print('\n'.join([i.object_name for i in client.list_objects(bucket_name, prefix="dgfip-pci-image/2023-01-01/tiff/feuilles/08/")]))

# Listing recursive d'un dossier puis copie avec la même structure
for i in client.list_objects(bucket_name, prefix="dgfip-pci-image/2023-01-01/tiff/", recursive=True):
    if not i.is_dir:
        print(i.object_name, i.size)
        # first i.object_name is for the object name, the second is to copy with the same structure
        client.fget_object(bucket_name, i.object_name, i.object_name)

Rechercher des parcelles

Module Cadastre de l'API Carto

Pour rechercher des parcelles, il est possible de passer par le module Cadastre de l'API Carto.

Il s'agit d'une surcouche au WFS de l'IGN qui facilite l'utilisation. Ce service s'appuie sur les données de PCI Express ou de la BD Parcellaire (produit historique non maintenu depuis 2019).

Si vous êtes intéressé par le code de la surcouche, vous pouvez consulter le projet sur https://github.com/IGNF/apicarto/.

Un exemple de recherche de parcelles avec l'API Carto

Vous pouvez aussi ouvrir ce lien pour voir le résultat dans un navigateur.

Alternative au module Cadastre de l'API Carto

Il est aussi possible de passer par le géocodeur https://geoservices.ign.fr/documentation/services/services-geoplateforme/geocodage qui fait la recherche d'adresses, de POI (Points d'intérêts) et de parcelles cadastrales.

Pour cela, il vous faudra renseigner les champs index à parcelle, le champ departmentcode avec le code du département, celui municipalitycode avec les 3 chiffres du code INSEE après le département, la section pour la section et le number pour le numéro de parcelle. Le retour de cet appel retourne un GeoJSON dont la représentation pour la parcelle est un point et non pas un contour. Si vous souhaitez obtenir le contour, vous devrez passer l'option returntruegeometry à true. Attention : dans ce cas de figure, le GeoJSON restera un point mais un nouveau champ truegeometry dans les "properties" du GeoJSON sera retourné. Si vous souhaitez que votre GeoJSON contienne uniquement le contour, vous allez devoir faire un appel puis écraser la géométrie ponctuelle du GeoJSON avec celle du champ truegeometry.

Cela se traduit en code JavaScript par exemple avec :

const params = new URLSearchParams({
 'index': 'parcel',
 'limit': 10,
 'returntruegeometry': true,
 'departmentcode': '44',
 'municipalitycode': '109',
 'section': 'EX',
 'number': 68
})

const apiUrl = `https://data.geopf.fr/geocodage/search?${params}`;

fetch(apiUrl)
 .then(response => response.json())
 .then(data => {
   console.log('GeoJSON point', data)
   data.features.forEach(feature => {
       feature.geometry = feature.properties.truegeometry
       delete feature.properties.truegeometry
   })
   console.log(data)
 })
 .catch(error => {
   console.log('GeoJSON polygon', error)
 });

Accéder aux fonds de plan du cadastre

Plusieurs solutions sont disponibles pour accéder aux fonds de plan du cadastre, parmi lesquelles :

  • WMS accès cadastre DGFiP. La limitation principale de ce WMS est qu'il n'est possible de demander que des images dont la taille est comprise entre 100x100 et au maximum 1280x1024. Il est possible de passer par un TMS via l'url http://tms.cadastre.openstreetmap.fr/*/tout/{z}/{x}/{y}.png pour contourner cette limitation (voir https://lists.openstreetmap.org/pipermail/talk-fr/2015-February/075223.html).

Un aperçu de la configuration du TMS dans QGIS
  • les tuiles vectorielles mises à disposition par la Direction interministérielle du numérique (DINUM). Elles contiennent les géométries du produit Cadastre Etalab. Un tutoriel détaille comment les exploiter dans le cadre Web. Il est aussi possible d'accéder aux tuiles vectorielles depuis la version 3.14 du logiciel bureautique SIG OpenSource nommé QGIS comme illustré ci-dessous.

Un aperçu de la configuration de la connexion aux tuiles vectorielles dans QGIS
  • IGN WMS cadastre. La couche principale est CADASTRALPARCELS.PARCELLAIRE_EXPRESS du service WMS. Celle-ci s'appuie sur le produit PCI Express.

Il existe de nombreuses autres couches d'information liées aux cadastre proposées par l'IGN. Il est possible de les chercher depuis la page de documentation de Geoservices, en prenant les fichiers CSV des géoservices de la Géoplateforme.

Un exemple de décalage de parcelles avec différents niveaux de précision

Parser les données Edigeo

EDIGEO signifie "Échange de données informatisées dans le domaine de l'information géographique". Il s'agit d'une norme. C'est principalement la norme d'échange des données du Plan Cadastral Informatisé (PCI).

Pour aller plus loin, vous pouvez consulter l'article Wikipedia associé et la documentation "Standard d'échange des objets du Plan Cadastral Informatisé fondé sur la norme EDIGéO" datant de 2013.

Logiciels/Bibliothèques pour les exploiter

Pour parser les données Edigeo, plusieurs méthodes sont possibles. Vous pouvez notamment :

Faire l'intégration métier parcelles et MAJIC

Il est nécessaire de distinguer les données Plan Cadastral Informatisé (PCI) des données MAJIC :

  • Les données PCI sont la représentation graphique des parcelles, mais aucune information associée aux propriétaires n'est fournie.

  • Les données MAJIC (on parle aussi de matrice cadastrale) contiennent les données liées aux bâtiments, aux propriétaires. Elles sont à caractère personnel donc non ouvertes (à l'exception de celles se rapportant aux personnes morales, disponibles en open data). Elles peuvent être utiles, mais certains types d'acteurs qui ont besoin d'une base exhaustive liée à la propriété (comme les collectivités) peuvent souhaiter avoir accès aux données non ouvertes.

Le jeu de données "Fichiers des locaux et des parcelles des personnes morales" (MAJIC) contient trois fichiers principaux :

  • Les fichiers des personnes morales recensent au niveau départemental les personnes morales qui apparaissent dans la documentation cadastrale, en situation du 1er janvier de l'année de référence (n ou n-1 selon la date de téléchargement), comme détentrices de droits réels sur des immeubles, à l'exception des sociétés unipersonnelles et des entrepreneurs individuels ;

  • Les fichiers des propriétés bâties (locaux) restituent les références cadastrales et l'adresse des locaux, complétés du code droit, de la dénomination et de la forme juridique des personnes morales propriétaires ;

  • Les fichiers des propriétés non bâties (parcelles) restituent les références cadastrales, l'adresse, la contenance et la nature de culture des parcelles, complétées du code droit, de la dénomination et de la forme juridique des personnes morales propriétaires.

Pour réaliser une intégration métier parcelles et MAJIC, plusieurs solutions sont mises à disposition :

Solutions open source

Il est possible d'utiliser le Plugin cadastre QGIS et de récupérer les données du cadastre via ce plugin depuis des codes INSEE.

Depuis QGIS, dans la console PyQGIS,

import processing

processing.run("cadastre:telechargeur_edigeo_communal", {'LISTE_CODE_INSEE':'44109,44143,44162,44026,44190,44215','FILTRE':'','DOSSIER':'/tmp/cadastre-out','DATE':'latest','URL_TEMPLATE':'https://cadastre.data.gouv.fr/data/dgfip-pci-vecteur/{date}/edigeo/feuilles/{departement}/{commune}/'})

En ligne de commande si le plugin cadastre est installé


qgis_process run cadastre:telechargeur_edigeo_communal -- LISTE_CODE_INSEE=44109,44143,44162,44026,44190,44215 FILTRE= DOSSIER=/tmp/cadastre-out DATE=latest URL_TEMPLATE=https://cadastre.data.gouv.fr/data/dgfip-pci-vecteur/{date}/edigeo/feuilles/{departement}/{commune}/

# déduit de la commande suivante en s'appuyant sur https://docs.qgis.org/3.28/fr/docs/user_manual/processing/standalone.html
qgis_process help cadastre:telechargeur_edigeo_communal

Solutions propriétaires

Deux outils sont disponibles :

Dernière mise à jour

Cet article vous a-t-il été utile ?