Python ist eine der beliebtesten Sprachen zur Skripterstellung von ArcGIS-Aufgaben, vielleicht weil es eine relativ geringe Lernkurve hat und viel leisten kann. Python ist in ArcGIS Desktop integriert. Sie können Python-Add-ins und Toolboxes erstellen, und in ArcMap können Sie direkt Python-Label- und MapTip-Ausdrücke eingeben, ohne eine Skriptdatei laden zu müssen. Es ist schön, diese Optionen zu haben.<\/P>
<\/P>
Mit all der Liebe zu Python, die herumgeht, sagen einige, dass ModelBuilder der vergessene Held der ArcGIS-Automatisierungswelt ist. Sie behaupten, dass ModelBuilder einen größeren Anteil des Rampenlichts verdient, das auf Python gerichtet ist. Ich habe GIS-Fachleute immer als visuelle Denker erlebt, die Skripting annehmen, daher macht es Sinn, dass sie sowohl Python als auch ModelBuilder für ihre ArcGIS-Arbeit verwenden (und viele von Ihnen tun dies wahrscheinlich).<\/P>
Aber wenn es eine Debatte Python vs. ModelBuilder gibt, bleibe ich neutral und sage, dass beide wertvoll sind und ihren Platz haben. Wenn ein älteres Kind sie wütend der Bevorzugung des unerwünschten Eindringlings beschuldigt, wissen weise Eltern zu antworten: "Wir lieben deinen kleinen Bruder genauso sehr wie <\/EM> wir dich lieben." Und so ist es mit ModelBuilder und Python.<\/P><\/P>Beide sind Werkzeuge zur Automatisierung von GIS- Analyse-, Datenverwaltungs- und Mapping-Workflows. Anders als Alex und der kleine Sam können sie sogar gut zusammenarbeiten (Sie können ein Python-Skriptwerkzeug zu einem Modell hinzufügen und ein Modell in ein Python-Skript exportieren).<\/P><\/P>Ich habe gehört, dass ModelBuilder als "visuelle Programmiersprache" bezeichnet wird. Das ist eine interessante Betrachtungsweise, da es wahr ist, dass man in ModelBuilder viele Dinge tun kann, die Programmiertechniken widerspiegeln – wie Variablen erstellen, Iterieren (Schleifen) durch einen Datensatz, Vorbedingungen setzen und Untermodelle in ein größeres Modell verschachteln (ähnlich wie das Aufrufen eines anderen Skripts innerhalb eines Skripts).<\/P><\/P>Lassen Sie uns ein wenig Licht auf ModelBuilder werfen, falls es sich ausgeschlossen fühlt. Warum sollten Sie ein Modell erstellen wollen?<\/P><\/P><\/A>Visualisierung von Workflows<\/STRONG><\/P><\/P>Ein Modell ist äußerst nützlich beim Entwerfen und Teilen eines Workflows, besonders wenn er kompliziert ist. Man kann immer auf einem Whiteboard zeichnen, aber Werkzeuge per Drag & Drop in ein Modell zu ziehen bringt Effizienzvorteile – man kann den Workflow dynamisch aufbauen und anpassen, während man ihn durchdenkt. Sie können Modellwerkzeuge und -elemente leicht neu anordnen und Textlabels hinzufügen, um den Ablauf und die erstellten Datensätze zu dokumentieren. Bei der Zusammenarbeit mit anderen ist die Kommunikation über einen Workflow mittels eines Modells effektiver als das Lesen und Herunterscrollen durch ein Skript. Ein Modell ist wie eine Karte – es ist ein grafisches Medium, das Menschen anspricht und das Verständnis fördert. Sie können ein Modell sogar in eine Grafik- oder PDF-Datei exportieren und als Handout zu einem Meeting mitbringen.<\/P><\/P>Ergebnisse erkunden und Szenarien testen<\/STRONG><\/P><\/P>Da Sie ein Modell innerhalb von ArcGIS Desktop (ArcGIS Pro oder ArcMap) ausführen, können Sie die Ergebnisse sofort prüfen. Auf diese Weise ist ein Modell Teil des täglichen Ablaufs Ihrer GIS-Arbeit. Wenn die Modellausgabe eine neue Frage aufwirft, müssen Sie nur einen Modellparameter ändern (z.B. den Eingabedatensatz oder Wert eines Werkzeugs austauschen) und einen Prozess oder das gesamte Modell erneut ausführen und dann erkunden, was dabei herauskommt.<\/P><\/P>Mit einem Skript ist das zwar machbar, aber nicht so einfach iterativ zu arbeiten. Man muss die Skriptdatei öffnen, die Codezeilen finden, die bearbeitet werden müssen, die Änderungen vornehmen, das Skript speichern, das Skript ausführen und dann möglicherweise ArcMap öffnen und die Ausgabe sowie eventuell weitere Layer zum Kontext hinzufügen. Um es einfacher zu machen, können Sie damit beginnen, das Skript im Python-Fenster in ArcGIS zu laden und von dort aus weiterzumachen.<\/P><\/P>Probleme identifizieren<\/STRONG><\/P><\/P>Eines der coolen Dinge an einem Modell ist, dass Sie seinen Fortschritt beim Ausführen mitverfolgen können. Während jeder Prozess ausgeführt wird, blinkt das Werkzeug rot auf und unter seinen Elementen erscheint ein Schlagschatten, wenn der Prozess abgeschlossen ist. Sie können sofort erkennen, wo im Modell ein Fehler aufgetreten ist, weil dort die Verarbeitung stoppt. Finden Sie einfach den ersten Prozess ohne Schlagschatten.<\/P><\/P>Nachdem Sie den Fehler korrigiert haben, können Sie das Modell ab diesem Punkt weiter ausführen – Sie müssen nicht von vorne beginnen. Klicken Sie einfach mit der rechten Maustaste auf das Werkzeugelement im fehlgeschlagenen Prozess und wählen Sie Ausführen. Die Fehlerstelle in einem Skript zu finden geht nicht immer so schnell.<\/P><\/P>Anwenden bereits vorhandener Fähigkeiten<\/STRONG><\/P><\/P>Der offensichtlichste Grund für die Erstellung eines Modells statt eines Skripts ist der Mangel an Skripting-Kenntnissen – sei es Python oder eine andere Sprache – und dass man keine Zeit investieren möchte oder kann, um Skripting zu lernen. Heutzutage ist es jedoch ziemlich einfach, grundlegende Python-Kenntnisse zu erwerben. Allein von Esri gibt es kostenlose Tutorials, Präsentationen, Schulungen sowie kostenlose und kostengünstige Webkurse. ArcGIS-Geoverarbeitungswerkzeuge geben Python-Code-Snippets aus, die man untersuchen kann, um daraus zu lernen und sie dann an eigene Bedürfnisse anzupassen. Grundlegende Python-Kenntnisse reichen jedoch nicht aus, wenn man einen fortgeschrittenen Workflow automatisieren muss.<\/P><\/P>Modelle verketten Geoverarbeitungswerkzeuge und führen sie aus; wenn Sie also ein GIS-Fachmann sind, der ArcGIS verwendet, verfügen Sie höchstwahrscheinlich bereits über die erforderlichen Fähigkeiten zur Erstellung eines Modells. Die korrekte Einrichtung eines Modells erfordert Zeit und Planung wie jede andere Aufgabe auch. Man muss seine Daten verstehen sowie Umgebungs-Einstellungen, Werkzeugparameter und gewünschte Ausgaben kennen. Es gibt Nuancen und fortgeschrittene Funktionen von Modellen über die man sich informieren sollte; auch hierfür gibt es viele Ressourcen (siehe Liste am Ende dieses Beitrags).<\/P><\/P>Am Ende hängt die Wahl zwischen Automatisierung eines ArcGIS-Workflows mit einem Skript oder einem Modell davon ab, womit man sich am wohlsten fühlt. Python ist ein logisch gesteuertes textbasiertes Werkzeug und ModelBuilder ein logisch gesteuertes visuelles Werkzeug. Wenn man seinen kulturellen Appetit stillt, möchte man manchmal einen großartigen Roman lesen und manchmal ein schönes Gemälde betrachten. Ebenso gibt es Zeiten zum Schreiben eines Skripts und andere zum Erstellen eines Modells. Das Schöne an ArcGIS ist, dass man beides ganz einfach direkt in ArcGIS Desktop machen kann.<\/P>Verwandte Beiträge:<\/P>ModelBuilder 101 für ArcGIS Pro<\/A><\/LI>ModelBuilder 101 (ArcMap)<\/A>Ressourcen zum Erlernen von ModelBuilder:<\/LI>Esri-Schulungsoptionen<\/A><\/LI>ArcGIS-Hilfe (ArcGIS Pro<\/_A>, ArcMap<\/_A>)<\/_LI>
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registrieren Sie ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.