Table des matières

ShapeLib

Description

(ceci est une traduction du site).

La bibliothèque C Shapefile fournie la possibilité d'écrire de simple programme en c pour lire, écrire et mettre à jour (dans une étendue limitée) des Shapefile d'ESRI, et leur attribut associé (.dbf). Des outils à utiliser en ligne de commande sont fournies avec cette bibliothèque.

Outils

Liste des outils :

dbfcreate

Exemple :

$ dbfcreate testbase -s NAME 20, -n AREA 9 3, -n VALUE 9 2
# this will create a file named testbase.dbf with 3 fields:
NAME ( string (20)), AREA ( float (9,3)) and VALUE ( float (9,2))

dbfadd

Exemple :

$ dbfadd testbase.dbf REGION1 25.656 150.22
# en supposant que testbase.dbf possède 3 champs ( NAME, AREA and VALUE), cette commande insérera un 
nouvel enregistrement dans //testbase.dbf// avec les valeurs "REGION1" pour le champ NAME, '25.656' 
pour le champ AREA et '150.22' pour le champ VALUE.

dbfdump

Exemple :

$ dbfdump -h testbase.dbf
# en supposant que testbase.dbf a un enregistrement (inséré par l'exemple précédent en utilisant 
''dbfadd''), cette commande produira les données suivantes :
Field 0: Type=String, Title=`NAME', Width=20, Decimals=0
Field 1: Type=Double, Title=`AREA', Width=9, Decimals=3
Field 2: Type=Double, Title=`VALUE', Width=9, Decimals=2
NAME AREA VALUE
REGION1 25.656 150.22 

shpcreate

Exemple :

$ shpcreate testpolygon polygon
# Cela créera un shapefile ponctuel nommé //testpolygon// (en fait testpolygon.shp et testpolygon.shx 
seront créé). 

shpadd

Exemple :

$ shpadd testpolygon 100000 7000000 250000 6500000 200000 6000000 100000 7000000
# en supposant que testpolygon est un shapefile polygonal, cette commande insérera un nouveau shape (un 
triangle) dans //testpolygon// avec les coordonnées XY suivantes :
vertice 0: 100000 7000000 (cela sera également le sommet où le shape démarre et se termine)
vertice 1: 250000 6500000
vertice 2: 200000 6000000
vertice 3: 100000 7000000

shpdump

Exemple :

$ shpdump testpolygon
# en supposant que //testpolygon// est un shapefile existant déjà créé, cette commande affichera le 
résultat suivant :

  Shapefile Type: Polygon   # of Shapes: 1
  
  File Bounds: (  100000.000, 6000000.000,0,0)
           to  (  250000.000, 7000000.000,0,0)
  
  Shape:0 (Polygon)  nVertices=4, nParts=1
    Bounds:(  100000.000, 6000000.000, 0, 0)
        to (  250000.000, 7000000.000, 0, 0)
       (  100000.000, 7000000.000, 0, 0) Ring
       (  250000.000, 6500000.000, 0, 0)
       (  200000.000, 6000000.000, 0, 0)
       (  100000.000, 7000000.000, 0, 0)

shprewind

Exemple :

$ shprewind badshapefile newshapefile 

dbfinfo

Exemple :

$ dbfinfo testbase

Info pour testbase.dbf
3 Columns,  1 Records in file
         NAME          string  (20,0)
         AREA           float  (9,3)
        VALUE           float  (9,2)

dbfcat

Exemple :

$ dbfcat -v testbase1 testbase2 

shpinfo

Exemple :

$ shpinfo testpolygon

Info for testpolygon
Polygon(5), 1 Records in file
File Bounds: (         100000,        6000000)
        (         250000,        7000000)

shpcat

Exemple :

$ shpcat shapefile1 shapefile2 

shpcentrd

Exemple :

$ shpcentrd apolygonfile pointcentrd 

shpdxf

Exemple :

$ shpdxf testshapefile IDFIELD
# ...

shpfix

Exemple :

$ shpfix broken fixed 

shpproj

Entré

L'entré peut provenir d'un des trois sources. Un fichier de paramètre de projection, directement via des paramètres ou géographique. Si le shapefile possède un fichier prj, de même nom que le shapefile mais finissant par “.prj” il sera utilisé par défaut et tous les autres paramètres seront ignorés. Si l'entré est omise sa valeur par défaut est géographique, sauf si le fichier prj existe.

Sortie

La sortie peut provenir d'un des trois sources. Un fichier de paramètre de projection, directement via des paramètres ou géographique. Si la sortie est omise sa valeur par défaut est géographique.

Fichier de paramètres de projection

Ce fichier doit se terminer avec l'extension “.prj”. Il est sous la forme d'un paramètre projection par ligne. Les paramètres peuvent être dans n'importe quel ordre. Les paramètres de projection sont ceux utilisé pour définir une projection PROJ.4.

Paramètres de projection

Les paramètres de projection sont les mêmes que ceux utilisés par proj et invproj. Utilisez

Ou visitez la page web du projet PROJ.4 sur http://www.remotesensing.org/proj pour plus de détails.

Exemples :

Les exemples suivants projettent un fichier rowtest vers row3, déplace des données de Stateplane NAD83 zone 1002 vers utm zone 16 en mètres

shpproj rowtest row -i=“init=nad83:1002 units=us-ft” -o=“proj=utm zone=16 units=m”

shpproj rowtest row3 -o="proj=utm zone=18 units=m" -i="zone=16 proj=utm units=us-ft"
shpproj rowtest row3 -o="proj=utm zone=18 units=m" 
shpproj rowtest row3 -i=myfile.prj -o=geographic
shpproj rowtest row3 -is=myfile.prj