Python is een van de populairste talen die worden gebruikt om ArcGIS-taken te scripten, misschien omdat het een relatief lage leercurve heeft en veel kan doen. Python is geïntegreerd in ArcGIS Desktop. Je kunt Python-add-ins en toolboxes maken en in ArcMap kun je direct Python-label- en MapTip-expressies invoeren in plaats van een scriptbestand te moeten laden. Het is fijn om deze opties te hebben.<\/P>
<\/P>
Te midden van alle liefde voor Python die rondgaat, hebben sommigen gezegd dat ModelBuilder de vergeten held is van de ArcGIS automatiseringswereld. Zij beweren dat ModelBuilder een groter deel van de schijnwerpers verdient die op Python gericht zijn. Ik heb GIS-professionals altijd gezien als visuele denkers die scripting omarmen, dus het is logisch dat ze zowel Python als ModelBuilder gebruiken voor hun ArcGIS werk (en velen van jullie doen dat waarschijnlijk ook).<\/P>
Maar als er een debat is tussen Python en ModelBuilder, blijf ik neutraal door te zeggen dat beide waardevol zijn en hun plaats hebben. Wanneer een ouder kind hen boos beschuldigt van favoritisme tegenover de ongewenste indringer, weten wijze ouders te antwoorden: "We houden net zoveel van je kleine broertje als van jou.<\/EM>" En zo is het ook met ModelBuilder en Python.<\/P><\/P>Beide zijn tools om GIS analyse, gegevensbeheer en mapping workflows te automatiseren. In tegenstelling tot Alex en kleine Sam kunnen zij zelfs goed samenwerken (je kunt een Python-scripttool aan een model toevoegen, en je kunt een model exporteren naar een Python-script).<\/P><\/P>Ik heb ModelBuilder wel eens een "visuele programmeertaal" genoemd horen worden. Dit is een interessante manier om erover na te denken omdat het waar is dat er veel dingen zijn die je in ModelBuilder kunt doen die programmeertechnieken weerspiegelen94zoals het maken van variabelen, itereren (lussen) door een dataset, het instellen van voorwaarden vooraf, en het nesten van submodellen binnen een groter model (vergelijkbaar met het aanroepen van een ander script vanuit een script).<\/P><\/P>Laten we wat licht werpen op ModelBuilder voor het geval het zich buitengesloten voelt. Waarom zou je een model willen maken?<\/P><\/P><\/A>Workflows Visualiseren<\/STRONG><\/P><\/P>Een model is uiterst nuttig bij het ontwerpen en delen van een workflow, vooral wanneer deze ingewikkeld is. Je kunt altijd op een whiteboard tekenen, maar tools slepen en neerzetten in een model levert efficiëntiepunten op94je kunt de workflow dynamisch bouwen en aanpassen terwijl je erover nadenkt. Je kunt modeltools en elementen gemakkelijk herschikken en tekstlabels toevoegen om de stroom en datasets die worden gemaakt te documenteren. Bij samenwerking met anderen is communiceren over een workflow met behulp van een model effectiever dan het lezen en scrollen door een script. Een model is als een kaart94het is een grafisch medium dat mensen betrekt en begrip vergroot. Je kunt zelfs een model exporteren naar een grafisch bestand of PDF-bestand en meenemen naar een vergadering als hand-out.<\/P><\/P>Resultaten Verkennen en Scenario's Testen<\/STRONG><\/P><\/P>Aangezien je een model uitvoert vanuit ArcGIS Desktop (ArcGIS Pro of ArcMap), kun je de resultaten onmiddellijk bekijken. Op deze manier maakt een model deel uit van de dagelijkse routine van je GIS-werk. Als de uitvoer van het model een nieuwe vraag oproept om te onderzoeken, hoef je alleen maar een modelparameter te wijzigen (bijv. de invoerdataset of waarde van een tool wijzigen) en het proces opnieuw uit te voeren of het hele model opnieuw uit te voeren, en vervolgens te verkennen wat dat oplevert.<\/P><\/P>Met een script is dit zeker mogelijk maar niet zo gemakkelijk iteratief werken als dit. Je moet het scriptbestand openen, de regels code vinden die moeten worden bewerkt, de bewerkingen uitvoeren, het script opslaan, het script uitvoeren, dan mogelijk ArcMap openen en de uitvoer toevoegen plus misschien enkele andere lagen voor context. Om het gemakkelijker te maken kun je beginnen met het laden van het script in het Python-venster in ArcGIS en vandaaruit verder gaan.<\/P><\/P>Problemen Identificeren<\/STRONG><\/P><\/P>Een van de coole dingen aan een model is dat je de voortgang ervan kunt zien terwijl het draait. Terwijl elk proces wordt uitgevoerd, knippert de tool rood en verschijnt er een slagschaduw onder zijn elementen wanneer het proces voltooid is. Je kunt meteen zien waar zich een fout heeft voorgedaan in het model omdat daar de verwerking stopt. Zoek gewoon het eerste proces zonder slagschaduw.<\/P><\/P>Na correctie van de fout kun je doorgaan met het uitvoeren van het model vanaf dat punt94je hoeft niet helemaal opnieuw te beginnen. Klik gewoon met de rechtermuisknop op het toolelement in het proces dat mislukt is en kies Uitvoeren. Het identificeren van de locatie van een probleem in een script gaat niet altijd zo snel.<\/P><\/P>Vaardigheden Toepassen Die Je Al Hebt<\/STRONG><\/P><\/P>De meest voor de hand liggende reden om een model te maken in plaats van een script is dat je geen scriptingvaardigheden hebt, of dat nu Python of een andere taal is, en je niet wilt of niet de tijd hebt om scripting te leren. Hoewel het tegenwoordig vrij eenvoudig is om basisvaardigheden in Python te verwerven. Alleen al bij Esri zijn er gratis tutorials, presentaties, trainingsseminars en gratis of goedkope webcursussen beschikbaar. ArcGIS geoprocessing tools leveren Python-codefragmenten op die je kunt bestuderen om ervan te leren en vervolgens aan te passen aan jouw behoeften. Basisvaardigheden in Python zijn echter niet voldoende als je een geavanceerde workflow moet automatiseren.<\/P><\/P>Modellen schakelen geoprocessing tools aan elkaar door en voeren ze uit, dus als je een GIS-professional bent die ArcGIS gebruikt, heb je waarschijnlijk al de vaardigheden om een model te maken. Het correct opzetten van een model kost tijd en planning, net als elke andere taak. Je moet je data begrijpen, omgevinginstellingen, toolparameters en gewenste outputs. Er zijn nuances en meer geavanceerde mogelijkheden van modellen waarover je jezelf wellicht moet informeren, maar ook daarvoor zijn veel bronnen beschikbaar (zie de lijst onderaan dit bericht).<\/P><\/P>Uiteindelijk komt de keuze om een ArcGIS-workflow te automatiseren met behulp van een script of model neer op wat jij zelf prettig vindt om te doen. Python is een logica-gedreven tekstgebaseerde tool en ModelBuilder is een logica-gedreven visuele tool. Bij het voeden van je culturele honger wil je soms graag een geweldig boek lezen en soms wil je naar een prachtig schilderij kijken. Op dezelfde manier zijn er momenten waarop je liever schrijft aan een script en momenten waarop je liever werkt aan het maken van een model. Het mooie aan ArcGIS is dat je beide gemakkelijk kunt doen, direct binnen ArcGIS Desktop.<\/P>Gerelateerde berichten:<\/P>ModelBuilder 101 voor ArcGIS Pro gebruikers<\/A><\/LI>ModelBuilder 101 (ArcMap)<\/A>Bronnen om meer over ModelBuilder te leren:<\/LI>Esri trainingsopties<\/A>
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.