Reprojeter un shapefile

Cet outil convertit un shapefile dans un autre système de coordonnées, par exemple d'UTM vers la latitude et la longitude WGS84 ou vers une projection nationale, en transformant chaque coordonnée et en écrivant un nouveau fichier .prj. Vous indiquez le système cible par son code EPSG. Le shapefile est traité dans votre navigateur et n'est jamais envoyé. Les attributs sont conservés, le texte est enregistré en UTF-8 avec un fichier .cpg, et les changements de datum qui demandent une grille peuvent être décalés de quelques mètres.

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

Pourquoi reprojeter un shapefile

Les données d'un géomètre, d'une collectivité ou d'un collègue arrivent souvent dans un système de coordonnées qui ne correspond pas à votre projet : une zone UTM alors que la carte web attend du WGS84, une ancienne projection nationale alors que vos autres couches sont en ETRS89, ou du Web Mercator issu d'un export en ligne. Définir le SCR du projet dans QGIS ne change que l'affichage des couches ; pour transmettre un fichier dans le bon système, il faut transformer ses coordonnées. Cette page le fait dans votre navigateur avec GDAL et PROJ, les bibliothèques qu'utilise QGIS : elle lit le .prj, convertit chaque sommet dans le système que vous choisissez et écrit un shapefile avec un nouveau .prj. Si le shapefile n'a pas de .prj, vous indiquez d'abord son système. L'aperçu sur la carte montre si les données tombent au bon endroit.

Comment reprojeter un shapefile en ligne

  1. Déposez le shapefile en .zip, ou sélectionnez ensemble les fichiers .shp, .shx, .dbf et .prj.
  2. Saisissez le système de coordonnées cible sous forme de code EPSG, ou choisissez-en un dans la liste.
  3. Cliquez sur « Reprojeter le shapefile » et téléchargez le zip contenant le nouveau shapefile.

Ce qu'il faut savoir sur la reprojection

Reprojeter n'est pas attribuer un système

Reprojeter modifie chaque coordonnée, par exemple de 556000, 6324000 en UTM zone 32N à 9.92, 57.06 en degrés, et écrit un .prj correspondant. Attribuer un système remplace seulement le .prj et laisse les nombres tels quels ; ce n'est correct que si le .prj manquait ou était faux. Si vos données atterrissent dans le mauvais pays ou dans la mer au large de l'Afrique, c'est généralement le système source qui est faux, pas le système cible.

Un .prj manquant

Sans .prj, un shapefile n'indique pas dans quel système sont exprimés ses nombres, et rien ne peut être transformé tant que vous ne l'avez pas précisé. La page demande le code EPSG source quand le .prj manque ; l'ordre de grandeur des nombres donne un indice : des valeurs comprises entre -180 et 180 sont généralement des degrés, des valeurs à six ou sept chiffres sont généralement des mètres en UTM ou dans une projection nationale.

Changements de datum et précision

Entre systèmes qui partagent le même datum, comme les zones UTM en ETRS89 ou en WGS84, le résultat est précis au millimètre. Les changements de datum, comme OSGB36 pour le British National Grid, NAD27, DHDN ou d'autres anciens systèmes nationaux, sont plus exacts avec une grille de l'agence cartographique nationale. Ces grilles ne sont pas disponibles dans le navigateur : PROJ utilise donc les paramètres moyens publiés, qui peuvent être décalés d'un à quelques mètres. Pour des travaux de précision topographique, utilisez QGIS ou ogr2ogr avec la grille installée.

Texte, noms de champs et noms de fichiers

Tous les attributs et noms de champs sont conservés. Le texte est écrit en UTF-8 avec un fichier .cpg, que QGIS et ArcGIS lisent correctement ; un ancien logiciel qui ignore les fichiers .cpg peut mal afficher des lettres comme ø ou é. Les champs date-heure sont conservés sous forme de texte, car un .dbf ne peut pas stocker d'heure. Chaque shapefile garde son nom, et plusieurs shapefiles réunis dans un même zip sont reprojetés ensemble.

Les lignes ne sont pas courbées

Seuls les sommets sont transformés ; un segment droit entre deux sommets reste droit. Sur de courtes distances, cela ne se voit pas, mais une longue ligne avec peu de sommets, comme une ligne de carroyage ou une frontière tracée avec deux points, peut s'écarter légèrement de son vrai tracé dans le nouveau système.

À propos des formats

Shapefile

Le shapefile Esri est le format vectoriel SIG le plus répandu. Un « shapefile » est en réalité un ensemble de fichiers portant le même nom : le .shp contient la géométrie, le .shx un index, le .dbf la table attributaire, le .prj facultatif le système de coordonnées et le .cpg l'encodage du texte.

  • Il faut au moins les fichiers .shp, .shx et .dbf. Sélectionnez-les ensemble ou dans un seul .zip.
  • Les noms de champs sont limités à 10 caractères et les valeurs texte à 254 caractères.
  • Chaque shapefile ne contient qu'un seul type de géométrie : points, lignes ou polygones.
  • Sans fichier .prj, le système de coordonnées est inconnu.

Questions fréquentes

Comment trouver le code EPSG dont j'ai besoin ?

Cherchez votre pays ou votre zone UTM sur epsg.io. La latitude et la longitude WGS84 correspondent à EPSG:4326, le Web Mercator à EPSG:3857, et les zones UTM européennes en ETRS89 vont de EPSG:25828 à EPSG:25838.

Puis-je reprojeter en latitude et longitude WGS84 ?

Oui. Saisissez EPSG:4326. Le shapefile stocke alors la longitude en X et la latitude en Y, en degrés, ce qu'attendent QGIS, ArcGIS et les cartes web.

Mon shapefile est-il envoyé ?

Non. GDAL et PROJ tournent dans votre navigateur et le nouveau shapefile est écrit sur votre propre ordinateur.

Puis-je plutôt reprojeter un GeoJSON ou un KML ?

Le GeoJSON et le KML sont toujours en longitude et latitude WGS84. Pour les passer dans un système projeté, convertissez-les en shapefile avec le convertisseur GeoJSON en shapefile ou KML en shapefile, et indiquez-y le système cible.

Guides pas à pas