Vous utilisez la fonctionnalité ArcGIS dans Python sans exécuter ArcMap (par exemple, un éditeur / environnement séparé)?

26

J'essaie de passer à l'étape suivante de la programmation d'ArcGIS avec Python et de voir s'il est réellement possible d'exécuter mon script / code sans avoir à charger ArcMap et à les coller dans la fenêtre Python. J'imagine que je ferais cette vue une sorte d'IDE spécifique à Python qui charge quelque chose d'ArcGIS.

Comment pourrais-je faire cela?


Mise à jour: Résumé de la solution

J'ai emprunté la route Eclipse + PyDev. Voici mes notes sur l'installation de tout et son fonctionnement:

Télécharger Eclipse

Ceci est légèrement déroutant compte tenu de toutes les différentes saveurs disponibles (Java, Java EE, C / C ++, etc.). Je suis allé avec C / C ++ car c'est ce que je connais. Cela n'a pas vraiment d'importance puisque PyDev est installé après cette étape. Choisissez ce que vous voulez.

Installer PyDev

PyDev sera installé via Eclipse. Les instructions liées fonctionnaient parfaitement.

Configurer PyDev

La question ci-dessus donne une capture d'écran d'une configuration Windows, tandis que ce lien à partir d'un blog ESRI contient plus d'informations sur les systèmes Unix bien qu'il date de 2008.

A exécuté un script de test

J'ai lancé un script sur lequel je travaillais et cela a fonctionné. Il semble qu'il y ait quelques différences dans l'exécution du code de cette manière dans la façon d'accéder aux fichiers de formes et à l'espace de travail, etc., il faut plus d'explication. Plus d'informations ici.

mindless.panda
la source
J'avoue que cela semble presque plus une question Python et trahit également mon ignorance de l'environnement Python, mais j'espère que la réponse sera utile à d'autres qui sont nouveaux dans ArcGis + Python!
mindless.panda
Je pense qu'utiliser IDLE aurait été plus facile. PyDev est un peu exagéré dans cette situation, je pense. Vous pouvez également créer des modèles dans Model Builder et les exporter en tant que fichiers .py. De cette façon, vous auriez une idée du code Python.
RK
C'est simplement répéter ce que j'ai dit! C'est le meilleur mais n'est-ce pas. La clé de son utilisation de cette façon est que vous êtes capable de créer des objets et des classes que certaines des autres méthodes ne prennent pas en charge. Il vous permet de vous concentrer vraiment sur la construction de code de cracking, déployable sur le serveur. Bonne chance!
Hairy
2
Mindless, une seule réponse mentionne ici la solution Eclipse + PyDev. Y a-t-il une raison pour laquelle vous ne l'avez pas voté?
whuber
Aucun. J'ai accepté la suggestion Eclipse car c'est comme ça que je suis allé et j'ai préféré. J'ai seulement répondu à ma propre question pour documenter le processus d'installation. Une raison pour laquelle ma réponse devrait être modifiée dans la question? Peut-être que cela devrait être un CW?
mindless.panda

Réponses:

11

La meilleure façon d'utiliser Python, c'est d'utiliser Eclipse avec PyDev. C'est un bon IDE pour développer avec et permet le débogage en ligne, pas recommander le débogage en ligne, et cela m'a permis de créer des applications de gestion de données back-end très professionnelles à grande échelle.

IDLE n'est que bon pour tester les scriplets, à mon avis, et n'est pas bon pour concevoir des solutions complexes basées sur des objets.

Il est également incroyablement facile à installer.

Poilu
la source
Y a-t-il beaucoup à faire fonctionner Eclipse + PyDev avec la fonctionnalité ArcGIS? D'autres réponses semblent indiquer certaines particularités avec l'utilisation du Python non installé sur Arc?
mindless.panda
Rien du tout, assurez-vous simplement que le bureau arcgis est installé et configurez Eclipse pour qu'il fonctionne avec PyDev et que vous êtes absent. Il a fallu 5 minutes pour le configurer, puis tout ce que vous avez à faire est de référencer arcpy dans votre script. Sérieusement, je n'ai pas vu de meilleure façon de le faire.
Hairy
15

