Maison >développement back-end >Tutoriel Python >tutoriel python gdal : lire et écrire des données vectorielles avec ogr
Pourquoi utiliser l'open source ?
Avantages
1. Gratuit, adapté aux particuliers et aux petites entreprises
2. Outils de développement puissants, plus faciles à trouver des bugs
3. , Windows et Linux peuvent être utilisés
4.
Inconvénients
1. Pas de géoprocesseur intégré
2. Peu de gens l'utilisent
Module RS/GIS open source
. 1. Bibliothèque vectorielle OGR : lecture et écriture de données vectorielles simples, fait partie de GDAL
2 Bibliothèque d'abstraction de données géospatiales GDAL :
a) Lecture et écriture de données raster
. b) ArcGIS est également développé sur la base de GDAL
c) Bibliothèque C, mais vous pouvez utiliser python pour appeler
modules associés
1. , pour les données Raster est particulièrement important
2 NumPy : la prochaine génération de Numeric
3 Une bibliothèque SIG plus puissante http://www.gispython.org/
Importer la bibliothèque :import ogr ou : depuis osgeo import ogrLa méthode universelle est : essayez : depuis osgeo import ogrsauf :import ogrPour lire un certain type de données, vous devez d'abord charger le pilote de données, c'est-à-dire initialiser un objet, lui faire "connaître" une certaine structure de données. import ogrdriver = ogr.GetDriverByName('ESRI Shapefile')La méthode open() du pilote de pilote de données renvoie un objet source de données open(Libérer la mémoire feature.Destroy()Fermer la source de données, ce qui équivaut à fermer le fichier en fonctionnement du système de fichiersdataSource.Destroy()Parlons après avoir lu ceci Comment écrire Créer un nouveau fichierdriver.CreateDataSource(
Pour supprimer un fichier shp
driver.DeleteDataSource('test.shp')Pour ajouter un nouveau champ, il ne peut être ajouté que dans la couche, et il ne peut pas y avoir de données Si le champ ajouté est une chaîne, définissez également la largeur fieldDefn = ogr.FieldDefn('id', ogr.OFTString)fieldDefn.SetWidth(4) layer.CreateField(fieldDefn) Pour ajouter une nouvelle fonctionnalité, vous devez d'abord terminer l'étape précédente et ajouter tous les champs Lire ensuite le type de fonctionnalité correspondant dans le couche et créez la fonctionnalité featureDefn = layer.GetLayerDefn()feature = ogr.Feature(featureDefn)Définir la géométriefeature.SetGeometry( point) Définir la valeur d'un champfeature.SetField('id', 23)Écrire la fonctionnalité dans la couchelayer.CreateFeature (fonctionnalité)
Ce qui précède est le tutoriel python gdal : utiliser ogr pour lire et écrire des données vectorielles. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !