Hromadný export příloh v ArcGIS Pro

6. 6. 2018
  • Desktopový GIS
  • ArcGIS Pro 2.0
  • ArcGIS Pro 2.1

V ArcGIS Pro je možné uložit jednotlivé přílohy, případně všechny přílohy jednoho prvku. V určitých případech by se nám však mohlo hodit hromadně uložit všechny přílohy od všech prvků jedné vrstvy. To je možné pomocí vlastního skriptového nástroje, který si v tomto článku vytvoříme.

Popsaný skript pracuje s tabulkou příloh v klasickém formátu, která je vytvořena při spuštění geoprocessingového nástroje Povolit přílohy (Enable Attachments). Pro správnou funkčnost je tedy nutné zachovat formát a název takto vytvořené tabulky.

Nástroj pro export příloh

  • Zkopírujeme následující text do Poznámkového bloku a uložíme ho s příponou PY. Tento skript kopíruje všechny přílohy jedné třídy prvků do samostatné složky.

import arcpy
from arcpy import da
import os

inTable = arcpy.GetParameterAsText(0)

fileLocation = arcpy.GetParameterAsText(1)

with da.SearchCursor(inTable, ['DATA', 'ATT_NAME', 'ATTACHMENTID']) as cursor:

    for item in cursor:

        attachment = item[0]
        filenum = "ATT" + str(item[2]) + "_"
        filename = filenum + str(item[1])
        open(fileLocation + os.sep + filename, 'wb').write(attachment.tobytes())
        del item
        del filenum
        del filename
        del attachment

  • V ArcGIS Pro vytvoříme nový Toolbox (případně použijeme nějaký existující), klikneme na něj pravým tlačítkem myši a zvolíme volbu Nový – Skript.

Hromadný export příloh v ArcGIS Pro

  • Nastavíme nástroj:

1. Na záložce Obecné vložíme NázevPopisek. Jako Soubor skriptu vložíme uložený soubor s Python kódem a zaškrtneme tlačítko Ukládat nástroje s relativní cestou.

2. Na záložce Parametry definujeme vstupní a výstupní parametry nástroje. Skript obsahuje dva parametry – vstupní tabulku s přílohami a výstupní složku pro uložení příloh. V tabulce Definovat parametry nástroje skriptování tedy zadáme první parametr s popiskem například Tabulka příloh a jako Datový typ zvolíme hodnotu Tabulka. Následně zadáme název druhého parametru, například Výstupní složka, a jako Datový typ zvolíme hodnotu Složka.

3. Vše potvrdíme tlačítkem OK.

  • Tímto se vytvořil požadovaný skriptový nástroj. Tento nástroj otevřeme dvojklikem.

  • Jako první parametr, v tomto případě pojmenovaný Tabulka příloh, vybereme tabulku s přílohami s příponou “_ATTACH“.
  • Jako druhý parametr, v tomto případě pojmenovaný Výstupní složka, zadáme cestu k výstupní složce pro uložení všech příloh.

  • Nástroj spustíme tlačítkem Spustit.
  • Po úspěšném ukončení nástroje se do výstupní složky uloží všechny přílohy ze všech prvků. Začátek názvu souboru vychází z ID přílohy (atribut ATTACHMENTID).

Autor: Adam Chrumko