Je viens de commencer à me familiariser avec Python et arcpy et j'ai trouvé PyScripter vraiment utile. C'est un IDE Python à part entière

mapoholic
la source
2
Le meilleur IDE que j'ai utilisé à ce jour est PyScripter et c'est gratuit!
Hornbydd
2
PyScripter est vraiment génial. Excellente complétion de code, mise en évidence de la syntaxe, recherche et remplacement, onglets pour afficher plusieurs scripts PY. Beaucoup plus utile que IDLE à mon avis.
RyanDalton
15

Si je comprends la question, vous souhaitez exécuter vos scripts de manière autonome, en dehors de la session ArcMap. Totalement faisable. Enregistrez votre code dans un fichier Python (.py). En ce qui concerne l'édition, vous pouvez utiliser IDLE ou n'importe quel éditeur de texte (même le Bloc-notes). Parfois, lorsque vous débutez, il est plus facile d'utiliser un éditeur de texte afin que vous puissiez vous concentrer sur l'apprentissage du code, pas sur l'IDE. Assurez-vous que vos variables d'environnement PATH sont correctement configurées, de sorte qu'elles incluent votre répertoire d'installation Python, quelque chose comme:

C:\Python26\ArcGIS10.0\Lib\site-packages\;C:\Python26\ArcGIS10.0;C:\Python26\ArcGIS10.0\Scripts

Il suffit ensuite d'ouvrir une invite de commande (Démarrer> Exécuter> tapez 'cmd' [sans les guillemets]) et de taper:

python c:\path\to\python\script.py

Maintenant, cela suppose que tous vos chemins de données soient codés en dur dans le script.

Voilà l'essentiel. Il y a bien sûr beaucoup plus, comme l'utilisation de paramètres d'entrée.

Chad Cooper
la source
3
juste un commentaire concernant IDLE ou un éditeur de texte standard. Personnellement, je trouve que PythonWin est un moyen beaucoup plus facile de travailler car il a de meilleures capacités de débogage - cruciales lors de l'apprentissage. Voir les instructions sur l'installation de PythonWin avec ArcGIS 10. Vous devez vous assurer que vous installez la version de PythonWin à partir du DVD ArcGIS, sinon cela peut interrompre l'installation de Python.
Stephen Lead
6

Lorsque ArcGIS installe, il installe sa propre version de python (c'est-à-dire que vous n'avez pas besoin d'importer les dépendances) .. assurez-vous d'utiliser celle-ci ..

J'utilise python CLI comme calculatrice ainsi que pour exécuter des scripts enregistrés.

Python comme calculatrice est grande que vous pouvez définir des variables .. Je suis cette astuce du python tutoriels http://docs.python.org/

J'ai un raccourci vers la CLI via l'invite de commande sur ma barre des tâches% windir% \ system32 \ cmd.exe / k "C: \ Python26 \ ArcGIS10.0 \ python.exe"

J'ai utilisé des tâches planifiées de Windows pour faire de la maintenance via des scripts que j'ai exportés hors du générateur de modèles, puis piraté certaines modifications des intégrations python telles que l'application de dates aux noms de fichiers pour les sauvegardes.

woodwa
la source
5

Je crois qu'un IDE pour python est fourni avec l'installation d'ArcGIS-10. Il s'appelle IDLE et est un outil simple mais efficace pour interfacer avec ArcPy sans ouvrir une instance d'ArcMap elle-même. Vous devriez pouvoir le trouver dans le répertoire "Python 2.6" de votre installation ArcGIS dans le menu Démarrer. Assurez-vous juste import arcpyavant d'effectuer quelque chose de spécifique au package! Tout exemple de script que vous voyez dans la référence ArcPy pour les scripts autonomes fonctionnera dans l'interface IDLE.

Nathanus
la source