Při správě a práci s větším množstvím feature služeb na ArcGIS Online se může hodit možnost vytvořit a stáhnout kopie všech feature vrstev, například jako zálohu nebo pokud chceme ušetřit úložný prostor na ArcGIS Online.
Stahování každé feature služby zvlášť může být časově náročné, zejména při velkých objemech. Následující skript v jazyce Python umožňuje uživatelům stáhnout kopii všech položek feature služeb. Po dokončení procesu lze položky bezpečně odstranit.
Bez skriptu bychom museli použít tlačítko Exportovat data u každé feature služby v prostředí ArcGIS Online. Na výběr je několik různých formátů, jak je vidět na obrázku:
Jednodušší bude provést to skriptem, s jehož obsahem se nyní seznámíme. Provede vyhledání všech feature služeb uživatele a exportuje je jako soubor ve zvoleném formátu. Jakmile je soubor v ArcGIS Online vytvořen, uloží se na místo, které je definováno ve skriptu.
Jako důležité upozornění je nutné zmínit, že funkce item.export() není k dispozici u osobních a studentských účtů a může ji použít pouze vlastník položky nebo uživatel s oprávněním správce.
Stejně jako v ostatních ukázkách s jazykem Python musíme na úvod importovat potřebnou knihovnu a přihlásit se pomocí přihlašovacích údajů.
import arcgis
from arcgis.gis import GIS
gis = GIS(None,'username', 'password', verify_cert=False)
Následující krok definuje hlavní funkci, která má dva parametry:
Součástí definice je také cesta, kam se mají soubory uložit.
def downloadUserItems(owner, downloadFormat):
try:
# Vyhledani prvku dle uzivatelskeho jmena
items = gis.content.search('owner:{0}'.format(owner))
print(items)
# Prochazeni vsemi prvky, pokud jsou Feature Service dojde k jejich exportu
for item in items:
if item.type == 'Feature Service':
result = item.export('sample {}'.format(item.type), downloadFormat)
result.download(r'cesta k vyslednym souborum')
# Nasleduje volitelna moznost, zda ma dojit ke smazani prvku (Volitelne)
result.delete()
except Exception as e:
print(e)
Po definici funkce dokončíme celý proces zavoláním funkce se dvěma parametry: username, downloadFormat.
downloadUserItems('username', downloadFormat='Shapefile')
Jako výstupní formát (downloadFormat) lze zvolit následující možnosti:
Formát | Označení v kódu |
Shapefile | shapefile |
CSV | csv |
File Geodatabase | fileGeodatabase |
Feature Collection | featureCollection |
GeoJson | geojson |
Scene Package | scenePackage |
KML | kml |
Excel | excel |
geoPackage | geoPackage |
Vector Tile Package | vectortilepackage |
Více informací o exportu a celém modulu arcgis.gis lze nalézt v dokumentaci python API.
A pokud Vás zajímá, jak export z ArcGIS Online využít k zálohování ArcGIS Online či obecně správa ArcGIS Online. Podívejte se na náš článek Správa organizace na ArcGIS Online
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.