#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 :
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
Cordialement,
Guimi
Hors ligne