Convertir un DXF en GeoJSON

Ce convertisseur transforme un dessin DXF issu d'AutoCAD, de BricsCAD ou d'un autre logiciel de CAO en un fichier GeoJSON pour les cartes web comme Leaflet, Mapbox, OpenLayers et geojson.io. Vous indiquez le système de coordonnées du dessin sous forme de code EPSG, et les coordonnées sont converties en longitude et latitude, comme l'exige le GeoJSON standard. Chaque entité garde son calque CAO, son type d'entité, son texte et sa couleur comme propriétés. Le DXF est lu dans votre navigateur et n'est pas envoyé.

Un fichier ne s'est pas converti correctement ? Écrivez à [email protected], idéalement avec un petit fichier d'exemple, et ce sera corrigé.

L'essentiel

DXF en GeoJSON : pourquoi convertir ?

Un plan de masse, un réseau de canalisations ou un levé dessiné en CAO doit souvent aller sur une carte web, dans un tableau de bord ou dans un script, et ceux-ci parlent GeoJSON, pas DXF. Cette page lit le DXF avec GDAL, la bibliothèque open source sur laquelle repose QGIS, convertit les coordonnées du système du dessin (une zone UTM ou un système national comme le Lambert-93) en longitude et latitude WGS84, et écrit une FeatureCollection GeoJSON conforme à la RFC 7946. Les lignes et polylignes deviennent des LineStrings, les polylignes fermées, cercles et hachures deviennent des Polygons, les points et les blocs deviennent leurs éléments, et les TEXT et MTEXT deviennent des points avec le texte dans une propriété. La couleur et l'épaisseur CAO sont aussi écrites en propriétés simplestyle, si bien que geojson.io et GitHub affichent le dessin dans ses couleurs CAO. L'aperçu cartographique montre où tombe le dessin avant la conversion, et rien n'est envoyé à un serveur.

Comment convertir DXF en GeoJSON

  1. Déposez votre fichier .dxf dans la zone, ou cliquez pour le choisir. Un .dwg doit d'abord être enregistré en DXF.
  2. Saisissez le système de coordonnées du dessin sous forme de code EPSG, par ex. EPSG:2154 pour le Lambert-93, ou cliquez sur l'une des suggestions, puis vérifiez que la carte montre le dessin au bon endroit.
  3. Laissez cochée ou décochez l'option « Les polylignes fermées et les cercles deviennent des polygones », cliquez sur « Convertir en GeoJSON » et chargez le fichier dans votre carte web, dans geojson.io ou dans QGIS.

Ce qui change lors de la conversion

Le code EPSG décide de l'endroit où tombe le dessin

Un DXF enregistre les coordonnées comme de simples nombres, sans système de coordonnées, alors que le GeoJSON standard est toujours en longitude et latitude : le convertisseur doit donc connaître le système du dessin. En France métropolitaine, des valeurs comme 652000, 6862000 sont en Lambert-93 (EPSG:2154) ; des valeurs comme 556000, 6324000 sont des mètres UTM (par exemple EPSG:25832 au Danemark ou en Allemagne). Les suggestions sous le champ listent les systèmes dans lesquels les nombres ont un sens. Avec un mauvais code, le dessin tombe dans le mauvais pays ou décalé de quelques centaines de mètres, ce que l'aperçu cartographique montre avant la conversion.

Dessins en coordonnées locales

Les plans d'architecte sont souvent dessinés autour de 0,0, en millimètres ou en mètres, sans aucun lien avec le terrain. Aucun code EPSG ne leur convient, et la ligne d'état avertit lorsque le résultat tombe près de 0° de longitude et 0° de latitude, au large des côtes africaines. Un tel dessin doit d'abord être géoréférencé, par exemple avec l'extension Vector Bender de QGIS, ou déplacé sur des coordonnées de levé dans le logiciel de CAO.

Propriétés de chaque entité

