Sommaire
- 1. À quoi servent ces outils
- 2. Prérequis
- 3. Vue d'ensemble de la page
- 4. Étape 1 — Département, projection et fichiers
- 5. Étape 2 — Calques à exporter
- 6. Export GeoJSON
- 7. Export Shapefile
- 8. Lecture des fichiers CDC
- 9. Lecture des fichiers DXF
- 10. Cohérence CDC / DXF
- 11. Messages et dépannage
- 12. Fonctionnement technique
- 13. Limites connues
1. À quoi servent ces outils#
Quatre pages convertissent les fichiers de dessin du plan cadastral en formats SIG. Elles partagent la même interface ; seuls le format lu et le format produit changent.
| Page | Lit | Produit |
|---|---|---|
convertion_cdc.php | .cdc (CadasCAD) | un .geojson |
cdc_to_shapefile.php | .cdc (CadasCAD) | un .zip de Shapefiles |
dxf_to_geojson.php | .dxf (DXF PCI ou tout DXF ASCII) | un .geojson |
dxf_to_shapefile.php | .dxf (DXF PCI ou tout DXF ASCII) | un .zip de Shapefiles |
On choisit les calques à exporter et leur couleur, avec un aperçu immédiat sur la carte. Tout est traité dans le navigateur : les fichiers ne sont jamais envoyés au serveur.
Les GeoJSON produits s'ouvrent directement dans le visualiseur GeoJSON, les Shapefiles dans le visualiseur Shapefile.
2. Prérequis#
- Un navigateur récent (Chrome, Edge, Firefox).
- Une connexion Internet : Leaflet, proj4js et JSZip sont chargés depuis des CDN, et le fond de carte vient de la Géoplateforme IGN.
- Des fichiers sources :
- CDC : fichiers
.cdcpréparés par CadasCAD (module Tournée de conservation → Chargement de données → Préparer le dossier, à partir d'une production à neuf des DXF PCI) ; - DXF : fichiers DXF ASCII (versions R12 à 2018), par exemple les DXF PCI livrés par la DGFiP.
- CDC : fichiers
3. Vue d'ensemble de la page#
La page est organisée en deux blocs, plus une aide repliable à droite (bouton ❓ Aide) :
- Département, projection et dépôt des fichiers : toujours visible.
- Calques à exporter : apparaît après la lecture des fichiers. À gauche la liste des calques et les options d'export, à droite la carte d'aperçu.
4. Étape 1 — Département, projection et fichiers#
4.1 Département et projection de départ#
Choisir le département remplit automatiquement la projection de départ :
| Départements | Projection proposée |
|---|---|
| Métropole (01 à 95, 2A, 2B) | Lambert conique conforme CC42 à CC50 de la zone du département (ex. 24 Dordogne → CC45, EPSG:3945) |
| 971 Guadeloupe, 972 Martinique | UTM 20N (EPSG:5490) |
| 973 Guyane | UTM 22N (EPSG:2972) |
| 974 Réunion | UTM 40S (EPSG:2975) |
| 976 Mayotte | UTM 38S (EPSG:4471) |
La projection reste modifiable à la main (la liste contient aussi Lambert 93). Si on la change alors que des fichiers sont déjà chargés, la carte est recalculée immédiatement.
4.2 Déposer les fichiers#
La zone en pointillés est inactive tant qu'aucune projection n'est choisie. Ensuite, deux possibilités :
- glisser-déposer un ou plusieurs fichiers sur la zone (elle s'éclaire en bleu au survol) ;
- cliquer sur la zone pour ouvrir l'explorateur.
Plusieurs fichiers déposés ensemble (par exemple toutes les feuilles d'une commune) sont réunis : leurs calques sont fusionnés. Un nouveau dépôt remplace le précédent.
Après lecture, le message indique le nombre d'objets, de fichiers et de calques, par exemple : « ✅ 677 objets lus dans 1 fichier(s), répartis sur 25 calques. » Pour un DXF, les entités qui n'ont pas pu être converties sont listées par type (voir Lecture des DXF).
5. Étape 2 — Calques à exporter#
5.1 La liste des calques#
| Colonne | Rôle |
|---|---|
| Case à cocher | Calque exporté ou non. Un calque décoché est aussi masqué sur la carte. Cliquer sur le nom du calque coche / décoche aussi. |
| Couleur | Couleur du calque sur la carte et dans le fichier exporté. La carte se met à jour pendant le choix. |
| Calque | Nom du calque (ex. 1PARCELLE, 3BATIDUR). |
| Type | Types d'objets présents, précédés d'un symbole : ⬟ polygone, 〰 ligne, T texte, ✚ bloc, • point. En CDC : Face, Arc, Texte, Bloc ; en DXF : le nom de l'entité (POLYLINE, TEXT, INSERT…). |
| Nb | Nombre d'objets du calque. |
Les boutons Tout cocher / Tout décocher agissent sur l'ensemble ; le compteur au-dessus de la liste indique le nombre de calques et d'objets retenus. Le bouton d'export est grisé si aucun calque n'est coché.
5.2 Couleurs par défaut#
Les calques PCI courants ont une couleur prédéfinie ; les autres reçoivent une couleur calculée à partir de leur nom (toujours la même pour un même nom).
| Calques | Couleur |
|---|---|
1PARCELLE, 3PARCELLETEX, 3FLECHEPAR | bleu |
1SUBDFISC, 3SUBDFISCTEX, 3FISCLINE | vert d'eau |
1SECTION, 1SUBDSECT, 3SECTIONTEX | violet |
3BATIDUR / 3BATILEGER | rouge / orange |
3EAU / 3PISCINE | bleu / bleu clair |
1LIEUDIT, 3LIEUDITTEX | gris |
1ZONCOMM, 3ZONCOMMTEX | violet vif |
3BORNE | rose |
3CLOTMI, 3CLOTNONMI, 3HAIENONMI | verts |
3CHEMIN, 3TOPOLINE, 3NUMVOIE, 3LIMNONPARC | brun, beige, rouge, gris |
5.3 La carte d'aperçu#
- Fond Plan IGN v2 ; la carte se cadre automatiquement sur les objets lus.
- Polygones remplis en transparence, lignes en trait plein, blocs et points en pastilles.
- Les textes sont affichés avec leur rotation, à partir du zoom 17 seulement, pour ne pas surcharger la carte.
- Un clic sur un objet ouvre une bulle avec son calque, son type, sa référence, le nom du symbole (blocs), ses attributs et le fichier d'origine.
6. Export GeoJSON#
Pages convertion_cdc.php et dxf_to_geojson.php.
6.1 Projection d'export#
| Choix | Effet |
|---|---|
| WGS84 (EPSG:4326) — par défaut | Longitude / latitude, 7 décimales (~1 cm). C'est le format attendu par la norme GeoJSON (RFC 7946) et par le visualiseur GeoJSON. |
| Lambert 93 (EPSG:2154) | Coordonnées en mètres, 3 décimales (mm). Le fichier contient un membre crs pour que QGIS reconnaisse la projection. |
| Identique à la projection de départ | Aucune transformation (ex. CC45), membre crs ajouté. |
Le fichier téléchargé porte le nom du fichier source (098000AA.geojson) ou, pour plusieurs fichiers, cdc-<dép>-export.geojson / dxf-<dép>-export.geojson.
6.2 Contenu du fichier#
| Objet | Géométrie | Propriétés |
|---|---|---|
| Polygone | Polygon (avec trous éventuels) | layer, type, ref et objet (CDC), attributs du fichier (CDC : SUPF_id, INDP_id, IDU_id… ; DXF : SUPF, INDP, IDU…), file, color et le style stroke / fill / marker-color reconnu par QGIS, geojson.io, uMap. |
| Ligne | LineString | |
| Texte | Point + text, height, angle | |
| Bloc / point | Point + block, scale, angle |
Les angles sont exprimés en degrés, sens trigonométrique, depuis l'Est (convention DXF), quel que soit le format source.
7. Export Shapefile#
Pages cdc_to_shapefile.php et dxf_to_shapefile.php. Le résultat est un <nom>_shp.zip.
7.1 Options#
| Option | Choix |
|---|---|
| Projection d'export | Identique à la projection de départ (par défaut), Lambert 93 ou WGS84. Un .prj est écrit pour chaque Shapefile. |
| Découpage | Un shapefile par calque (par défaut) : 1PARCELLE.shp, 3BATIDUR.shp… ; Un shapefile par type : <nom>_polygones, _lignes, _points, avec le calque d'origine dans le champ CALQUE. |
| Encodage DBF | UTF-8 (par défaut) ou ANSI (Windows-1252) pour les logiciels qui affichent mal les accents (anciens SIG, MapInfo). Le fichier .cpg indique l'encodage. |
7.2 Table attributaire#
| Champ | Contenu |
|---|---|
CALQUE, TYPE | Calque et type d'objet d'origine. |
OBJET, REF | CDC uniquement : code de l'objet et référence (ex. 098000AA0002). Non créés s'ils sont vides (DXF). |
| Attributs | CDC : SUPF_ID, INDP_ID, IDU_ID… ; DXF : SUPF, INDP, IDU et attributs de blocs. |
TEXTE, HAUTEUR, ANGLE | Textes (angle en degrés). |
SYMBOLE, ECHELLE, ANGLE | Blocs (ex. BORLIPRO pour une borne). |
COULEUR, FICHIER | Couleur choisie (#rrggbb) et fichier source. |
Contraintes du format : noms de champs limités à 10 caractères (mis en majuscules, rendus uniques), textes limités à 254 octets.
8. Lecture des fichiers CDC#
Un fichier CDC est une suite d'objets { … }. Chaque objet a un en-tête (code d'objet, référence, attributs |(SUPF_id)…|(IDU_id)…|) et contient des entités [ … ] :
| Entité CDC | Devient | Remarque |
|---|---|---|
Face | polygone | sommets sur les lignes suivantes |
Arc | ligne | idem |
Texte | texte | angle stocké en gisement (radians, depuis le Nord, sens horaire), converti |
Bloc | bloc | angle stocké en degrés (sens trigonométrique) |
Enclaves : quand un objet contient une seconde Face du même calque, située à l'intérieur de la première, elle devient un trou de la première (cas des parcelles à enclave). Une face extérieure reste un polygone séparé (parcelle en plusieurs morceaux).
Les fichiers sont lus en Windows-1252 (accents).
9. Lecture des fichiers DXF#
| Entité DXF | Devient |
|---|---|
POLYLINE, LWPOLYLINE | polygone si fermée, ligne sinon. Les arcs de polyligne (bulge) sont découpés en segments. |
LINE, ARC, SPLINE, ELLIPSE partielle | ligne (arcs découpés à 72 segments par tour, splines calculées) |
CIRCLE, ELLIPSE complète, SOLID, TRACE, 3DFACE | polygone |
TEXT, MTEXT | texte (mise en forme MTEXT supprimée, codes %%d, %%c, %%p et \U+xxxx décodés) |
INSERT | bloc, au point d'insertion, avec le nom du bloc et ses attributs ATTRIB |
POINT | point |
- Données étendues (XDATA) : chaque application (
1001) devient un attribut avec sa valeur. Dans les DXF PCI :SUPF(surface),INDP,IDUsur les parcelles. - Enclaves PCI : une polyligne d'un calque
…TROU…(1TROUPARCELLE,1TROUSUBDFISC) qui suit un polygone du calque correspondant (1PARCELLE,1SUBDFISC) devient un trou de ce polygone. - Encodage : lu dans l'en-tête (
$DWGCODEPAGE, Windows-1252 par défaut) ; UTF-8 à partir d'AutoCAD 2007. - Non converties : cotes, hachures, maillages 3D, fenêtres de présentation… Elles sont comptées et listées dans le message d'état (« Non convertis : HATCH (3), DIMENSION (12) »).
- Les blocs ne sont pas éclatés : seul leur point d'insertion est exporté.
10. Cohérence CDC / DXF#
Les deux lecteurs produisent le même résultat pour une même feuille. Contrôle effectué sur la feuille 098000AA (fichiers .cdc et .DXF) :
- 677 objets de chaque côté, sur 25 calques ;
- chaque polygone CDC retrouvé dans le DXF (même calque, même premier sommet, même nombre de trous) ; les parcelles 0058 et 0027 ont bien leur enclave ;
- les 339 textes et blocs ont exactement le même angle ;
- Shapefiles validés avec GDAL (QGIS 3.16) : projection reconnue (RGF93 / CC45, RGF93 / Lambert-93), 90 parcelles, 41 subdivisions fiscales et 72 bâtiments durs valides, accents corrects en UTF-8 et en ANSI.
11. Messages et dépannage#
| Message | Cause | Solution |
|---|---|---|
| Veuillez d'abord sélectionner le département ou la projection de départ. | Dépôt sans projection. | Choisir le département (ou la projection), puis redéposer. |
| Aucun fichier .cdc détecté. / Aucun fichier .dxf détecté. | Mauvaise extension (ex. un DXF sur une page CDC). | Utiliser la page correspondant au format. |
| Les objets ne tombent pas en France… | Projection de départ incorrecte. | Changer la projection : la carte est recalculée. |
| DXF binaire non pris en charge… | DXF enregistré en binaire. | Réenregistrer en DXF ASCII depuis le logiciel de DAO. |
| fichier DXF non reconnu (section ENTITIES absente) | Fichier tronqué ou pas un DXF. | Vérifier le fichier. |
| Aucun objet trouvé dans les fichiers. | Fichier vide, ou ne contenant que des entités non converties. | Vérifier le contenu dans le logiciel d'origine. |
| (N ignorés : géométrie incomplète) | Polygones de moins de 3 sommets, lignes d'un seul point. | Sans conséquence ; à corriger dans le dessin si besoin. |
| Les accents sont faux dans le SIG | Logiciel qui ignore le .cpg. | Réexporter en ANSI (Windows-1252). |
12. Fonctionnement technique#
| Fichier | Rôle |
|---|---|
js/cdc_common.js | Projections, départements, lecteur CDC, interface commune (dépôt, calques, carte) |
js/dxf_parser.js | Lecteur DXF |
js/export_geojson.js | Écriture GeoJSON |
js/export_shapefile.js | Écriture SHP / SHX / DBF / PRJ / CPG et archive zip |
js/convertion_cdc.js, js/cdc_to_shapefile.js, js/dxf_to_geojson.js, js/dxf_to_shapefile.js | Démarrage de chaque page (format lu + export) |
css/convertion_cdc.css | Styles communs |
| Bibliothèque | Version | Rôle |
|---|---|---|
| Leaflet | 1.7.1 | Carte d'aperçu |
| proj4js | 2.9.0 | Reprojections |
| JSZip | 3.10.1 | Archive .zip des Shapefiles |
Les Shapefiles sont écrits directement en JavaScript : polygones extérieurs en sens horaire et trous en sens anti-horaire (convention du format), .prj au format WKT ESRI.
13. Limites connues#
- Dépendance aux CDN et à la Géoplateforme IGN : pas de fonctionnement hors ligne.
- DXF binaire non lu ; blocs non éclatés ; cotes et hachures ignorées.
- Les arcs et cercles sont approchés par des segments (72 par tour complet).
- Traitement en mémoire : une commune entière (plusieurs dizaines de feuilles) reste possible, mais la carte d'aperçu peut ralentir.
Corrections apportées (octobre 2026)#
| Problème constaté | Correction |
|---|---|
| Angle des textes CDC faux : le CDC stocke un gisement (depuis le Nord, sens horaire), lu comme un angle trigonométrique. | Conversion du gisement ; les angles CDC et DXF sont identiques. |
| Angle des blocs CDC lu en radians alors qu'il est en degrés. | Lecture en degrés. |
| Enclave d'une parcelle CDC exportée comme un second polygone superposé. | L'enclave devient un trou de la parcelle. |