Python est l'un des langages les plus populaires utilisés pour automatiser les tâches ArcGIS, peut-être parce qu'il a une courbe d'apprentissage relativement faible et qu'il peut faire beaucoup de choses. Python est intégré dans ArcGIS Desktop. Vous pouvez créer des add-ins Python et des boîtes à outils, et dans ArcMap, vous pouvez directement saisir des expressions d'étiquettes et MapTip en Python au lieu de devoir charger un fichier script. C'est agréable d'avoir ces options.<\/P>
<\/P>
Au milieu de tout cet engouement pour Python, certains ont dit que ModelBuilder est le héros oublié du monde de l'automatisation ArcGIS. Ils soutiennent que ModelBuilder mérite une plus grande part de la lumière qui brille sur Python. J'ai toujours trouvé que les professionnels GIS sont des penseurs visuels qui adoptent le scripting, donc il est logique qu'ils utilisent à la fois Python et ModelBuilder pour faire leur travail ArcGIS (et beaucoup d'entre vous le font probablement).<\/P>
Mais s'il y a un débat Python vs. ModelBuilder, je resterai neutre en disant que les deux sont précieux et ont leur place. Quand un enfant plus âgé accuse avec colère ses parents de favoritisme envers l'intrus indésirable, les parents sages savent répondre : "Nous aimons ton petit frère tout autant que<\/EM> nous t'aimons." Et c'est ainsi avec ModelBuilder et Python.<\/P><\/P>Les deux sont des outils pour automatiser les flux de travail d'analyse GIS, de gestion des données et de cartographie. Contrairement à Alex et au petit Sam, ils peuvent même bien s'entendre (vous pouvez ajouter un outil script Python à un modèle, et vous pouvez exporter un modèle en script Python).<\/P><\/P>J'ai entendu dire que ModelBuilder est appelé un "langage de programmation visuel." C'est une façon intéressante d'y penser car il est vrai qu'il y a beaucoup de choses que vous pouvez faire dans ModelBuilder qui reflètent des techniques de programmation — comme créer des variables, itérer (boucler) à travers un ensemble de données, définir des préconditions, et imbriquer des sous-modèles dans un modèle plus grand (similaire à appeler un autre script depuis l'intérieur d'un script).<\/P><\/P>Mettons un peu de lumière sur ModelBuilder au cas où il se sentirait laissé de côté. Pourquoi voudriez-vous créer un modèle ?<\/P><\/P><\/A>Visualiser les Flux de Travail<\/STRONG><\/P><\/P>Un modèle est extrêmement utile lors de la conception et du partage d'un flux de travail, surtout lorsqu'il est compliqué. Vous pouvez toujours dessiner sur un tableau blanc, mais glisser-déposer des outils dans un modèle rapporte des points d'efficacité — vous pouvez construire et ajuster dynamiquement le flux de travail pendant que vous y réfléchissez. Vous pouvez facilement réarranger les outils et éléments du modèle et ajouter des étiquettes textuelles pour documenter le flux et les ensembles de données créés. Lors d'une collaboration avec d'autres, communiquer sur un flux de travail en utilisant un modèle est plus efficace que lire et faire défiler un script. Un modèle est comme une carte — c'est un support graphique qui engage les gens et améliore la compréhension. Vous pouvez même exporter un modèle en fichier graphique ou PDF et l'emporter à une réunion comme document distribué.<\/P><\/P>Explorer les Résultats et Tester des Scénarios<\/STRONG><\/P><\/P>Parce que vous exécutez un modèle depuis ArcGIS Desktop (ArcGIS Pro ou ArcMap), vous pouvez examiner les résultats immédiatement. De cette façon, un modèle fait partie intégrante du quotidien de votre travail GIS. Si la sortie du modèle crée une nouvelle question à investiguer, il vous suffit de changer un paramètre du modèle (par exemple, remplacer l'ensemble de données d'entrée ou la valeur d'un outil) puis relancer le processus ou relancer tout le modèle, puis explorer ce que cela produit.<\/P><\/P>Avec un script, c'est certainement faisable mais pas aussi facile pour travailler itérativement ainsi. Vous devez ouvrir le fichier script, trouver les lignes de code à modifier, faire les modifications, enregistrer le script, exécuter le script, puis éventuellement ouvrir ArcMap et ajouter la sortie ainsi que peut-être d'autres couches pour le contexte. Pour faciliter les choses, vous pouvez commencer par charger le script dans la fenêtre Python dans ArcGIS et continuer à partir de là.<\/P><\/P>Identifier les Problèmes<\/STRONG><\/P><\/P>Une des choses intéressantes avec un modèle est que vous pouvez visualiser sa progression pendant son exécution. À chaque processus exécuté, l'outil clignote en rouge et une ombre portée apparaît sous ses éléments lorsque le processus est terminé. Vous pouvez immédiatement savoir où une erreur s'est produite dans le modèle car il s'arrête là. Il suffit de trouver le premier processus qui n'a pas d'ombre portée.<\/P><\/P>Après avoir corrigé l'erreur, vous pouvez continuer à exécuter le modèle à partir de ce point — vous n'avez pas besoin de revenir au début. Il suffit de cliquer droit sur l'élément outil dans le processus qui a échoué et choisir Exécuter. Identifier l'emplacement d'un problème dans un script n'est pas toujours aussi rapide.<\/P><\/P>Appliquer les Compétences Que Vous Possédez Déjà<\/STRONG><\/P><\/P>La raison la plus évidente pour créer un modèle plutôt qu'un script est que vous ne possédez pas les compétences en scripting, que ce soit en Python ou dans tout autre langage, et que vous ne voulez pas ou ne pouvez pas investir le temps nécessaire pour apprendre le scripting. Bien qu'aujourd'hui il soit assez facile d'acquérir des compétences basiques en Python. Chez Esri uniquement, il existe des tutoriels gratuits, présentations, séminaires de formation ainsi que des cours web gratuits ou peu coûteux. Les outils géotraitement ArcGIS produisent des extraits de code Python que vous pouvez examiner pour apprendre puis modifier selon vos besoins. Cependant, les compétences basiques en Python ne suffisent pas si vous devez automatiser un flux de travail avancé.<\/P><\/P>Les modèles enchaînent et exécutent des outils géotraitement ; donc si vous êtes professionnel GIS utilisant ArcGIS, il y a fort à parier que vous avez déjà les compétences nécessaires pour créer un modèle. Configurer correctement un modèle demande du temps et une planification, comme toute autre tâche. Vous devez comprendre vos données, paramètres environnementaux, paramètres d'outils et sorties souhaitées. Il y a des subtilités et capacités plus avancées des modèles dont vous pourriez avoir besoin d'apprendre davantage, mais encore une fois il existe beaucoup de ressources pour cela (voir la liste au bas de ce post).<\/P><\/P>En fin de compte, le choix entre automatiser un flux ArcGIS avec un script ou avec un modèle dépendra surtout de ce avec quoi vous êtes le plus à l'aise. Python est un outil textuel basé sur la logique tandis que ModelBuilder est un outil visuel basé sur la logique. En nourrissant votre appétit culturel, parfois vous voulez lire un excellent roman et parfois regarder une belle peinture. De même, il peut y avoir des moments où vous voulez écrire un script et d'autres où vous préférez créer un modèle. La beauté d'ArcGIS est que vous pouvez facilement faire les deux directement dans ArcGIS Desktop.<\/P>Articles connexes :<\/P>ModelBuilder 101 pour utilisateurs ArcGIS Pro<\/A>ModelBuilder 101 (ArcMap)<\/A> Ressources pour en savoir plus sur ModelBuilder :<\/LI>Options de formation Esri<\/A>Aide ArcGIS (ArcGIS Pro<\/_A>, ArcMap<\/_A>)< P > Ressources pour apprendre davantage sur le scripting Python : < / P >< UL >< LI >< A href = "http:\/\www.python.org" target = "_blank" title = "Site officiel Python" rel = "nofollow noopener noreferrer" > Site Python < / A >< / LI >< LI >< A href = "http:\/\go.esri.com\learnpython" target = "_blank" title = "Options formation Esri pour scripting Python" rel = "nofollow noopener noreferrer" > Options formation Esri pour Python < / A >< / LI >< / UL >< / BODY >< / HTML >
Les membres connectés peuvent publier, suivre les mises à jour, et plus encore. Nouveau ici ? Inscrivez-vous gratuitement.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.