Comment ouvrir un shapefile sans ArcGIS

Vous pouvez ouvrir un shapefile sans ArcGIS de trois façons. Installez QGIS, gratuit et open source, et faites glisser le fichier .shp sur la carte. Utilisez ogrinfo de GDAL en ligne de commande pour lister la couche, les champs et le système de coordonnées. Ou déposez les fichiers .shp, .shx et .dbf dans la Visionneuse de shapefile de FileReshape, qui affiche la carte et la table attributaire dans votre navigateur sans rien envoyer.

D'abord, vérifiez que vous avez toutes les parties

Un shapefile n'est pas un seul fichier, mais un ensemble de fichiers portant le même nom. Le fichier .shp contient les formes, le fichier .shx est l'index qui relie chaque forme à sa ligne, et le fichier .dbf contient la table attributaire. Ces trois-là sont obligatoires. Le fichier .prj décrit le système de coordonnées, et le fichier .cpg indique l'encodage du texte de la table attributaire. Les deux sont facultatifs mais fortement recommandés.

La raison la plus fréquente pour laquelle un shapefile « ne s'ouvre pas » est que seul le fichier .shp a été envoyé ou copié. Si quelqu'un vous a envoyé un seul .shp par e-mail, demandez le dossier complet, idéalement sous forme de .zip. Les fichiers supplémentaires comme .sbn, .sbx, .qix ou .shp.xml sont des index spatiaux et des métadonnées ; aucun programme n'en a besoin pour ouvrir les données.

Gardez en tête les limites du format lorsque vous examinez les données. Les noms de champs du .dbf font au plus 10 caractères, ce qui explique les colonnes abrégées comme DESCRIPTIO. Chaque shapefile ne contient qu'un seul type de géométrie : points, lignes et polygones se trouvent donc toujours dans des shapefiles distincts. Et les fichiers .shp et .dbf sont chacun limités à 2 Go.

Ouvrir un shapefile dans QGIS

QGIS est un SIG de bureau gratuit et open source pour Windows, macOS et Linux. C'est le meilleur choix lorsqu'il vous faut plus qu'un coup d'œil rapide : modifier des formes ou des attributs, définir des styles, joindre des tables, mesurer ou imprimer une carte. Sous Linux, il est généralement disponible dans le gestionnaire de paquets de la distribution, ce qui en fait aussi la réponse habituelle à la question « quelle visionneuse de shapefile fonctionne sous Linux ? ».

Si QGIS demande un système de coordonnées, c'est que le fichier .prj manque. Choisissez le bon dans les propriétés de la couche, sinon la couche se retrouvera au mauvais endroit sur la carte.

  1. Installez QGIS depuis qgis.org ou votre gestionnaire de paquets, et créez un nouveau projet.
  2. Faites glisser le fichier .shp depuis votre gestionnaire de fichiers sur la fenêtre de la carte, ou utilisez Couche > Ajouter une couche > Ajouter une couche vecteur et choisissez le fichier .shp.
  3. Faites un clic droit sur la couche et choisissez « Ouvrir la table d'attributs » pour voir les champs et les valeurs.
  4. Faites un clic droit sur la couche et choisissez Propriétés pour vérifier le système de coordonnées, l'encodage et les types de champs.

Examiner un shapefile en ligne de commande avec ogrinfo

GDAL est la bibliothèque open source sur laquelle reposent QGIS et de nombreux autres outils, et elle est fournie avec les programmes en ligne de commande ogrinfo et ogr2ogr. Sous Linux, vous pouvez généralement les installer avec un paquet appelé gdal-bin ou gdal ; sous Windows et macOS, ils sont fournis avec QGIS ou peuvent être installés séparément. La ligne de commande est le bon outil pour les serveurs, les scripts et les traitements par lots sur de nombreux fichiers.

L'option -so affiche un résumé au lieu de chaque entité : le type de géométrie, le nombre d'entités, l'emprise, le système de coordonnées et la liste des champs avec leurs types. Omettez-la pour afficher chaque entité avec ses attributs. Pour transformer le shapefile dans un autre format, utilisez ogr2ogr, par exemple vers le GeoJSON, que n'importe quel éditeur de texte et de nombreux outils web savent lire.

# Résumé : type de géométrie, nombre d'entités, emprise, SCR et champs
ogrinfo -so -al roads.shp

# Conversion en GeoJSON en WGS84
ogr2ogr -f GeoJSON -t_srs EPSG:4326 roads.geojson roads.shp

Ouvrir un shapefile dans votre navigateur avec FileReshape

