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, …])