Le blog francophone consacré
aux technologies Esri

Conseils & Astuces ArcGIS Online - N°98

N° 98 - Télécharger en local les pièces jointes de vos couches d'entités

Dans mon précédent Conseils & Astuces ArcGIS Online, je détaillais la démarche permettant d'activer les pièces jointes sur une couche d'entités et comment ajouter ces pièces jointes sur chaque entités.


Les pièces jointes sont, comme la couche d'entités, hébergées sur la plateforme ArcGIS Online. Cependant, il peut être nécessaire de récupérer ces pièces jointes en local, soit dans une Géodatabase, soit en tant que fichiers dans un répertoire. A noter que vous devrez disposer d'ArcGIS Desktop (ArcMap ou ArcGIS Pro) pour pouvoir réaliser cette opération. Voici comment procéder:
 
  1. Connectez-vous à votre portail, puis affichez la page de description de votre couche d'entités.

    Cliquer ensuite sur la commande "Exporter au format FGDB".
     

        
  2. Indiquer ensuite le Titre et les Balises du nouvel élément qui sera créé sur le portail.



    Une fois terminé, cliquer sur le bouton "Terminer" pour générer la Géodatabase Fichier sur le portail.
      
  3. La Géodatabase est maintenant disponible, vous pouvez la télécharger en local en cliquant sur le bouton "Télécharger".
     

        
  4. Le fichier que vous venez de télécharger est un fichier compressé au format ZIP, il contient le répertoire de la Géodatabase ainsi que les fichiers de données.

    Décompresser le fichier ZIP pour pouvoir exploiter cette Géodatabase. Si nécessaire, renommer le répertoire de la Géodatabase pour lui donner un nom plus explicite.


     
    La Géodatabase contient la classe d'entités (dans mon exemple les points correspondant à des inspections d'hydrants). Vous pouvez également noter la présence de la table  (xxxx_ATTACH) qui contient les pièces jointes ainsi que la classe de relation (xxxx_ATTACHREL) qui fait le lien (1 à n) entre les entités et leurs pièces jointes associées.
        
  5. Vous pouvez maintenant ouvrir l'application ArcMap ou ArcGIS Pro pour accéder à la Géodatabase et donc à la classe d'entités contenant les pièces jointes. Dans mon exemple, j'ai choisi d'utiliser ArcGIS Pro.



    En cliquant sur les entités, vous pouvez accéder aux pièces jointes et les enregistrer en local si nécessaire.
       
  6. Si maintenant vous souhaitez enregistrer de manière automatisée l'ensemble des pièces jointes dans un répertoire, vous pouvez suivre la démarche suivante.
      
  7. Sur la machine où vos applications ArcGIS Desktop (ArcMap ou ArcGIS Pro) sont installées, saisir dans éditeur de texte (ou un éditeur de script Python) le script Python suivant:

    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

    Enregistrer ensuite le script, par exemple sous le nom ExportPiecesJointes.py
       
  8. Dans ArcGIS Pro (ou ArcMap), vous allez ajouter ce script en tant que nouvel outil et pouvoir ainsi l'exécuter depuis votre environnement SIG à chaque fois que vous en aurez besoin. Pour cela, créer un nouvel outil de type "Script" dans une de vos boîtes à outils.
     

         
  9. Paramétrer ensuite l'outil comme indiqué ci-dessous:

    Indiquer un Nom, une Etiquette ainsi que le chemin s'accès au fichier de script.



    Indiquer ensuite que l'outil a un premier paramètre en entrée de type "Table" et un second paramètre de type "Dossier".
     

        
  10. Une fois configuré, l'outil est prêt à être exécuté. Indiquer la table contenant les pièces jointes puis spécifier le dossier dans lequel écrire les fichiers des pièces jointes.
     

       
  11. Après l'exécution de l'outil, les fichiers sont enregistrés dans votre dossier. Lorsque plusieurs pièces jointes sont associées à une même entité, les fichiers correspondants commencent par le même préfixe, par exemple ici ATT1_ ou ATT2_.


      
Bonne route sur ArcGIS Online !
   
Pour retrouver l'ensemble des Conseils & Astuces ArcGIS Online, cliquez sur ce lien

Partager cet article:

Rejoindre la discussion

    Les commentaires à propos de cet article:

1 comments :

Anonyme a dit…

Merci pour l'astuce ! Cela faisait un moment que je cherchais un moyen pour récupérer les PJ en groupe et non, une par une.