Rozšíření a automatizace ArcGIS Pro

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Rozšíření a automatizace ArcGIS Pro

Published on ‎03-19-2021 05:35 AM by Esri

webinar_ico_6.jpgTento webinář vás seznámí s několika možnostmi, díky kterým si můžete zjednodušit svoje rutinní pracovní postupy. Představíme si práci s nástroji v prostředí ModelBuilder a tvorbu tzv. úloh (tasks). V obou případech nezůstaneme jen u teorie, ale ukážeme si i jejich praktické využití. Nakonec se dotkneme také skriptovacího jazyka Python, kdy se nejprve seznámíme s jeho obecnými možnostmi a poté i s jeho reálným využitím přímo v ArcGIS Pro.

 

registrujte_se.png



Event has ended
You can no longer attend this event.

Start:
Tue, Jun 8, 2021 01:00 AM PDT
End:
Tue, Jun 8, 2021 02:00 AM PDT
online webinář
2 Comments
JanSouček
Esri Contributor

Otázky zodpovězené během webináře

 

Lze zadat vstupní parametry do dávkového spuštění z TXT, XML, nebo nějak jinak? Pokud je vstupem třeba 200 vrstev, aby nemusel uživatel přidávat nové vstupy po jednom klikání.

Výběr vstupních dat můžete provádět ze souborového manažeru s použitím kláves pro vícenásobný výběr, např. Ctrl, Shift apod. Případně můžete využít Python.

 

Je možné, že modely ModelBuilderu vytvořené v ArcMapu již nefungují v ArcGIS Pro?

Teoreticky to možné je, záleží asi model od modelu – abychom mohli problém lépe identifikovat, pošlete nám Váš model prosím na adresu webinar@arcdata.cz.

 

Ako pridať viac iterácií do ModelBuilderu a prípadný timeout než zopakuje iteráciu prípadne pokračuje na ďalší proces?

Model podporuje pouze jeden iterátor. Pro přidání více iterátorů je nutné použít například vnořený model, nebo místo ModelBuilderu použít Python.

Pořadí operací je možné řešit pomocí precondition (ty neslouží tedy jen pro if-else otázky) – viz příklad v dokumentaci: https://pro.arcgis.com/en/pro-app/latest/help/analysis/geoprocessing/modelbuilder/using-precondition...

 

Visí Vám tam nezahrnutý předpoklad Nepravdivé z toho přidávání Datumu?

V rámci modelu bylo využito precondition pro pravdivý výraz. Při jeho splnění – tedy pravdivosti – se sloupec přidá, jinak ne.

To jsem viděla, ale pak zůstal výstup testu Nepravdivý, který se nijak nespojil do té větve modelu, pokud již položka DATUM existovala. Očekávala bych, že tento předpoklad Nepravdivý pak nějak zapíchnete do té větve modelu, která objíždí to AddField.

Přiznám se, že nevidím pro to propojení důvod. Podmínka sloužila jako precodnition pro nástroj přidání pole – pokud splněna není, tak se nástroj nespustí, vše běží dál (je to jedna větev).

To, co popisujete, bych použil, pokud by na rozhodnutí čekaly 2 samostatné větve – viz příklady zde: https://pro.arcgis.com/en/pro-app/latest/help/analysis/geoprocessing/modelbuilder/if-then-else-branc...

Jasně – vycházela jsem z představy, že ModelBuilder je v podstatě „vylepšený“ vývojový diagram jako takový, kde prázdné konce větví jako např. neukončené rozhodovací bloky jsou nebezpečné. Ale vcelku chápu a již nebudu zdržovat. Děkuji.

 

V ModelBuilderi ak je iterácia hodnoty pripravená pre expression ďalšieho procesu. Ako viem použiť názov iterácie na výstup ak obsahuje nepovolené znaky ("group=80"). Použiť %Názov%.rename("=","_") nefunguje do názvu výstupu ak ju chcem pomenovať na výstupe "group_80"?

