Avec ArcGIS 10, Python est devenu le langage de script de facto pour ESRI. Tout en leader des logiciels open source comme QGIS, GeoServer, PostGIS prend tous en charge Python. Il est donc devenu important de connaître / apprendre Python pour les développeurs SIG ainsi que pour les utilisateurs.
Quelqu'un peut-il dresser une liste de ces outils / modules / compléments en Python qui sont cruciaux dans les SIG?
python
software-recommendations
rouleau
la source
la source
arcgisscripting
est un module. Voir help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//…[tag:python] + [tag:my-software]
recherche et triées via les onglets votes et faq . Les réponses ici ne peuvent jamais espérer correspondre à cela.Réponses:
NumPy : NumPy est le package fondamental pour le calcul scientifique avec Python. Il contient entre autres:
Outre ses utilisations scientifiques évidentes, NumPy peut également être utilisé comme un conteneur multidimensionnel efficace de données génériques. Des types de données arbitraires peuvent être définis. Cela permet à NumPy de s'intégrer de manière transparente et rapide à une grande variété de bases de données.
SciPy : SciPy (prononcé "Sigh Pie") est un logiciel open source pour les mathématiques, les sciences et l'ingénierie. C'est aussi le nom d'une conférence très populaire sur la programmation scientifique avec Python. La bibliothèque SciPy dépend de NumPy, qui fournit une manipulation de tableau N dimensionnelle pratique et rapide. La bibliothèque SciPy est conçue pour fonctionner avec les baies NumPy et fournit de nombreuses routines numériques conviviales et efficaces telles que des routines pour l'intégration et l'optimisation numériques. Ensemble, ils fonctionnent sur tous les systèmes d'exploitation courants, sont rapides à installer et gratuits. NumPy et SciPy sont faciles à utiliser, mais suffisamment puissants pour être utilisés par certains des plus grands scientifiques et ingénieurs du monde. Si vous devez manipuler des nombres sur un ordinateur et afficher ou publier les résultats, essayez SciPy!
Shapely : Shapely est un package Python sous licence BSD pour la manipulation et l'analyse d'objets géométriques planaires. Il est basé sur les bibliothèques GEOS (le moteur de PostGIS) et JTS (à partir desquelles GEOS est porté) largement déployées. Cette dépendance C est échangée contre la possibilité de s'exécuter à une vitesse fulgurante. Shapely ne s'intéresse pas aux formats de données ou aux systèmes de coordonnées, mais peut être facilement intégré aux packages qui le sont.
Liaisons GDAL Python : ce package et ces extensions Python sont un certain nombre d'outils pour programmer et manipuler la bibliothèque d' abstraction de données géospatiales GDAL .
la source
Pour répondre à ma propre question, je viens de trouver ce module Pythons. Bien que je ne l'ait pas encore utilisé, il semble passionnant.
Et
la source
allez à Sujet :: Scientifique / Ingénierie :: SIG et vous avez tous les modules Python pour SIG (pour travailler avec des fichiers de formes, des rasters, KML, GML, géocodage GPX, etc.)
Les plus importants ont déjà été cités, mais je recommande également Fiona " Fiona fournit une interface Python minimale et simple à la bibliothèque d'accès aux géodonnées la plus fiable de la communauté SIG open source et s'intègre facilement avec d'autres packages SIG Python tels que pyproj, Rtree et Shapely. "
et pour la mise en réseau avec des fichiers de formes ou la classe d'entités Esri avec le module Networkx Géotraitement de réseau géométrique : " Pour autant que je sache , ESRI n'a pas publié d'outils de géotraitement pour leur réseau géométrique " ou Alternatives à pgRouting ou Python: comment transformer un fichier de formes (ou classe d'entités ESRI) dans un réseau topologique (graphique )
J'utilise Shapely, Fiona, GDAL / OGR, Pyshp, Networkx et autres dans QGIS et GRASS GIS sans problème (et avec matplotlib ou descartes pour un graphique interactif). Ils ont souvent des algorithmes plus faciles à utiliser pour le traitement.
Certains de ces modules peuvent également être utilisés dans ArcPy avec des problèmes car ArcPy utilise la version 1.3 de Numpy, obsolète (maintenant la version 1.6.1 ...) et vous ne pouvez pas le mettre à jour sans casser le module ArcPy.
la source
Pour le rendu cartographique des données SIG:
la source
Ajout à la liste:
PySAL - "bibliothèque open source multiplateforme de fonctions d'analyse spatiale"
disponible sur: http://code.google.com/p/pysal/
pyshp - un lecteur et écrivain de fichiers de formes python en python pur
disponible sur: http://code.google.com/p/pyshp/
Modifier:
Quelqu'un m'a montré ce module aujourd'hui, peut intéresser les gens. Exemples de données vectorielles et raster SIG pour l'utilisation de python:
gisdata - http://pypi.python.org/pypi/gisdata/0.3.3
la source
J'utilise et recommande ReportLab Toolkit , la bibliothèque PDF Open Source pour créer par programmation des documents au format PDF. Comme annoncé sur ses pages, il s'agit d'une solution robuste, flexible et éprouvée dans le temps. C'est un logiciel gratuit et open-source écrit en Python mais sa syntaxe n'est pas la plus simple que j'ai jamais traitée :-)
Dans ArcGIS 10.0, il est inestimable pour écrire des rapports au format PDF à partir de classes d'entités et de tables, bien que certaines de ces fonctionnalités puissent ne pas être nécessaires à la version 10.1 lorsque l'accès aux rapports PDF à partir du rédacteur de rapports ArcGIS devient disponible pour ArcPy.
la source
pdfgen
package ouplatypus
? J'ai besoin de générer des rapports avec des jpegs et du texte, rien de trop sophistiqué.Dans le monde Django:
la source
Il y a encore plus:
GRASS - Vous pouvez appeler GRASS avec Python.
FMEObjects - Si vous avez une licence FME, ils ont aussi un module python qui vous permet d'appeler certains de leurs transformateurs sympas.
la source
La distribution de packages Enthought a beaucoup de packages répertoriés ci-dessus regroupés dans une plate-forme cohérente. Ils se sont même assurés qu'il peut être facilement configuré pour fonctionner à partir de l'invite python d'ArcGIS et qu'il
arcpy
peut être utilisé à partir de son invite python. Nous utilisons cela dans nos bureaux. Depuis notre wiki interne:La meilleure façon de connecter ArcGIS et EPD consiste à installer les deux et à les lier à l'aide de fichiers .pth afin que Python sys.path inclue les autres modules du système. Le fichier "zzEPD.pth" permet à ArcGIS Python d'accéder aux modules EPD et "zzArcGIS.pth" permet à EPD Python d'accéder à arcpy. (Le préfixe "zz" est là pour garantir que les packages "étrangers" sont les derniers dans sys.path pour éviter les conflits potentiels pour les modules qui existent dans les deux installations Python.) Si vous rencontrez des conflits ArcGIS, renommez simplement le fichier en. txt ("zzEPD.pth.txt") et redémarrez ArcGIS et ArcGIS ne "verra" plus les modules EPD (ils ne seront pas dans sys.path).
* zzEPD.pth - place dans le dossier \ Python27 \ Desktop10.1 \ lib \ site-packages *
* zzArcGIS.pth - place dans le dossier \ Python27 \ epd32 \ lib \ site-packages *
la source
Non spécifique au SIG, mais pour le débogage de python,
IPDB
c'est incroyable. https://pypi.python.org/pypi/ipdbPour l'utiliser, placez simplement les lignes suivantes dans votre code:
Ensuite, dans votre shell Python, vous pouvez déposer dans n'importe quel morceau de code et interagir avec toutes les variables à cet état actuel.
la source