Comme promis, on se retrouve en ce début d'année pour le premier tutoriel sur
l'API Python d'ArcGIS ! Mais avant de savoir quoi coder, on va se poser
la question de où coder.
Dans les tutoriels, j'utilise souvent ArcGIS Notebooks. Disponible par défaut
dans ArcGIS Online et ArcGIS Pro et via un rôle serveur additionnel dans
ArcGIS Enterprise, cet environnement d'exécution offre plusieurs avantages :
une intégration transparente à votre SIG web, la mise à disposition d'extraits
de codes ou
de scripts complets préconçus par Esri, mais aussi un environnement Python prêt à l'emploi, qui inclut les
bibliothèques ArcGIS (ArcPy et l'API Python) ainsi que de nombreuses
dépendances Python déjà installées, couramment utilisées pour la manipulation
de données, l'analyse et l'automatisation.
Cette solution est donc très intéressante, car elle permet de se concentrer
directement sur le développement plutôt que sur la configuration de
l'environnement et assure des workflows très fluides pour travailler avec
ArcGIS.
Mais dans certains cas, vous pourriez préférer conserver vos habitudes de
développement (par exemple en utilisant votre IDE préféré) ou avoir à enrichir
votre environnement avec des bibliothèques spécifiques. L'API Python d'ArcGIS
étant distribuée via
Pypi et
Conda, il est totalement possible de l'installer et de l'utiliser dans
l'environnement de votre choix, et nous allons voir comment dans cet article.
Selon le cas de figure dans lequel vous vous trouvez, plusieurs options sont
disponibles. Voici les différents points que cet article traitera :
- Gestionnaire d'environnement ;
- Installer l'API Python dans un environnement vierge ;
- Étendre l'environnement par défaut d'ArcGIS Pro ;
Gestionnaire d'environnement
Pour simplifier la manipuler les environnements, il vous faut un
gestionnaire d'environnement. Esri préconise
une distribution Anaconda complète ou Miniconda
:
- Anaconda Distribution installe conda ainsi que de nombreux package Python pour les data science et une interface graphique pour travailler avec vos environnements conda.
- Miniconda est une solution légère qui installe seulement Python, conda et les bibliothèques nécessaires pour l'exécution de conda.
Personnellement, je choisis la seconde option, Miniconda.
Une fois Miniconda ou Anaconda téléchargé et installé, vous pouvez exécuter
l'Anaconda Prompt en le recherchant dans votre barre de recherche Windows.
Installer l'API Python dans un environnement vierge
Voici la syntaxe de base pour créer un environnement avec conda :
conda create -p CHEMIN\NOM_ENV python=VERSION [PACKAGES]
Vous pouvez remplacer l'argument -p (qui donne le chemin complet
personnalisé vers l'environnement et inclut son nom) par -n et donner
uniquement son nom à l'env, qui s'enregistrera alors dans le dossier par
défaut.
Dans notre cas, par exemple (à personnaliser avec votre propre chemin
d'accès) :
conda activate D:\envs\env_arcgis
Vous pouvez vérifier qu'il est bien activé car il apparait entre parenthèses
:
Vous pouvez alors installer les bibliothèques de votre choix, par exemple
ici l'API Python d'ArcGIS (notez que vous pouvez également effectuer cette
étape au moment de la création de l'env) :
conda install -c esri arcgis
De cette manière, vous pouvez installer les environnements de votre choix,
comme par exemple ipykernel si vous souhaitez l'utiliser dans un notebook.
Conda a l'avantage de proposer une assez bonne résolution des conflits entre
les différentes versions de bibliothèques.
Il ne vous reste plus qu'à définir ce nouvel environnement comme kernel
d'exécution dans votre IDE.
Pour pouvoir utiliser le kernel dans Jupyter Notbook, il faut l'enregistrer
grâce à cette ligne (vous pouvez modifier le nom d'affichage) :
python -m ipykernel install --user --name env_arcgis --display-name "Python
(env_arcgis)"
Si ArcGIS Pro est déjà installé sur votre machine, vous pouvez profiter de
son environnement Python prêt à l'emploi installé par défaut
(arcgispro-py3), qui embarque déjà
l'essentiel des dépendances nécessaires aux workflows SIG. Vous le trouverez dans le répertoire bin\Python\envs de votre
installation, et pouvez l'utiliser comme kernel d'exécution dans votre IDE.
Cet environnement n'est pas modifiable directement, mais vous pouvez
facilement créer un clone pour y ajouter les bibliothèque de votre
choix.
Vous avez deux options pour cela :
- passer par l'interface du gestionnaire de paquetage inclus dans ArcGIS Pro. Très simple à prendre en main si vous n'êtes pas habitué aux lignes de commandes, mais plutôt lent et avec une moins bonne résolution des conflits entre dépendances. Cette option vous limite également à l'ajout de paquetages présents dans une liste prédéfinie (bien qu'elle soit déjà très conséquente et couvre la grande majorité des usages) ;
- utiliser Miniconda et les lignes de commande. Cette option est plus rapide, vous permet d'ajouter n'importe quel paquetage distribué via Conda, et présente moins de problèmes d'installation grâce à la résolution des conflits.
Vous devez ensuite activer votre environnement :
conda activate D:\envs\env_arcgispro_cloneIl ne vous reste plus qu'à ajouter les paquetages de votre choix :
conda install NOM_DU_PAQUETAGE -c CANAL_DE_DISTRIBUTION
C'est la fin de ce premier tutoriel ! Maintenant que vous pouvez gérer vos environnements Python sans problème, nous nous retrouvons bientôt pour la suite des tutoriels où nous allons pouvoir commencer à coder 🐍











Aucun commentaire:
Enregistrer un commentaire