Chaque entité reçoit Layer (le calque CAO), Entity (comme AcDbPolyline, AcDbCircle ou AcDbMText), Color au format #rrggbb avec DuCalque et DuBloc résolus, LineWidth en millimètres, Linetype et le Handle de l'entité. Les textes reçoivent en plus Text, TextSize en unités de dessin et TextAngle en degrés dans le sens antihoraire. Pour styliser par calque dans Leaflet ou Mapbox, utilisez la propriété Layer ; pour filtrer dans QGIS, utilisez-la dans une expression.

Les courbes deviennent des segments droits

Le GeoJSON n'a ni arcs, ni cercles, ni splines : ils deviennent de nombreux petits segments droits. Les blocs comme les arbres, les regards et les flèches du nord sont décomposés en leurs lignes, cercles et textes, sur le calque de l'insertion du bloc. Les types de ligne comme les tirets, les styles de cote et les présentations en espace papier avec leurs cartouches ne sont pas repris.

Altitudes et précision des coordonnées

Les vraies altitudes, comme celles des courbes de niveau, sont conservées en troisième coordonnée ; les dessins plats en ont deux. Les coordonnées sont écrites avec 7 décimales, soit environ 1 cm sur le terrain, ce qui garde le fichier léger sans rien déplacer de façon visible.

À propos des formats

DXF

Le DXF (Drawing Exchange Format) est le format d'échange ouvert d'AutoCAD, publié par Autodesk depuis 1982. Géomètres, architectes et bureaux d'études l'utilisent pour échanger des dessins de CAO entre logiciels. Un DXF contient des lignes, polylignes, arcs, cercles, textes, hachures et blocs sur des calques nommés, mais ni table attributaire ni système de coordonnées.

  • Fichier texte (ou binaire) avec des entités de dessin sur des calques nommés ; les blocs sont des symboles réutilisables insérés de nombreuses fois.
  • Il n'y a pas de table attributaire : en plus de la géométrie, une entité a un calque, une couleur, un type de ligne et, pour un texte, le texte lui-même.
  • Le système de coordonnées n'est pas enregistré ; les coordonnées sont de simples nombres, souvent dans un système national ou en coordonnées locales de chantier.
  • Le DWG est le format binaire propre à AutoCAD, différent du DXF.

GeoJSON

Le GeoJSON est un format texte JSON pour les objets géographiques, normalisé en 2016 sous le nom RFC 7946. C'est le format natif des cartes web comme Leaflet, MapLibre et Mapbox, ainsi que de nombreuses API.

  • Les coordonnées sont une longitude et une latitude WGS84 (dans cet ordre).
  • Points, lignes et polygones peuvent être mélangés dans un même fichier.
  • Les propriétés peuvent être n'importe quelle valeur JSON, sans limite de longueur pour les noms de champs.

Questions fréquentes

Puis-je obtenir le GeoJSON dans mon système national plutôt qu'en longitude et latitude ?

Pas sur cette page, car le GeoJSON RFC 7946 doit être en WGS84 et la plupart des cartes web l'attendent ainsi. Si vous avez besoin du système propre au dessin, convertissez plutôt le DXF en shapefile ou en GeoPackage, qui conservent un système projeté.

Pourquoi les lignes sont-elles noires sur ma carte ?

La couleur CAO 7 s'affiche en blanc sur un écran de CAO sombre et en noir sur papier ; elle est écrite en #000000. Les autres couleurs sont conservées telles quelles. Les propriétés simplestyle stroke et fill contiennent la même couleur, vous pouvez donc aussi les utiliser dans votre propre style de carte.

Comment trouver le code EPSG d'un dessin ?

Demandez-le à son auteur, ou utilisez les suggestions qui apparaissent sous le champ une fois le DXF lu : elles listent les systèmes de coordonnées dans lesquels les nombres du dessin ont un sens, et l'aperçu cartographique montre où chacun le place.

Mon dessin est-il envoyé en ligne ?

Non. Le DXF est lu et converti par votre navigateur, sur votre propre ordinateur, et rien n'est envoyé à un serveur.

Puis-je reconvertir un GeoJSON en DXF ?

Oui, avec le convertisseur GeoJSON en DXF, qui convertit la longitude et la latitude en mètres UTM ou dans votre système national et place chaque fichier sur son propre calque CAO.