J'aimerais utiliser un script Python non basé sur arcpy pour interroger un fichier de formes par attributs, créer un nouveau calque à partir d'une sélection, calculer les zones d'un polygone et convertir des polygones en points.
Quelqu'un a-t-il des exemples de code d'utilisation d'autres modules ou bibliothèques Python? Je suis capable de le faire facilement en utilisant arcpy mais je voulais explorer d'autres options.
python
geoprocessing
sherpas
la source
la source
Réponses:
C'est étrange, comme si les gens découvraient soudain le pouvoir de Python (sans ArcPy, qui n'est qu'un module parmi d'autres), voir par exemple la question Visualiser le fichier de formes en Python :
Vous pouvez combiner tous (Pysal avec galbe, ...) et les mélanger avec les autres modules scientifiques.
Ainsi, pour des exemples de scripts Python, recherchez Pyshp Fiona, ogr, gdal ou galbé dans gis.stackexchange ou sur Internet (nombreux exemples, et pas seulement en anglais).)
L'un d'eux en français (les scripts et les figures sont universels!):
- Python: utilisation de couches vectorielles et matricielles dans une perspective géologique, sans logiciel SIG,
autre en anglais:
- SIG avec Python, Shapely et Fiona
et en espagnol
- Détermination des superficies de polygones irréguliers à l'aide des coordonnées des sommets
de gis.stackexchange
- Profil d'altitude de 10 km de chaque côté d'une ligne
- Mise à jour des attributs avec Pyshp
- Comment créer un fichier de formes 3D à partir d'un raster?
- Script Python pour obtenir la différence d'altitude entre deux points
- etc
Le script présenté par Aaron s’écrit plus simplement avec Fiona qui n’utilise que les dictionnaires Python:
et si vous utilisez galbé en plus:
Il y a aussi deux livres:
Développement géospatial en python d’Eric Westra.
Apprendre l'analyse géospatiale avec Python de Joel Lawhead
Python est également utilisé comme langage de script dans d'autres applications SIG telles que QGIS (Quantum GIS), GRASS GIS, gvSIG ou OpenJump ou des modélisateurs 3D comme Paraview (et Blender également!). Et vous pouvez utiliser la majorité des modules géospatiaux dans toutes ces applications (voir Visualisation des données QGIS avec Blender ).
la source
Je recommande vivement le site USU Geoprocessing with Python utilisant un SIG Open Source pour vous aider à démarrer. Ils utilisent principalement la bibliothèque GDAL / OGR tout au long des exercices. L'installation de GDAL / OGR peut être un peu difficile, cette entrée de blog peut vous être utile: Installation de GDAL (et OGR) pour Python sous Windows . Consultez également Alternatives à l’utilisation d’Arcpy sur GIS.SE.
L'exemple de script de géotraitement opensource suivant (du site USU) permet d'extraire des données d'attributs et de les écrire dans un fichier texte:
la source
.Destroy
est un nom de méthode génial: pVous pourriez être intéressé par GDAL / OGR .
GDAL est utilisé pour le traitement des rasters, tandis que OGR est utilisé pour les vecteurs. Les deux sont des bibliothèques open source.
Si vous souhaitez supprimer certaines dépendances sur ArcPy, vous pouvez reproduire certaines fonctionnalités en lisant les informations dans un tableau et en exécutant vos propres calculs en pur Python.
Je l'ai fait récemment en sélectionnant des points dans un polygone, comme on le voit ici . Il utilise l'algorithme de diffusion de rayons pour déterminer si un point se trouve dans un polygone, en fonction des coordonnées des sommets du polygone.
la source
Je n'ai jamais utilisé cela personnellement, mais d'autres personnes au bureau aiment utiliser galbé: https://pypi.python.org/pypi/Shapely
la source