Si vous voulez seulement voir ce que contient un shapefile, la Visionneuse de shapefile de FileReshape ne demande aucune installation et fonctionne sous Windows, Mac et Linux, sur Chromebook et sur tablette. Elle tourne dans votre navigateur avec GDAL compilé pour le web : les fichiers sont donc lus depuis votre propre disque et ne sont pas envoyés. C'est un choix sûr lorsque vous cherchez une visionneuse web où envoyer un shapefile, mais que les données sont confidentielles.

Vous pouvez déposer un .zip contenant le shapefile, ou sélectionner ensemble les fichiers .shp, .shx, .dbf et .prj. Dans un .zip, la visionneuse trouve les parties toute seule, même dans un sous-dossier, et plusieurs shapefiles d'un même .zip sont dessinés sur la même carte, avec une liste pour passer d'une table attributaire à l'autre. Chaque en-tête de colonne affiche le nom du champ et le type que GDAL lit, comme String, Integer, Real ou Date. Cliquez sur une ligne pour zoomer sur l'entité, ou cliquez sur une entité de la carte pour trouver sa ligne.

Sans fichier .prj, la visionneuse suppose du WGS84 lorsque les coordonnées ressemblent à des longitudes et latitudes, et sinon vous demande le code EPSG. Sans fichier .cpg, elle lit l'UTF-8 valide comme de l'UTF-8, et le reste du texte avec la page de codes indiquée dans l'en-tête du .dbf, ou en Windows-1252 s'il n'y en a pas.

  1. Ouvrez la Visionneuse de shapefile et déposez un .zip, ou sélectionnez à la fois les fichiers .shp, .shx, .dbf et .prj.
  2. Regardez les entités sur la carte et parcourez la table attributaire en dessous.
  3. Si vous le souhaitez, cliquez sur « Télécharger en GeoJSON » pour enregistrer une copie de toutes les entités en WGS84.

Quelle solution choisir ?

Utilisez la visionneuse dans le navigateur pour jeter un coup d'œil rapide à un fichier qu'on vous a envoyé, sur un ordinateur où vous ne pouvez pas ou ne voulez pas installer de logiciel. Elle est en lecture seule : elle ne peut donc pas abîmer les fichiers, mais elle ne peut pas non plus les modifier. Pour rester réactive, elle dessine jusqu'à 20 000 entités par couche et affiche les 1 000 premières lignes dans la table, même si les compteurs et le téléchargement GeoJSON couvrent toutes les entités. Sa limite est la mémoire de votre navigateur.

Utilisez QGIS lorsque vous devez modifier, styliser, analyser ou imprimer, ou lorsque le fichier est très volumineux. Utilisez ogrinfo et ogr2ogr lorsque vous voulez vérifier ou convertir de nombreux fichiers dans un script, ou travailler sur un serveur sans interface graphique. Les trois lisent les mêmes fichiers : vous pouvez donc commencer dans le navigateur et passer à QGIS plus tard.

Questions fréquentes

Puis-je ouvrir seulement le fichier .shp ?

Pas de manière utile. Le fichier .shp ne contient que les formes. Sans le .dbf, il n'y a pas d'attributs, et sans le .shx, la plupart des programmes refusent le fichier. Demandez tous les fichiers portant le même nom, ou un .zip du dossier.

Existe-t-il une visionneuse de shapefile pour Linux ?

Oui. QGIS fonctionne sous Linux et se trouve dans les dépôts de paquets de la plupart des distributions, et ogrinfo de GDAL affiche un résumé en ligne de commande. La visionneuse de FileReshape fonctionne aussi dans n'importe quel navigateur récent sous Linux.

Mon shapefile est-il envoyé quand j'utilise la visionneuse en ligne ?

Non. FileReshape lit les fichiers dans votre navigateur et y dessine la carte. Seules les tuiles du fond de carte sont chargées depuis le web ; vos données ne sont envoyées nulle part.

Pourquoi les noms de champs sont-ils coupés ?

La table attributaire .dbf n'accepte que des noms de champs de 10 caractères au plus : les noms longs sont donc raccourcis lorsqu'un shapefile est écrit. Les noms complets ne peuvent pas être retrouvés à partir du shapefile lui-même.

Puis-je modifier un shapefile sans ArcGIS ?

Oui, avec QGIS. Lancez l'édition avec l'icône en forme de crayon sur la couche, modifiez les formes ou les valeurs des attributs, puis enregistrez. La visionneuse de FileReshape est en lecture seule.