ArcGIS Notebooks wird in einer Jupyter-Notebook-Umgebung ausgeführt, die einen optimierten zellenbasierten Workspace bereitstellt. In diesem Thema lernen Sie die grundlegenden Aspekte und bewährten Vorgehensweisen für die Arbeit mit Notebooks sowie die wichtigsten Befehle und ihre Tastenkombinationen kennen.
Angabe des Zelltyps
Es gibt drei Arten von Zellen, die Sie in einem Notebook verwenden können. Wenn Sie eine Zelle mit dem Mauszeiger ausgewählt haben, können Sie den Zelltyp über die Dropdown-Liste in der Werkzeugleiste ändern.
Die folgenden drei Zelltypen sind verfügbar:
- Code: Der Zellinhalt wird vom Notebook als Python-Code interpretiert. Bei der Eingabe von Python-Code werden bestimmte Zeichenfolgen wie from oder das Gleichheitszeichen (=) der Übersicht halber im Notebook automatisch farbig dargestellt oder anderweitig hervorgehoben. Codezeilen, die mit einem Rautenzeichen (#) beginnen, werden in kursiver grüner Schrift formatiert. Sie werden als Kommentar interpretiert und vom Notebook nicht ausgeführt.
- Markdown: Der gesamte Inhalt einer Markdown-Zelle wird vom Notebook als Markdown-Code interpretiert. Dies ist eine vereinfachte Auszeichnungssprache für die Rich-Text-Formatierung, die internetweit von verschiedenen Clients verwendet wird, z. B. von GitHub. Der online verfügbare Markdown Guide ist eine Referenz für die Verwendung von Markdown. Bei Ausführung einer Markdown-Zelle wird ihr Inhalt in Rich-Text konvertiert. Zeilen, die mit einem oder mehreren Rautenzeichen (#) beginnen, werden als Überschriften formatiert. Sie können auch unverarbeiteten HTML-Code in Markdown-Zellen einfügen.
- Raw NBConvert: Inhalte in Raw NBConvert-Zellen werden vom Notebook nicht verarbeitet. Dieser Zelltyp wird nur selten verwendet.
Hinweis:
Der Zelltyp Heading ist ebenfalls in der Dropdown-Liste enthalten. Dieser wird allerdings nicht mehr in Jupyter-Notebook-Umgebungen verwendet. Wenn Sie darauf klicken, wird die Zelle in eine Markdown-Zelle umgewandelt, und es wird ein Rautenzeichen (#) angehängt; in Markdown steht dies für eine Überschrift der obersten Ebene.
Durch Verwendung von Rich-Text und Code-Kommentaren erhöhen Sie die Lesbarkeit und den Nutzen der Notebooks für die Benutzer.
Arbeiten mit Zellen
Code muss sich in einer Zelle befinden, damit er in einem Notebook ausgeführt werden kann. Mithilfe von Code in Zellen können Sie Variablen definieren und Funktionen aus Python-Bibliotheken ausführen.
Führen Sie zur Definition einer Variablen eine Zelle mit einer Variablenanweisung aus, die ein Gleichheitszeichen (=) enthält. Die Standardvorlage für Notebooks wird beispielsweise mit der definierten Variablen gis gestartet. Wenn Sie eine Zelle ausführen, die lediglich diesen Variablennamen (gis) enthält, gibt das Notebook als Ausgabe die URL des ArcGIS Enterprise-Portals zurück.
Hinweis:
Die iPython-Befehle, in denen Ausrufezeichen verwendet werden, um über die Befehlszeile Verzeichnisse zu wechseln, z. B. !cd <directory>, können in ArcGIS Notebooks nicht angewendet werden. Verwenden Sie stattdessen Befehle ohne Ausrufezeichen, z. B. cd <directory>.
Hinweis:
Verwenden Sie beim Erstellen von Notebooks vollständige Pfade zu Verzeichnissen und Dateien im Workspace-Verzeichnis.
Verwenden Sie also beispielsweise anstelle von home/test.gdb den Pfad /arcgis/home/test.gdb.
Geben Sie zur Ausführung einer Python-Funktion die entsprechende Syntax mit allen von der Funktion geforderten oder akzeptierten Argumenten an. Weitere Informationen finden Sie im Abschnitt Verwenden von Funktionen in einer Zelle weiter unten.
Eine neue Zelle erstellen Sie, indem Sie Umschalt+Eingabetaste drücken oder auf dem Menüband auf Insert klicken; sie können die Zelle wahlweise ober- oder unterhalb der aktuellen Zelle einfügen.
Optionen der Zellen-Werkzeugleiste
Mit den Optionen in der Zellen-Werkzeugleiste können Sie zusätzliche Informationen über einzelne Zellen in einem Notebook einbeziehen.
- None: Es werden keine Zellen-Werkzeugleisten angezeigt.
- Edit Metadata: Für die Eingabe von Metadaten in Zellen mit JSON.
- Raw Cell Format: Unverarbeitete Zellen ermöglichen das direkte Schreiben von Ausgaben; der Inhalt solcher Zellen wird nicht durch das Notebook ausgewertet.
- Slideshow: Gibt an, wie die einzelnen Zellen in der Präsentation dargestellt werden sollen. Diese ist hilfreich für die Vorführung von Code.
- Attachments: Zum Verwalten von Anlagen, die mit den Zellen im Notebook-Workspace verknüpft sind.
- Tags: Zum Erstellen und Verwalten von Tags für die Zellen im Notebook-Workspace.
Wenn eine dieser Optionen aktiviert ist, wird über jeder Zelle im Notebook ein Balken angezeigt. Es kann immer nur eine Option aktiviert sein, jedoch bleiben alle Informationen, die Sie der Werkzeugleiste hinzufügen, erhalten, auch wenn die Option deaktiviert ist. Sie können die Optionen der Zellen-Werkzeugleiste ändern, indem Sie auf View > Cell Toolbar klicken.
Die Option Tags kann verwendet werden, wenn Sie ein Notebook erstellen, das nach einem Zeitplan oder remote ausgeführt werden soll. Dies bietet die Möglichkeit, zur Ausführungszeit Parameter, z. B. zu definierende Kontoanmeldeinformationen oder Variablen, als neue Zelle einzufügen. Sie können einer Zelle im Notebook den Tag parameters hinzufügen, um die Position im Notebook anzugeben, an der die neue Zelle hinzugefügt wird. Die neue Zelle wird nach dieser Zelle eingefügt. Von dem Vorgang wird nur eine Zelle mit dem parameters-Tag erkannt.
Importieren von Bibliotheken und Modulen
In der Standardvorlage für Notebooks importiert ArcGIS Notebooks nur das gis-Modul aus ArcGIS API for Python. In der Regel verwenden Sie aber zusätzliche Python-Bibliotheken aus der Notebook-Runtime. Für den Zugriff auf diese Bibliotheken müssen Sie den Befehl import ausführen.
Alle in ArcGIS Notebooks verfügbaren Python-Bibliotheken anzeigen
Erstellen Sie eine neue Zelle, geben Sie import <library> ein, und führen Sie die Zelle aus.
In der ArcGIS API for Python, in ArcPy und in einigen anderen Fällen sind Python-Bibliotheken in Form von Modulen organisiert. Wenn Sie auf die Bibliotheken in einem Modul zugreifen möchten, müssen Sie zunächst mit einer from-Anweisung das entsprechende Modul und anschließend mit einer import-Anweisung eine Bibliothek deklarieren. Führen Sie zum Beispiel den folgenden Befehl in einer Zelle aus, um die WebScene-Bibliothek aus dem mapping-Modul in der ArcGIS API for Python aufzurufen:
from arcgis.mapping import WebScene
Bei der Ausführung von Zellen in ArcGIS Notebooks kommt die Funktion für automatisches Vervollständigen zum Tragen. Diese erleichtert Ihnen das Auffinden von Bibliotheken und Modulen. Sie aktivieren die Funktion für automatisches Vervollständigen, indem Sie den ersten Teil eines Befehls in eine Zelle eingeben und die Tabulatortaste drücken. Sie erhalten dann eine Liste möglicher Werte, mit denen Sie den Befehl vervollständigen können.
Wenn Sie beispielsweise arcgis. eingeben und dann die Tabulatortaste drücken, wird eine Dropdown-Liste mit allen in der ArcGIS API for Python verfügbaren Modulen geöffnet. Mit den Pfeiltasten können Sie in der Liste navigieren; wenn Sie den gewünschten Eintrag gefunden haben, drücken Sie die Eingabetaste, um ihn in die Codezeile einzufügen.
Weitere Informationen über die Funktionsweise der ArcGIS API for Python und von ArcPy in Notebooks finden in den folgenden Themen:
Verwenden von Funktionen in einer Zelle
Mithilfe von Python-Funktionen können Sie Analysen in Notebooks ausführen und Daten bearbeiten. Die Funktionen befinden sich in Python-Bibliotheken und verwenden häufig Eingabeargumente. Damit wird angegeben, wie und für welchen Inhalt sie ausgeführt werden.
Die Notebook-Funktion für automatisches Vervollständigen stellt eine Liste der verfügbaren Optionen bereit. Geben Sie für Bibliotheken vom Typ bar bar ein, und drücken Sie die Tabulatortaste, um die verfügbaren Funktionen aufzurufen.
Wenn Sie beispielsweise die Funktionen der Bibliothek "Summarize Data" des arcgis.features-Moduls sehen möchten, geben Sie folgenden Code ein, und drücken Sie die Tabulatortaste:
features.summarize_data.
Die Funktion für automatisches Vervollständigen zeigt eine Dropdown-Liste der in der Bibliothek verfügbaren Werkzeuge an.
Oft weist ein Befehl in einem Notebook erforderliche oder optionale Argumente auf; das sind Parameter, die Informationen über die Art und Weise der Befehlsausführung bereitstellen. Wenn die Befehlssyntax mit einer leeren Klammer (()) endet, können Sie erforderliche oder optionalen Argumente zum Befehl hinzufügen.
Geben Sie diese Argumente in die Klammer ein, und trennen Sie mehrere Argumente mit Kommas. Wenn Sie die Zeichenfolge der erforderlichen oder optionalen Argumente für eine Funktion sehen möchten, ersetzen Sie die leere Klammer durch ein Fragezeichen, und führen Sie die Zelle aus. Daraufhin wird der docstring der Funktion mit einer Liste aller Argumente angezeigt.
Alle Werkzeuge im Bereich Analysis des Notebook-Editors erfordern Argumente. Wenn Sie ein Werkzeug aus diesem Bereich zu einer Zelle hinzufügen, wird die ArcGIS API for Python-Syntax des Werkzeugs mit einer leeren Klammer am Ende eingefügt. Wenn Sie diese Syntax ohne Angabe von Argumenten in einer Zelle ausführen, schlägt die Ausführung der Zelle fehl, und es wird eine Fehlermeldung ausgegeben.
Wenn Sie das Werkzeug Punkte aggregieren in der Bibliothek "Summarize Data" ausführen möchten, suchen Sie das Werkzeug im Bereich Analysis, und fügen Sie es zu einer neuen Zelle hinzu; alternativ können Sie die folgende Syntax eingeben:
features.summarize_data.aggregate_points()
Wenn Sie die Liste der Argumente für das Werkzeug anzeigen möchten, führen Sie die Zelle mit der folgenden geänderten Syntax aus:
features.summarize_data.aggregate_points?
Das Referenzfenster docstring für das Werkzeug wird geöffnet. In der rechten oberen Fensterecke befinden sich Schaltflächen zum Erweitern und Schließen des Fensters.
Beachten Sie bei der Arbeit mit Zellen Folgendes:
- Geben Sie für eine beliebige Funktion foo() foo? ein, und drücken Sie die Eingabetaste, um den beschreibenden Docstring der Funktion anzuzeigen.
- Wenn Sie eine Zelle mit ! beginnen, wird der Zellinhalt als Bash-Befehl im Notebook-Container ausgeführt.
Ausführen einer Zelle
Bei Ausführung einer Zelle wird ihr Code mit allen zugehörigen Operationen ausgeführt. Eine Zelle kann immer nur im Ganzen ausgeführt werden. Die Ausführung von untergeordneten Abschnitten oder einzelnen Codezeilen ist nicht möglich. Zellen können aus einer oder mehreren Codezeilen bestehen.
Klicken Sie zum Ausführen einer ausgewählten Zelle in der Werkzeugleiste auf Run, oder klicken Sie auf Cells > Run Cells. Alternativ können Sie auch Strg+Eingabetaste drücken; dann wird die Zelle ausgeführt, in der sich der Mauszeiger befindet.
Wenn Sie die Ausführung einer Zelle manuell anhalten möchten, klicken Sie auf Kernel > Interrupt. Sie können auch in der Werkzeugleiste auf das Symbol "Stop" klicken.
Links neben jeder Codezelle befindet sich ein In [ ]-Element. Sofern die Zelle noch nicht ausgeführt oder die Ausgabe einer zuvor ausgeführten Zelle gelöscht wurde, ist die Klammer leer. Während der Ausführung enthält sie ein Sternchen: In [*]. Nach der Ausführung enthält die In [ ]-Klammer eine Zahl zur Angabe der Reihenfolge der ausgeführten Zellen. Zellen in einem Notebook können beliebig oft und in beliebiger Reihenfolge ausgeführt werden. Daher sind die In [ ]-Klammern in den Notebook-Zellen möglicherweise nicht fortlaufend nummeriert.
Hinweis:
In Markdown-Zellen befindet sich ein In [ ]-Element, das bei der Ausführung der Zellen verschwindet, weil die Zelle in Rich-Text umgewandelt wird.
Wenn eine Codezeile in einer ausgeführten Zelle eine Ausgabe erzeugt, wird diese im Notebook unterhalb der ausgeführten Zelle angezeigt. Neben der Ausgabe befindet sich ein Out [ ]-Element, das mit dem In [ ]-Element der entsprechenden Zelle übereinstimmt.
Arbeiten mit dem Kernel
Wenn Sie ein neues Notebook starten, wird gleichzeitig ein Kernel gestartet. Der Kernel führt den im Notebook ausgeführten Code aus. Beim Ausführen von Zellen (und Auffüllen der In [ ]-Elemente) im Notebook werden die in ausgeführten Zellen gespeicherten Variablen in den Kernel-Speicher geschrieben.
Wenn Sie den Kernel des Notebooks neu starten und die Variablen im Speicher löschen möchten, klicken Sie auf Kernel > Restart. Wenn Sie den Kernel neu starten, die Variablen im Speicher löschen und dann alle Zellen im Notebook nacheinander ausführen möchten, klicken Sie auf Kernel > Restart & Run All.
Wenn Sie das Notebook nicht mehr aktiv verwenden möchten, klicken Sie auf Kernel > Shutdown, um den Kernel herunterzufahren und alle Variablen im Speicher zu löschen. Der Kernel wird angehalten, wobei die Ausgaben der ausgeführten Zellen erhalten bleiben.
Wenn sich ein Notebook über eine längere Zeit im Leerlauf befindet, wird der Kernel heruntergefahren, und alle Variablen im Speicher werden automatisch gelöscht. Diese Zeit ist standardmäßig auf 24 Stunden eingestellt, kann aber vom Site-Administrator beliebig verkürzt oder verlängert werden.