Un Shapefile est un format de données géospatiales vectorielles développé par Esri au début des années 1990. Malgré son nom au singulier, il s'agit d'un ensemble de fichiers qui doivent voyager ensemble : au minimum .shp (géométrie), .shx (index de géométrie) et .dbf (table attributaire), généralement accompagnés d'un .prj (système de coordonnées de référence) et souvent d'un .cpg (encodage des caractères).

Pourquoi c'est important

Le Shapefile reste le format vectoriel SIG le plus échangé car presque tous les outils le lisent et l'écrivent. Mais c'est un format daté, assorti de limites strictes qui provoquent de réelles pertes de données : en comprendre les contraintes est donc essentiel lorsqu'on livre ou reçoit des données spatiales.

Exemple concret

Un Shapefile ne contient qu'un seul type de géométrie (point, ligne ou polygone, éventuellement avec des valeurs Z/M) et une seule table attributaire. Stocker les failles et les contacts géologiques d'un projet nécessite donc au moins deux Shapefiles distincts, et non un seul fichier multicouche comme le permettrait un GeoPackage.

Pièges courants

  • Limite du nom de champ : les noms d'attribut (colonne) sont tronqués à 10 caractères dans le .dbf, altérant silencieusement les noms plus longs.
  • Plafond de 2 Go : le .shp comme le .dbf sont limités à environ 2 Go.
  • Encodage : sans un .cpg correct, les caractères accentués et le texte non-ASCII sont corrompus.
  • Fichiers annexes manquants : un Shapefile livré sans son .prj perd son SCR, et sans .shx/.dbf il est inutilisable. Compressez toujours toutes les parties ensemble.

Pour la plupart des nouveaux travaux, le GeoPackage ou le GeoJSON évitent ces limites tout en conservant une large compatibilité.

Pour aller plus loin