Je poursuis ma série de tutoriels consacrés à l'usage de l'API ArcGIS for Python. Aujourd'hui, je vous propose de voir comment automatiser le chargement d'images depuis un répertoire vers votre portail ArcGIS. Ce tutoriel montre également comment créer un dossier et partager les images une fois ajoutés au portail ArcGIS.
Le Notebook présenté ci-dessous est téléchargeable ici.
Création de l'objet GIS et authentification sur le portail ArcGIS
In [2]:
fromIPython.displayimportdisplay
fromarcgis.gisimportGIS
importos,pathlib
gis=GIS("https://www.arcgis.com","username","password")
In [3]:
display(gis)
Initialisation des variables définissant le répertoire d'origine des images, l'extension des images à importer, le nom du dossier à créer sur le portail et les paramètres de partage des images chargées.
In [4]:
# Chemin d'accès aux photos
data_dir="/Users/glavenu/Downloads/Images"
# Extension des fichiers, Attention ce paramètre est case-sensitive,
# '*.*' peut être utilisé pour charger l'ensemble des images
image_ext="*.jpeg"
portal_folder="Mes_Images"
share_with_everyone=True
share_with_organization=False
Création du dossier sur le portail (si il n'existe pas déjà) et récupération des images à importer
In [5]:
#Creation du dossier sur le portail
ifportal_folderisnot"":
try:
gis.content.create_folder(portal_folder)
except:
pass
#Recupereration et filtrage de la liste des fichiers
image_file_list=[str(image_file)forimage_fileinpathlib.Path(data_dir).glob(image_ext)]
print("Nombre d'images trouvées: "+str(len(image_file_list)))
On parcourt les différentes images et on les ajoute sur le portail. L'image elle-même est utilisée comme image miniature de l'élément.
In [6]:
forcurrent_image_fileinimage_file_list:
try:
item=gis.content.add({'type':'Image','tags':'Image'},
current_image_file,
current_image_file,
None,
None,
portal_folder)
item.share(share_with_everyone,
share_with_organization,
None,
False)
display(item)
except:
pass
print('Import des images terminé')