%Name% je název vstupní vrstvy, která do iterátoru vstupuje. I ta by neměla obsahovat zakázané znaky – tedy výstupní vrstva z nástroje, do kterého vstupuje iterátor, je  "%<jméno vstupní vrstvy>+další text podporovaných znaků%"

 

Lze nějakým způsobem model vytvořený v ArcGIS Pro otevřít v ArcMapu? Model vytvořený v ArcMapu nám otevřít v ArcGIS Pro šlo.

Samo o sobě to možné není, protože ArcGIS Pro využívá jinou generaci Pythonu (3.x) na rozdíl od ArcMapu (2.x). Model ale jde přeuložit pro patřičnou verzi: https://pro.arcgis.com/en/pro-app/latest/help/analysis/geoprocessing/modelbuilder/modelbuilder-chang...

 

Po naplánování úlohy mohu vypnout ArcGIS Pro?

Ano, jen je třeba mít zaškrtnuto Sign me in automatically na přihlašovacím okně – viz: https://pro.arcgis.com/en/pro-app/latest/help/analysis/geoprocessing/basics/schedule-geoprocessing-t...

 

Pokud použiju plánování úloh a v okamžiku spuštění nebudu mít dostupnou licenci (plovoucí), bude zkoušet dostupnost opakovaně, nebo jen proces neproběhne?

Předpokládám, že stejně jako při běhu Python okna dojde k chybě.

 

Existuje v dokumentaci popis, které knihovny, resp. balíčky pythonu, jsou potřeba a jak správně nainstalovat, pokud má být správně nastavený jupyter notebook mimo prostředí ArcGIS Pro (např.  v rámci anaconda)? Jde např. o správné zobrazení mapy v jupyter notebooku.

O žádném takovém soupisu nevím, pro vlastní prostředí bych si udělal klonované prostředí, kde se pak nemusíte bát, že Vám bude něco chybět.

Pokud byste si vytvářel prostředí úplně na zelené louce, tak pro práci s webovým GIS bych použil balíček arcgis - https://anaconda.org/esri/arcgis

Poměrně hezky je to popsané zde: https://developers.arcgis.com/python/guide/install-and-set-up/

 

Lze aplikovat funkci (arcpy modul) na image vrstvu z Living Atlas? Načtení image služby pomocí query (např. dle data pořízení pomocí arcgis modulu) a následně aplikování funkce (např. extract values)?

V Python API je možné pracovat i s Image službami z Living Atlasu – viz ukázka https://developers.arcgis.com/python/guide/using-imagery-layers/. Podrobněji zde ještě odpovíme během několika dní.

 

Je Task/Úloha i pro základní licence?

Ano

VHolubec
Esri Regular Contributor

Doplnění odpovědi k otázce: Lze aplikovat funkci (arcpy modul) na image vrstvu z Living Atlas? Načtení image služby pomocí query (např. dle data pořízení pomocí arcgis modulu) a následně aplikování funkce (např. extract values)?

Pomocí Python API můžete prohledávat obsah ArcGIS Online – například vyhledání pomocí search Image služeb s určitým slovem v názvu a výsledky můžete hned vypsat:

vysledky = gis.content.search(query="title:Terrain*", outside_org=True, item_type = "imagery layer") 

for item in vysledky:

    display(item)

 

U dalšího postupu záleží, jaký vstup nástroj vyžaduje – zda je to vrstva, nebo zda bude umět pracovat přímo s URL. URL služby z itemu získáte pomocí <item>.layers[index vrstvy].url

 

Pokud nástroj vyžaduje vstup imagery layer, převedeme url image služby na do dočasnou Imagery layer – https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/make-image-server-layer.htm

arcpy.management.MakeImageServerLayer(obraz.layers[0].url, "docasnaVrstva")

 

Následně pracujeme s dočasnou vrstvou – například zde jsem ji vložil do lokálního nástroje z knihovny arcpy.

outExtractByMask = arcpy.sa.ExtractByMask("docasnaVrstva", "orez")

outxtractByMask

Vladimir