banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 14 June 2017 11:54

Guimi
Participant occasionnel
Date d'inscription: 4 Sep 2013
Messages: 14

Export pièces jointes et nommage

Bonjour,

Voici le contexte, j'ai des équipe qui travaillent avec l'application Collector en liens avec ARGOL et qui collectent des données et prennent des photos attachés à des points.

J'avais besoin de récupérer ces pièces jointes afin de pouvoir les utiliser autre que sur ARGOL ou Collector, j'ai donc récupéré un script python afin de créer une toolbox d'export.
L'export fonctionne parfaitement, toutefois le nom du fichier ne me permet pas de faire de correspondance entre la photo et le numéro du point auquel elle devrait être associé.

Je débute en Python, mais je pense avoir saisi que le nom donné viens de la configuration du script.

Ma question est donc, comment faire pour récupéré lors de l'export le numéro du point associé pour l'intégrer dans le nom de la photo ?

Je met le code Python que j'ai utilisé, je pense que les paramètres "filenum" et "filename" sont à modifié mais je n'ai pas réussi à trouver l'information pour les paramétrer correctement.

Code:

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

Merci pour vos réponses.

Cordialement,
Guimi

Hors ligne

 

#2 Wed 14 June 2017 21:33

Laurent DUPONT
Participant occasionnel
Lieu: Brest métropole océane
Date d'inscription: 17 Oct 2005
Messages: 27
Site web

Re: Export pièces jointes et nommage

Bonjour

Ci-dessous un code python fourni récemment par Esri et qui fait le job (en tout cas, ça l'a fait pour moi smile :

Code:

# -*- coding: 1252 -*-
import arcpy, os

from arcpy import da

# Local variables
inTable = r"D:\B_DATA\Piece_jointe\piecejointe.gdb\meudon__ATTACH"  #-- A MODIFIER --#
fileLocation = r"D:\B_DATA\Piece_jointe"  #-- A MODIFIER --#

#Process
with da.SearchCursor(inTable, ['DATA', 'ATT_NAME', 'ATTACHMENTID']) as cursor:
    for item in cursor:
        attachment = item[0]

        filenum = str(item[2]) + "_"

        fileout = fileLocation + os.sep + filenum + str(item[1].encode("1252"))

        open(fileout, 'wb').write(attachment.tobytes())

        del item

        del filenum

        del attachment

print "fin"

Cordialement

Loran

Hors ligne

 

#3 Thu 15 June 2017 11:52

Guimi
Participant occasionnel
Date d'inscription: 4 Sep 2013
Messages: 14

Re: Export pièces jointes et nommage

Bonjour,

Merci pour ta réponse.

Malheureusement ça ne résout pas mon problème.
Avec ce script l'export numérote les fichiers en partant de 1 jusqu'au nombre de fichier exporté.

Ce que j'aimerais c'est qu'ils se numérotent en fonction du numéro du point auquel la pièce jointe était attachée.
Mais peut être n'est ce pas possible je m'y connais encore trop peu en Python pour le savoir.

Toutefois si tu as le lien vers la page d'ESRI sur lequel tu as trouvé ce script ça m'intéresse, peut être que d'autre chose serait intéressante à voir.

Et si quelqu'un à une solution à ma question je suis preneur smile


Cordialement,
Guimi

Hors ligne

 

Pied de page des forums

Powered by FluxBB