SHP - hackathonBnF/FichesFormat GitHub Wiki

Shapefile (SHP) Statut

Description

Le Shapefile, Esri Shapefile ou SHP est un format cartographique vectoriel et binaire développé par Esri pour son système d'information géographique ArcView GIS version 2.x en 1994. Esri en publie une spécification stable et ouverte. (CPO-DOC, CPO-LIB, CPO-STA).

Le format est largement adopté à toutes les étapes de production de la donnée. Il permet de constituer des bases et jeux de données géographiques associant des valeurs sémantiques à des points, des lignes et des polygones. Il ne décrit cependant pas la topologie des objets et certaines géométries complexes.

Pour la préservation ses handicaps sont le manque de compacité, d'expressivité et de robustesse. Ses avantages sont la sociabilité, la simplicité et la stabilité.

Qualité et caractéristiques du flux

Le format connaît des limitations de volume (2 Go pour .shp et .dbf), nombre d'attributs (25) et pour le nombre de caractères des noms (10) et des textes (250) (CPO-EXP) .

Sociabilité

Le Shapefile, malgré l'apparition régulière de concurrents, demeure massivement utilisé à travers le monde pour constituer des bases de données géographiques de toutes thématiques. Les agences nationales de cartographie, même si elles proposent souvent des formats alternatifs, continuent à diffuser leurs produits en Shapefile, par exemple les bases topographiques de l'IGN français, du BKG allemand ou de l'OFTS suisse. Le format est également utilisé pour fournir des métadonnées géographiques d'autres types de documents (images, bases matricielles).

En préservation numérique, le SHP est accepté par dix institutions répondant à l'enquête de l'OPF sur les formats recommandés. Il est l'un des quatre formats cartographiques vectoriels préférés par la Bibliothèque du congrès. Il n'est en revanche pas le format d'archivage de l'IGN français qui dispose de son propre format (CPO-SOC).

Le format est pris en charge par les principaux systèmes d'information géographique, notamment QGIS et ARCGIS. Il est lu par la bibliothèque GDAL (CPO-OUT).

Relations à d’autres formats

Le format Shapefile consiste en l'association de plusieurs fichiers dont un fichier « principal » comportant l'extension .shp qui n'est pas autonome. Cette fiche décrit cet ensemble et non le seul composant .shp (géométries des objets).

Le fichier .dbf est fondé sur le format dBASE créé dans les années 1980.

Versions

Esri publie une spécification datée de 1998. Il n'est pas fait mention d'une version précédente mais la création de nouveaux composants optionnels (extensions) a été progressive. Le SHP n'est pas un standard OGC.

Contenu

Dans un Shapefile tous les fichiers possèdent le même nom et une extension différente.

1. Fichiers obligatoires dans un Shapefile

  • .shp : le fichier "principal" ("main file") qui contient les géométries des objets ;
  • .dbf : le fichier dBASE, une table qui stocke les informations attributaires dans le même ordre que les géométries, ordre qui assure la correspondance entre attributs et géométries (la sémantique des objets) ;
  • .shx : le fichier d'index des géométries qui contient les positions exactes de chaque géométrie dans le .shp et permet d'y accéder rapidement.

2. Fichiers facultatifs dans un Shapefile

Métadonnées :

  • .prj: stocke le système de coordonnées de référence dans le format Well-known text (WKT) ;
  • shp.xml : métadonnées XML sur le Shapefile (nom, thématique du SHP, projection, structure des données, source des données...) ;
  • .cpg : encodage des caractères.

Les fichiers .lyr (layer file), de symbologie (sémiologie graphique), qui peuvent être associés à un répertoire Shapefile ne font pas partie du format lui-même mais sont issus du SIG ArcGis (aussi lus par QGIS).

Index spatiaux :

  • .sbn et .sbx : les parties 1 et 2 d'un index spatial qui permet, par exemple, de trouver rapidement des objets dans une zone donnée ;
  • .fbn et .fbx : index spatiaux en lecture seule ;
  • .ixs et .mxs : index de géocodage et optimisation de recherches spatiales ;
  • .qix : un index spatial basé sur un quadtree pour diviser les géométries en fonction de leur position géographique. Généré notamment par GDAL.

Index attributaires :

  • .atx : un index attributaire pour optimiser les recherches dans le fichier .dbf ;
  • .ain et .aih : index attributaires liés à un champ actif particulier dans le .dbf.

Organisme de maintenance et documentation de référence

La spécification est publiée par Esri sur son site et archivée. Il n'y a pas d'évolution. Le Shapefile n'est pas un standard OGC.

Identifiants

Extensions : .shp, .shx, .dbf

Types MIME : application/vnd.shp ; application/vnd.shx ; application/vnd.dbf

Registre Identifiant
Wikidata Q278934
Bibliothèque du Congrès fdd000280
PRONOM x-fmt/235
Just Solve the File Format Problem Shapefile

Caractéristiques techniques

Quand les jeux de données dépassent plusieurs Mo, le Shapefile est beaucoup moins compact que ses concurrents Geopackage et GeoJSON. Il est plus performant sur les jeux de données de quelques Ko (CPO-COM).

Le Shapefile a une structure simple avec des spécifications courtes. La segmentation des Shapefile facilite l'identification de ses composants mais la pluralité des fichiers induit un risque dans le transfert de l'information. De plus le Shapefile est un format binaire dépendant de logiciels SIG pour son interprétation (CPO-SIM, CPO-TRA).

Les fichiers non obligatoires du Shapefile sont très souvent utilisés pour fournir des informations cartographiques fondamentales comme la projection (CPO-AUT).

Le Shapefile ne dispose d'aucune fonctionnalité native pour protéger les données (CPO-PRO). Il ne comporte pas de fonction pour garantir l'intégrité des données, ignorer des sections corrompues ou parer la perte d'un fichier constitutif (CPO-ROB).

Métadonnées internes

En-têtes du .shp et du .shx (identiques) : codé sur 100 octets, contient la taille du fichier, le type de géométries utilisées et les coordonnées minimales et maximales en X, Y et Z.

En-tête du .dbf : date de mise à jour des données et nombre d'enregistrements du fichier.

Les seules métadonnées internes des fichiers obligatoires ne permettent pas d'embarquer des informations cartographiques fondamentales comme la projection ou la source des données. Elles peuvent cependant intégrer les fichiers additionnels.

Outils connus par la BnF

  • Caractérisation : OGR avec la commande ogrinfo -al -so monFichier.shp donne des informations sur une couche en analysant les fichiers liés au .shp pointé. -al donne des informations détaillées sans extraire toutes les coordonnées des objets (-so).

Il est possible d'exécuter la même opération dans un répertoire contenant plusieurs couches (une par sous-dossier) avec la commande :

for /r "chemin du répertoire" %f in (*.shp) do ogrinfo -al -so "%f"

For /r cherche dans tous les répertoires les fichiers .shp (%f in (*.shp) ) et leur applique la fonction précédente (ogrinfo -al -so "%f" ).

  • Validation : QGIS dispose d'un outil de validation des géométries. FME est une solution payante.
  • Édition : l'édition et la production de fichiers Shapefile est faite à partir de systèmes d'information géographique. La bibliothèque open source GDAL gère également l'ensemble des formats matriciels ou vectoriels géographiques, dont Shapefile.

Usage ou présence dans les collections de la BnF

La BnF reçoit par dépôt légal la base de données topographique, la base de donnée cartographique historique, la base de donnée forestière et le plan parcellaire édités par l'IGN en Shapefile (éditions à partir de 2010).