Les ArcGIS Notebooks exécutent un environnement de notebook Jupyter qui offre un espace de travail rationalisé, basésur les cellules. Cette rubrique présente les commandes de base et les différents aspects liés à leur utilisation dans Notebooks, y compris les raccourcis et les pratiques conseillées.
Spécifier le type d’une cellule
Trois types de cellules sont disponibles dans un notebook. Une fois que vous avez sélectionné une cellule à l’aide de votre curseur, vous pouvez en modifier le type grâce à la liste déroulante de la barre d’outils.
Les trois types disponibles sont les suivants :
- Code : le notebook interprète tout le contenu dans une cellule de code en langage Python. Lorsque vous écrivez du code Python, la saisie de certaines chaînes, par exemple from ou le signe égal (=), indique au notebook de les colorier ou de les mettre en surbrillance pour plus de clarté. Les lignes de codes commençant par le signe dièse (#) sont interprétées comme des commentaires, colorées en vert et mises en italique. Elles ne sont pas exécutées comme du code par le notebook.
- Markdown (Texte) : le notebook interprète tout le contenu dans une cellule de type Markdown (Texte) en langage Markdown (Texte). Il s’agit d’un langage simple permettant de mettre en forme du texte enrichi utilisé sur Internet par les clients tels que GitHub. Pour plus d’informations sur l’utilisation du texte, reportez-vous au guide de texte en ligne. L’exécution d’une cellule de type Markdown (Texte) transformera son contenu en texte enrichi. Les lignes commençant par un ou plusieurs signes dièse (#) sont mises en forme comme des en-têtes. Vous pouvez également ajouter du code HTML brut aux cellules de type Markdown (Texte).
- Raw NBConvert (NBConvert brut) : le notebook ne traite pas le contenu des cellules de type Raw NBConvert (NBConvert brut). Ce type de cellule est rarement utilisé.
Remarque :
Le type de cellule Heading (En-tête) est également disponible dans la liste déroulante. Cependant, ce type de cellule n’est plus utilisé dans les environnements de notebook Jupyter. Si vous cliquez sur ce type de cellule, la cellule est convertie en cellule de type Markdown (Texte) et un signe dièse (#) y est ajouté pour désigner un en-tête de niveau supérieur.
L’utilisation de texte enrichi et de commentaires de code rendra vos notebooks plus faciles à lire et plus intéressants pour les utilisateurs avec qui vous les partagez.
Utiliser les cellules
Pour qu’un notebook exécute du code, celui-ci doit être contenu dans une cellule. Le code des cellules vous permet de définir des variables et d’exécuter les fonctions contenues dans les bibliothèques Python.
Pour définir une variable, exécutez une cellule qui contient une instruction de variable avec un signe égal (=). Par exemple, le modèle de notebook par défaut démarre après avoir défini une variable gis. Si vous exécutez une cellule contenant uniquement ce nom de variable, gis, le notebook renvoie l’URL de votre portail ArcGIS Enterprise comme sortie.
Remarque :
Les commandes iPython qui utilisent des points d’exclamation, comme !cd <directory>, pour changer de répertoires à partir de la ligne de commande, ne fonctionnent pas dans ArcGIS Notebooks. Utilisez à la place des commandes sans point d'exclamation (cd <directory>, par exemple).
Remarque :
Lors de la création de notebooks, utilisez les chemins d’accès complets vers les répertoires et fichiers du répertoire de l’espace de travail.
Par exemple, utilisez /arcgis/home/test.gdb au lieu de home/test.gdb.
Pour exécuter une fonction Python, fournissez la syntaxe de la fonction, ainsi que les arguments requis ou acceptés par la fonction. Pour en savoir plus, reportez-vous à la section Utiliser les fonctions dans une cellule ci-dessous.
Vous pouvez créer une cellule en appuyant sur Maj+Entrée ou en cliquant sur Insert (Insérer) dans le ruban de menu, ce qui vous permet d’insérer une nouvelle cellule au-dessus ou en dessous de la cellule actuelle.
Options de la barre d’outils de la cellule
Vous pouvez inclure des informations supplémentaires dans un notebook grâce aux options figurant dans la barre d’outils de la cellule.
- None (Aucun) : n’affiche pas les barres d’outils de la cellule.
- Edit Metadata (Modifier les métadonnées) : saisir des métadonnées pour chaque cellule à l'aide de JSON.
- Raw Cell Format (Format de cellule brute) : les cellules brutes vous permettent d’écrire directement la sortie ; le contenu de ces cellules n’est pas évalué par le notebook.
- Slideshow (Diaporama) : définir comment chaque cellule apparaîtra dans un diaporama. Utile pour présenter du code.
- Attachments (Pièces jointes) : gérer les pièces jointes associées au sein de chaque cellule de l’espace de travail du notebook.
- Tags (Balises) : créer et gérer les balises pour chaque cellule dans l’espace de travail du notebook.
Lorsque l’une de ces options est activée, une barre apparaît au-dessus de chaque cellule du notebook. Il n’est possible d’activer qu’une seule option à la fois, mais toutes les informations que vous ajoutez à la barre d’outils sont conservées même si l’option est désactivée. Pour modifier les options de la barre d’outils de la cellule, cliquez sur View (Afficher) > Cell Toolbar (Barre d’outils de la cellule).
L’option Tags (Balises) est utile lorsque vous préparez un notebook en vue de son exécution planifiée ou à distance. Cela permet d’insérer des paramètres en tant que nouvelle cellule lors de l’exécution, comme, par exemple, des identifiants de connexion de compte ou des variables à définir. Vous pouvez désigner l’emplacement dans le notebook auquel cette nouvelle cellule est ajoutée en indiquant la balise parameters dans une cellule du notebook. La nouvelle cellule est insérée après cette cellule. Une seule cellule comportant la balise parameters est reconnue par l’opération.
Importer des bibliothèques et des modules
Dans le modèle de notebook par défaut, ArcGIS Notebooks importe uniquement le module gis à partir de ArcGIS API for Python. Vous souhaiterez généralement utiliser d’autres bibliothèques Python disponibles dans le runtime de votre notebook. Pour accéder à ces bibliothèques, exécutez une commande import.
Voir toutes les bibliothèques Python disponibles dans lesArcGIS Notebooks
Créez une cellule et saisissez import <library>, puis exécutez la cellule.
Dans ArcGIS API for Python et ArcPy, et dans certains autres cas, les bibliothèques Python sont organisées en modules. Pour accéder aux bibliothèques d’un module, déclarez le module auquel vous souhaitez accéder à l’aide d’une instruction from, puis déclarez une bibliothèque à l’aide d’une instruction import. Par exemple, pour appeler la bibliothèque WebScene à partir du module mapping dans ArcGIS API for Python, exécutez la commande suivante dans une cellule :
from arcgis.mapping import WebScene
Les ArcGIS Notebooks disposent d’une entité d’achèvement automatique lors de l’exécution des cellules. Vous pouvez l’utiliser pour rechercher les bibliothèques et les modules dont vous avez besoin. Dans une cellule, saisissez la première partie de votre commande, puis appuyez sur Tab (Tabulation) pour activer l’entité d’achèvement automatique. Vous obtennez ainsi les valeurs possibles pour compléter la commande.
Par exemple, si vous saisissez arcgis. et que vous appuyez sur Tab (Tabulation), le notebook affiche une liste déroulante de tous les modules disponibles dans ArcGIS API for Python. Vous pouvez utiliser les flèches orientées vers le haut et le bas pour parcourir la liste. Une fois que vous avez trouvé l’option de votre choix, appuyez sur Enter (Entrée) pour l'insérer dans votre ligne de code.
Pour en savoir plus sur le fonctionnement de ArcGIS API for Python et ArcPy dans vos notebooks, consultez les rubriques suivantes :
Utiliser les fonctions dans une cellule
Pour procéder à une analyse et travailler avec des données dans les notebooks, utilisez les fonctions Python. Les fonctions sont incluses dans les bibliothèques Python et utilisent souvent des arguments en entrée pour spécifier comment elles s’exécutent et sur quel contenu.
L’outil d’achèvement automatique du notebook peut vous aider à rechercher les fonctions grâce à une liste déroulante des options disponibles. Pour une bibliothèque bar, saisissez bar. et appuyez sur la touche Tab (Tabulation) pour afficher les fonctions disponibles dans cette bibliothèque.
Par exemple, pour voir les outils disponibles dans la bibliothèque Summarize Data (Synthétiser les données) du module arcgis.features, saisissez le code suivant et appuyez sur Tab (Tabulation) :
features.summarize_data.
L’outil d’achèvement automatique affiche une liste déroulante des outils disponibles dans la bibliothèque.
Bien souvent, les commandes dans les notebooks incluent des arguments obligatoires ou facultatifs, c’est-à-dire des paramètres qui donnent des informations en vue d’exécuter une commande. Si la syntaxe d’une commande se termine par des parenthèses vides (()), cela signifie que la commande nécessite ou peut inclure des arguments facultatifs que vous pouvez ajouter.
Saisissez les arguments entre les parenthèses et utilisez des virgules pour les séparer. Pour afficher la chaîne d’arguments obligatoires et facultatifs pour une fonction donnée, remplacez ses parenthèses vides par un point d’interrogation et exécutez la cellule. Le paramètre docstring de la fonction, qui répertorie tous les arguments, apparaît alors.
Par exemple, tous les outils disponibles via la fenêtre Analysis (Analyse) de l’éditeur du notebook requièrent des arguments. L’ajout d’un outil à une cellule à partir de cette fenêtre insérera la syntaxe de l’outil ArcGIS API for Python, avec à la fin des parenthèses vides. Si vous tentez d’exécuter cette syntaxe dans une cellule sans indiquer d’argument, l’opération échoue et la cellule affiche un message d’erreur.
Si vous souhaitez exécuter l'outil Aggregate Points (Agréger des points) dans la bibliothèque Summarize Data (Synthétiser les données), recherchez l'outil dans la fenêtre Analysis (Analyse) et ajoutez-le dans une nouvelle cellule ou saisissez la syntaxe de l’outil comme suit :
features.summarize_data.aggregate_points()
Pour afficher la liste des arguments pour l’outil, modifiez la syntaxe comme suit et exécutez la cellule :
features.summarize_data.aggregate_points?
La fenêtre de référence docstring de l'outil s'ouvre. Dans l’angle supérieur droit figurent des boutons permettant de développer ou de fermer la fenêtre.
Tenez compte des points suivants lorsque vous travaillez dans une cellule :
- Pour une fonction foo(), saisissez foo? et appuyez sur Enter (Entrée) pour afficher le paramètre docstring de la fonction, qui la décrit.
- Si vous démarrez une cellule par le signe !, son contenu s’exécute comme une commande Bash dans le conteneur de votre notebook.
Exécuter une cellule
Lors de l’exécution d’une cellule, son code s’exécute et toutes les opérations qu’elle contient sont effectuées. Vous pouvez uniquement exécuter une cellule entière et non une partie de la cellule ou une ligne de code spécifique. Les cellules peuvent inclure une ou plusieurs lignes de code.
Pour exécuter une cellule sélectionnée, cliquez sur le bouton Run (Exécuter) de la barre d'outils ou sur Cells (Cellules) > Run Cells (Exécuter des cellules). Vous pouvez également appuyez sur Ctrl + Entrée pour exécuter la sellule dans laquelle se trouve le curseur.
Pour interrompre manuellement l’exécution d’une cellule, cliquez sur Kernel (Noyau) > Interrupt (Mettre en pause). Vous pouvez également cliquer sur le bouton d’arrêt en forme de carré dans la barre d’outils.
Un élément In [ ] se trouve sur la gauche de chaque cellule de code. Si la cellule n’a pas encore été exécutée, ou si la sortie d’une cellule déjà exécutée a été supprimée, les crochets sont vides. Pendant l’exécution de la cellule, ils contiennent un astérisque : In [*]. À l’issue de l’exécution de la cellule, les crochets In [ ] contiennent un nombre indiquant l’ordre des cellules exécutées. Dans la mesure où les cellules d’un notebook peuvent être exécutées dans n’importe quel ordre et autant de fois que vous le souhaitez, les nombres In [ ] dans les cellules d'un notebook peuvent ne pas être classés dans l'ordre séquentiel.
Remarque :
Les cellules de type Markdown (Texte) conservent un élément In [ ] jusqu’à leur exécution. À ce moment, cet élément disparaît et le contenu de la cellule se transforme en texte enrichi.
Lorsqu’une ligne de code de la cellule que vous exécutez génère une sortie, celle-ci apparaît dans votre notebook, sous la cellule exécutée. En regard de la sortie se trouve un élément Out [ ], qui correspond au contenu de l’élément In [ ] de la cellule en question.
Utiliser le noyau
Lorsque vous lancez un nouveau notebook, cela lance également un noyau. Ce noyau exécute le code que vous exécutez dans le notebook. Lors de l’exécution de cellules dans le notebook (en complétant leurs éléments In [ ]), les variables que vous avez définies dans les cellules exécutées sont enregistrées dans la mémoire du noyau.
Pour redémarrer le noyau de votre notebook et effacer les variables en mémoire, cliquez sur Kernel (Noyau) > Restart (Redémarrer). Si vous voulez redémarrer le noyau, effacer les variables en mémoire, puis exécuter les cellules du notebook dans un ordre séquentiel, cliquez sur Kernel (Noyau) > Restart & Run All (Redémarrer et tout exécuter).
Une fois que vous n’utilisez plus activement un notebook, cliquez sur Kernel (Noyau) > Shutdown (Éteindre) pour éteindre le noyau du notebook et effacer toutes les variables en mémoire. Le noyau s’arrête, mais les sorties des cellules exécutées ne sont pas effacées.
Lorsqu’un notebook est inactif pendant longtemps, le noyau s’arrête et toutes les valeurs en mémoire sont automatiquement effacées. La durée d’inactivité provoquant l’arrêt est par défaut définie sur 24 heures, mais l’administrateur de votre site peut la modifier.
Vous avez un commentaire à formuler concernant cette rubrique ?