Ecriture de Shapefiles

La librairie pyShp permet d'écrire des fichiers shapefile utilisables ensuite dans un SIG (comme QGis). PyShp, crée un fichier de forme (.shp), un fichier index (.shx) et un fichier contenant les attributs des différentes entités spatiales (.dbf).

Créer un nouveau fichier :


file1 = pyShp.Writer(pyShp.POINT) #Nouveau fichier contenant des points
file2 = pyShp.Writer(pyShp.POLYLIGNE) #Nouveau fichier contenant des polylignes
file2 = pyShp.Writer(pyShp.POLYGONE) #Nouveau fichier contenant des polygones
						

Ajouter un champ

Les entités spatiales peuvent être accompagnées d'attributs (c'est ce qui fait l'intérêt de ces fichiers et leur manipulation dans un SIG). Il faut pour cela les déclarer lors de la création d'un nouveau fichier.


file.field(nom, type, longueur, decimal)
						

Avec :

  • nom : une chaîne de caractère donnant le nom du fichier. Veillez à ce que ce nom comprennent moins de 10 caractères auquel cas il sera tronqué lors du chargement dans un SIG ;
  • type : le type de données du champ ;
    • "C", pour une chaîne de caractères;
    • "F", pour un réel ;
    • "I" pour un entier (valeur par défault)
  • longueur : la longueur du champ ;
  • decimal : le nombre de décimal (applicable s'il s'agit d'un réel).

Créer une nouvelle entité


file.line([[[XA,YA],[XB,YB]],[[XB,YB],[XC,YC]],[[XC,YC],[…]]]) #Pour une nouvelle polyligne
						

Ajout des attributs


file.record([attribut_1, attribut_2, …])