Le blog francophone consacré
aux technologies Esri

Tuto7: Automatiser le chargement d'images sur votre portail ArcGIS

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]:
from IPython.display import display
from arcgis.gis import GIS
import os, 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
if portal_folder is not "":
    try:
        gis.content.create_folder(portal_folder)
    except:
        pass
    
#Recupereration et filtrage de la liste des fichiers 
image_file_list = [str(image_file) for image_file in pathlib.Path(data_dir).glob(image_ext)]

print("Nombre d'images trouvées: " + str(len(image_file_list)))
Nombre d'images trouvées: 5
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]:
for current_image_file in image_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é')
Pont_AlexandreIII
Image by glavenudev
Last Modified: novembre 27, 2018
0 comments, 0 views
Louvre_Pyramides
Image by glavenudev
Last Modified: novembre 27, 2018
0 comments, 0 views
arc_de_triomphe
Image by glavenudev
Last Modified: novembre 27, 2018
0 comments, 0 views
Montmartre
Image by glavenudev
Last Modified: novembre 27, 2018
0 comments, 0 views
Tour_Eiffel
Image by glavenudev
Last Modified: novembre 27, 2018
0 comments, 0 views
Import des images terminé

Partager cet article:

Rejoindre la discussion

    Les commentaires à propos de cet article: