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 Thu 23 May 2013 10:28

guil31
Participant actif
Date d'inscription: 22 Jan 2013
Messages: 79

ArcGis 10 : Générer automatiquement une série d'atlas

Bonjour,

Je travaille sur des données transport en commun.
Je souhaite mettre en place un outil qui permette de générer un atlas au 5K pour chaque ligne de bus et l'exporter en pdf.
Il faut que je gère les titres, la couleur des tracés, les étiquettes des arrêts, .... ces informations étant disponibles dans les attributs.
Je dois également afficher un fond de plan raster et donc je dois au préalable sélectionner les dalles correspondant à la ligne.
Ainsi à chaque mise à jour des données il suffira de lancer l’outil pour récupérer les n atlas correspondants au n lignes de bus.

J'ai quelques notions concernant Modelbuilder et je ne connais pas du tout Python.
Je me demande si ces outils me permettraient de réaliser ma série d'atlas.

Merci d'avance pour vos conseils avisés

Hors ligne

 

#2 Thu 23 May 2013 11:23

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: ArcGis 10 : Générer automatiquement une série d'atlas

Bonjour,

As tu regardé du côté des pages dynamiques ?
http://help.arcgis.com/fr/arcgisdesktop … 0006000000

Hors ligne

 

#3 Thu 23 May 2013 12:10

guil31
Participant actif
Date d'inscription: 22 Jan 2013
Messages: 79

Re: ArcGis 10 : Générer automatiquement une série d'atlas

Merci pour l'info concernant les pages dynamiques en fonction d'un itinéraire (je pensais qu'on ne pouvait le faire qu'avec un découpage en forme de grille).

Le truc c'est que mes lignes de bus sont sur le même territoire et certaines se chevauchent.
Mais dans chaque atlas ne doit apparaitre qu'une seule ligne.

Je dispose d'un fichier shp par ligne et un shp des arrêts de la ligne par ligne (ex ligne_1.shp, ligne_2.shp, ..... arrets_1.shp, arrets_2.shp)

Je veux récupérer un pdf par ligne contenant une série de pages en A4 au 5K avec un fond raster, la ligne, les arrêts de la ligne, ...
(Un pdf de plusieurs pages pour la ligne 1, un pdf de plusieurs pages pour la ligne 2, .....)

Donc pour mes n lignes, je pensais faire une boucle sur mes n fichiers et générer n pages dynamiques.

Avant de m'engager dans du dev je me demandais si ModelBuilder ou Python sont suffisamment puissant pour me permettre d'arriver à mon objectif et notamment j'ai quelques inquiétudes concernant l'automatisation de l'affectation, au sein des pages dynamiques, d'un titre, d'un étiquetage pour les arrêts et d'une symbologie pour les lignes et les arrêts.

Hors ligne

 

#4 Thu 23 May 2013 13:54

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: ArcGis 10 : Générer automatiquement une série d'atlas

Pas de solution directe de premier abord, mais pour les manipulations complexes de carto via Python, il faut regarder du côté de Arcpy mapping :
http://help.arcgis.com/fr/arcgisdesktop … 0032000000

Dans la théorie, tu pourrais envisager de créer un mxd par ligne de bus, en restreignant l'affichage à cette ligne puis relancer l'ensemble de tes pages dynamiques dans chaque mxd de ligne de bus pour toutes les lignes, via python smile

Hors ligne

 

#5 Thu 23 May 2013 14:35

Kevin Jousseaume
Participant assidu
Lieu: Nanterre, région parisienne
Date d'inscription: 20 Mar 2006
Messages: 217

Re: ArcGis 10 : Générer automatiquement une série d'atlas

Bonjour,

J'ai réalisé un développement assez proche de ce que vous souhaitez faire. Dans ce traitement, qui consiste à générer un atlas à partir d'un MXD dans lequel l'option "Pages dynamiques" est activé, je réalise entre autre :
- génération automatique de la géométrie de la couche d'index en fonction de la géométrie d'une couche de linéaires (une tournée de collecte)
- l'application d'un ensemble de définition sur certaines couches de mon MXD. Il est possible de jouer sur la visibilité de ces couches, mais aussi d'en rajouter à la volée (en utilisant par exemple un .LYR dans lequel vous aurez défini au préalable votre symbologie et l'étiquetage).
- la génération d'un PDF contenant plusieurs pages, avec pour chaque page un titre différents (ex: Plan de la tournée (p.3/10))

Je l'ai réalisé sous forme d'un script Python en m'appuyant sur :
- les références de l'API : http://help.arcgis.com/fr/arcgisdesktop … 02n000000/
- un exemple sur http://blogs.esri.com/esri/arcgis/2010/ … y-mapping/ : The following example exports a title page, an overview map, and a series of data driven pages and combines them, along with a PDF file containing a list of contact information, into a single multi-page PDF file:

Donc oui, vous pouvez vous lancer, Python vous permettra d'y arriver smile

Cordialement,
Kevin

PS: j'ai mis tellement de temps pour répondre que Robin m'a grillé la politesse wink

Dernière modification par Kevin Jousseaume (Thu 23 May 2013 14:36)

Hors ligne

 

#6 Thu 23 May 2013 16:22

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: ArcGis 10 : Générer automatiquement une série d'atlas

PS: j'ai mis tellement de temps pour répondre que Robin m'a grillé la politesse


Mais non mais non, on se complète, moi j'ai la théorie et tu as la pratique du Python wink

Hors ligne

 

#7 Thu 23 May 2013 20:23

Kevin Jousseaume
Participant assidu
Lieu: Nanterre, région parisienne
Date d'inscription: 20 Mar 2006
Messages: 217

Re: ArcGis 10 : Générer automatiquement une série d'atlas

Facebook m'aura définitivement perverti : j'ai cherché plusieurs minutes où pouvait bien se trouver le bouton "like"... smile

Hors ligne

 

#8 Fri 24 May 2013 10:23

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: ArcGis 10 : Générer automatiquement une série d'atlas

Pas de bouton Like sur GeoRezo, mais pourquoi pas un jour un modèle de type GIS StackExchange ? Peut être à suggérer à nos développeurs émérites. Ceci dit, j'en profite pour signaler qu'il est possible de partager un contenu via la barre d'outil en bas de l'écran vers la plupart des réseaux sociaux (y compris Facebook) smile

Hors ligne

 

#9 Fri 24 May 2013 16:59

guil31
Participant actif
Date d'inscription: 22 Jan 2013
Messages: 79

Re: ArcGis 10 : Générer automatiquement une série d'atlas

Merci à tous

C'est partit: je me lance dans python ...

Hors ligne

 

#10 Fri 24 May 2013 17:16

Kevin Jousseaume
Participant assidu
Lieu: Nanterre, région parisienne
Date d'inscription: 20 Mar 2006
Messages: 217

Re: ArcGis 10 : Générer automatiquement une série d'atlas

Attention à ne pas te faire dévorer !!! smile

Trêve de plaisanterie : voici un extrait de mon code (je ne peux pas te transmettre l'intégralité, mon client ne serait pas très content...), cela devrait te donner quelques idées pour commencer

Code:

# Paramètres du script
#Couche d'itinéraire
IN_LAYER_ITI = unicode(arcpy.GetParameterAsText(0)).encode('cp1252') # unicode est utilisé pour gérer les problèmes d'encode. Il n'est pas nécessaire de l'employer s'il n'y a pas de caractères spéciaux dans le nom des couches
#Couche des points de repère
IN_LAYER_PTREP = unicode(arcpy.GetParameterAsText(1)).encode('cp1252')
#Répertoire en sortie
OUT_FOLDER = unicode(arcpy.GetParameterAsText(3)).encode('cp1252')

try:
    # Récupération du document courant
    mxd = arcpy.mapping.MapDocument("CURRENT")

    # Vérification de la configuration des pages dynamiques
    try:
        nbPages = mxd.dataDrivenPages.pageCount + 1
    except:
        raise Exception("DataDrivenPagesError")       

    arcpy.AddMessage(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Création du fichier PDF dans le dossier "+ OUT_FOLDER)
    if os.path.exists(OUT_PDF_FILE):
        try:
            os.remove(OUT_PDF_FILE)
        except:
            raise Exception("RemovePdfFileError")               
        
    finalPdf = arcpy.mapping.PDFDocumentCreate(OUT_PDF_FILE) 
    
    # Génération du plan d'ensemble
    arcpy.AddMessage(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Récupération de l'étendue de la couche")
    for layer in arcpy.mapping.ListLayers(mxd, IN_LAYER_ITI):
        layerExtent = layer.getExtent()
    
    dataFrame = arcpy.mapping.ListDataFrames(mxd)[0]
    dataFrame.extent = layerExtent
    dataFrame.scale = dataFrame.scale * 1.1

    mxd.title = IN_LAYER_ITI + " - Plan d'ensemble"

    arcpy.RefreshActiveView()
    arcpy.RefreshTOC()

    arcpy.AddMessage(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Export du plan d'ensemble")
    tmpPdf = os.path.splitext(OUT_PDF_FILE)[0] + "_tmp.pdf"
    if os.path.exists(tmpPdf):
        os.remove(tmpPdf)
        
    arcpy.mapping.ExportToPDF(mxd, tmpPdf)
    arcpy.AddMessage(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Insertion dans le document final...")
    finalPdf.appendPages(tmpPdf)
    if os.path.exists(tmpPdf):
        os.remove(tmpPdf)
            
    arcpy.AddMessage(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Application d'un ensemble de définition sur la couche " + IN_LAYER_ITI)
    queryDef = ITI_FLD_ORDRE + ">=" + str(ordreMin - IN_TOLERANCE_ORDRE) + " AND " + ITI_FLD_ORDRE + "<=" + str(ordreMax + IN_TOLERANCE_ORDRE)
    layerIti = arcpy.mapping.ListLayers(mxd, IN_LAYER_ITI)[0]
    layerIti.definitionQuery = queryDef
    
    arcpy.AddMessage(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Application d'un ensemble de définition sur la couche " + IN_LAYER_PTREP)
    queryDef = FLD_NUMERO + "=" + str(pageNum) + " OR " + FLD_NUMERO + "= 1 + " + str(pageNum) 
    for layer in arcpy.mapping.ListLayers(mxd, IN_LAYER_PTREP):
        layer.definitionQuery = queryDef

    # Modification du titre (il doit être présent dans la mise en page)
    mxd.title = IN_LAYER_ITI + " - Partie " + str(pageNum)

    #Rafraichissement de la vue
    arcpy.RefreshActiveView()
    arcpy.RefreshTOC()

    arcpy.AddMessage(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Export de la page {0} sur {1}.".format(str(pageNum), str(mxd.dataDrivenPages.pageCount)))

    tmpPdf = os.path.splitext(OUT_PDF_FILE)[0] + "_tmp" + str(pageNum) + ".pdf"
    if os.path.exists(tmpPdf):
        os.remove(tmpPdf)
        
    arcpy.mapping.ExportToPDF(mxd, tmpPdf)
    arcpy.AddMessage(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Insertion dans le document final...")
    finalPdf.appendPages(tmpPdf)

    arcpy.AddMessage(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Suppression du fichier temporaire...")
    if os.path.exists(tmpPdf):
        os.remove(tmpPdf)    
        
except Exception, ErrorDesc:

    if str(ErrorDesc) == "DataDrivenPagesError":
        ErrorDesc = "Les pages dynamiques ne sont pas configurees dans ce document."
    elif str(ErrorDesc) == "RemovePdfFileError":
        ErrorDesc = "Impossible de supprimer le fichier PDF déjà existant."
    else:
        arcpy.AddError(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Une erreur est survenue")
        ErrorDesc0 = ErrorDesc
        ErrorDesc = ""
        for sErr in ErrorDesc0:
            ErrorDesc = ErrorDesc + sErr

    arcpy.AddError(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Erreur(s) lors des traitements - " + ErrorDesc)

Hors ligne

 

#11 Fri 24 May 2013 17:52

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: ArcGis 10 : Générer automatiquement une série d'atlas

Guil31 : un conseil si tu débutes : le code de Kevin comporte  morceaux de code "bonus" : messages de suivi de la procédure, code pour la prise en charge des erreurs, etc. Exemple :

(Suivi de la procédure)

Code:

    arcpy.AddMessage(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Application d'un ensemble de définition sur la couche " + IN_LAYER_ITI)

....
    
    arcpy.AddMessage(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Application d'un ensemble de définition sur la couche " + IN_LAYER_PTREP)

(Gestion des erreurs)

Code:

try :

blablabla



except Exception, ErrorDesc:

    if str(ErrorDesc) == "DataDrivenPagesError":
        ErrorDesc = "Les pages dynamiques ne sont pas configurees dans ce document."
    elif str(ErrorDesc) == "RemovePdfFileError":
        ErrorDesc = "Impossible de supprimer le fichier PDF déjà existant."
    else:
        arcpy.AddError(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Une erreur est survenue")
        ErrorDesc0 = ErrorDesc
        ErrorDesc = ""
        for sErr in ErrorDesc0:
            ErrorDesc = ErrorDesc + sErr

    arcpy.AddError(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Erreur(s) lors des traitements - " + ErrorDesc)

Pour apprendre le python, bien respecter les retraits, la casse (min/maj) et ne pas oublier les : à la fin d'une ligne d'instruction avec if par exemple. Essaye toi sur des exemples de code simplifiés d'abord avant d'attaquer le code de Kevin pour l’adapter.

Hors ligne

 

#12 Fri 24 May 2013 21:44

Kevin Jousseaume
Participant assidu
Lieu: Nanterre, région parisienne
Date d'inscription: 20 Mar 2006
Messages: 217

Re: ArcGis 10 : Générer automatiquement une série d'atlas

C'est vrai que j'y suis peut-être allé un peu fort pour un 1er exemple de code... smile. Robin a parfaitement raison guil31, et il n'aura trompé personne en disant qu'il ne connaissait que la théorie wink

PS : une remarque sur ton code Robin, il y a justement une petite erreur d'indentation. En effet, il faudrait mettre :

Code:

try :
    blablabla

except Exception, ErrorDesc: 
    tutu

et non :

Code:

try :
blablabla

except Exception, ErrorDesc: 
    tutu

PS2 : des fois, il m'arrive d'être sérieux, si, si...

Hors ligne

 

#13 Mon 27 May 2013 09:13

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: ArcGis 10 : Générer automatiquement une série d'atlas

C'était pour voir si tu suivais :p Mes cours de Python me servent pour l'instant juste à comprendre et adapter ce qui existe, voire de faire de petites routines peu complexes. J'ai déjà analysé tes scripts précédents qui m'ont permis d'apprendre certaines bonnes pratiques, comme les messages de suivi (arcpy.AddMessage) qui me semblent indispensables pour suivre l'évolution du script en détail. C'est d'ailleurs suffisamment rare pour être souligné, cet aspect "user-friendly" de tes scripts quand on les lance.

Hors ligne

 

#14 Mon 27 May 2013 10:08

Kevin Jousseaume
Participant assidu
Lieu: Nanterre, région parisienne
Date d'inscription: 20 Mar 2006
Messages: 217

Re: ArcGis 10 : Générer automatiquement une série d'atlas

Merci Robin pour ces compliments smile

J'ai commencé exactement de la manière il y a 1 ou 2 ans. C'est principalement en étudiant les scripts qui sont fournis avec ArcGIS ("<Répertoire d'installation>\ArcToolbox\Scripts") que j'ai appris à consolider les miens grâce à ces techniques. J'ai mis du temps à m'y faire. Comme tout le monde, je suis parti des scripts générés par l'export en Python d'un ModelBuilder et il m'a fallu du temps pour comprendre qu'il fallait systématiquement les revoir en profondeur car ils sont très "moches" et nécessitent beaucoup de travail pour les rendre + robustes.

Je suis maintenant plutôt satisfait de la qualité de mes scripts, mais je suis certain que j'ai encore plein de choses à apprendre/améliorer !

Tiens, une méthode intéressante à mettre en place lors de traitements automatisés (via une tâche planifiée sur un serveur) : inscrire les messages non dans l'interface utilisateur (arcpy.AddMessage) mais dans un fichier de log (librairie Python logging), puis envoyer ce fichier de log (librairie smtplib) par mail à l'administrateur si des erreurs se sont produites.

A+

Hors ligne

 

#15 Mon 27 May 2013 10:52

guil31
Participant actif
Date d'inscription: 22 Jan 2013
Messages: 79

Re: ArcGis 10 : Générer automatiquement une série d'atlas

Merci pour vos conseils.

J'ai d'autres expériences de dev avec d'autres outils (donc la programmation ne m'est pas complétement inconnue).
Mes difficultés vont plus être sur la syntaxe et l'utilisation des fonctions spécifiques de ArcPy.
Cette semaine je suis en formation (malheureusement pas sur Python).
Mais je m'y attaque sérieusement la semaine prochaine.
En cas de difficultés je n'hésiterai pas à vous relancer.

Hors ligne

 

#16 Thu 20 June 2013 17:07

guil31
Participant actif
Date d'inscription: 22 Jan 2013
Messages: 79

Re: ArcGis 10 : Générer automatiquement une série d'atlas

Je reprend le sujet car je n'arrive à effectuer l'export en pdf.

J'ai fait une boucle sur l'ensemble de mes lignes avec un curseur
Pour chaque ligne j'utilise le même mxd qui me sert de modèle mais dans lequel je change la source des fichiers, les titres, j'affichage un fond raster ......
Jusque là tout va bien

Ensuite, j'arrive à créer un pdf par page, mais je n'arrive pas à rassembler tous les pdf d'une ligne dans un seul pdf

Voici un extrait de mon code:

Code:

blabla ......... je recupère les chemins d'accès (file_ligne_all, file_mxd, dir_data_out, ...)
................  et je remplace les \ par des /


curseur = arcpy.SearchCursor(file_ligne_all)
for c_ligne in curseur:

    mxd = arcpy.mapping.MapDocument (file_mxd)


blabla ...... changement de source des couches, ajout des titres, du fond raster ..........


    # export en pdf
    pdf_doc = arcpy.mapping.PDFDocumentCreate(dir_data_out + "/" + c_ligne.LIGNE + ".pdf")
    
    for page_num in range(1, mxd.dataDrivenPages.pageCount + 1):
        mxd.dataDrivenPages.currentPageID = page_num
        file_pdf = dir_data_out + "/" + c_ligne.LIGNE + "_" + str(page_num) + ".pdf"
        arcpy.mapping.ExportToPDF(mxd, file_pdf)
        try :
            pdf_doc.appendPages(file_pdf)
        except:
            arcpy.AddMessage("Erreur: " + file_pdf)
        
    pdf_doc.saveAndClose()
    del pdf_doc

    mxd.saveACopy(dir_data_out + "/atlas_"+ c_ligne.LIGNE + ".mxd")
    del mxd
del curseur

A chaque fois je passe dans "except:"

J'ai essayé de lancer les mêmes commandes dans une fenêtre Python dans un document ArcMap et là ça marche: je n'y comprends rien!

Est-ce quelqu'un à une idée?

Hors ligne

 

#17 Thu 20 June 2013 18:19

Kevin Jousseaume
Participant assidu
Lieu: Nanterre, région parisienne
Date d'inscription: 20 Mar 2006
Messages: 217

Re: ArcGis 10 : Générer automatiquement une série d'atlas

Il faudrait en savoir un peu plus sur le contexte :
- est-ce que le fichier pdf_doc existe bien ?
- est-ce que le fichier file_pdf existe bien ?
- quel est le message d'erreur ? Pour cela, il faudrait utiliser un code un peu plus évolué dans la partie "except", par exemple :

Code:

   except Exception, ErrorDesc:
        arcpy.AddError(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Une erreur est survenue.")
        ErrorDesc0 = ErrorDesc
        ErrorDesc = ""
        for sErr in ErrorDesc0:
            ErrorDesc = ErrorDesc + str(sErr)

        arcpy.AddError(datetime.now().strftime("%Y/%m/%d-%H:%M:%S") + " - Erreur(s) lors des traitements - " + ErrorDesc)

Hors ligne

 

#18 Fri 21 June 2013 09:22

guil31
Participant actif
Date d'inscription: 22 Jan 2013
Messages: 79

Re: ArcGis 10 : Générer automatiquement une série d'atlas

- pdf_doc existe bien car j'arrive à faire un pdf_doc.pageCount dessus

- file_pdf est généré

- message d'erreur:
<type 'exceptions.UnicodeEncodeError'>: 'ascii' codec can't encode character u'\xee' in position 27: ordinal not in range(128)
Échec de l’exécution de (Atlas).


PS:
Je n'ai pas trop chercher, mais je n'ai pas réussi à utiliser datetime.now().strftime("%Y/%m/%d-%H:%M:%S")
(J'ai bien fait import datetime)
=> <type 'exceptions.AttributeError'>: 'module' object has no attribute 'now'

Hors ligne

 

#19 Fri 21 June 2013 09:48

Kevin Jousseaume
Participant assidu
Lieu: Nanterre, région parisienne
Date d'inscription: 20 Mar 2006
Messages: 217

Re: ArcGis 10 : Générer automatiquement une série d'atlas

Ah...
Dans le code d'affichage de l'erreur, le traitement doit planter sur

Code:

ErrorDesc = ErrorDesc + [b]str(sErr)[/b]

en raison de l'encodage (la fonction str() pose alors pb).

Pourrais-tu essayer une des variantes suivantes :

Code:

ErrorDesc = ErrorDesc + unicode(sErr)

Code:

ErrorDesc = ErrorDesc + sErr

Pour le problème d'utilisation de datetime.now(), cela m'est déjà arrivé lorsque j'utilise la fonction de calcul de champ d'arcPy au sein du script : avant l'appel à cette fonction de calcul, datetime.now() était opérationnel, mais plus après. Je n'ai jamais cherché à le résoudre...

Hors ligne

 

#20 Fri 21 June 2013 10:30

guil31
Participant actif
Date d'inscription: 22 Jan 2013
Messages: 79

Re: ArcGis 10 : Générer automatiquement une série d'atlas

Les deux variantes fonctionnent

=> Chemin non valide - une chaine doit être fournie

Hors ligne

 

#21 Fri 21 June 2013 11:08

Kevin Jousseaume
Participant assidu
Lieu: Nanterre, région parisienne
Date d'inscription: 20 Mar 2006
Messages: 217

Re: ArcGis 10 : Générer automatiquement une série d'atlas

Quelle est la valeur des variables "pdf_doc" et "file_pdf" ? C'est peut-être là aussi un pb d'encode (accents, caractères spéciaux) ou d'espace dans le chemin que la fonction .appendPages() n'apprécie pas.

Hors ligne

 

#22 Fri 21 June 2013 11:26

guil31
Participant actif
Date d'inscription: 22 Jan 2013
Messages: 79

Re: ArcGis 10 : Générer automatiquement une série d'atlas

pdf_doc = "D:/Claire/Atlas_lignes/data_out/Noct/Noct.pdf"

file_pdf = "D:/Claire/Atlas_lignes/data_out/Noct/Noct_1.pdf" puis "D:/Claire/Atlas_lignes/data_out/Noct/Noct_2.pdf" puis ......

Ce n'est pas parceque j'ai remplacé les \ par des / ?

Hors ligne

 

#23 Fri 21 June 2013 11:48

guil31
Participant actif
Date d'inscription: 22 Jan 2013
Messages: 79

Re: ArcGis 10 : Générer automatiquement une série d'atlas

Non en fait
J'ai fait le test en re-remplacant / par \

Hors ligne

 

#24 Fri 21 June 2013 11:48

Kevin Jousseaume
Participant assidu
Lieu: Nanterre, région parisienne
Date d'inscription: 20 Mar 2006
Messages: 217

Re: ArcGis 10 : Générer automatiquement une série d'atlas

C'est possible. Dans mon script qui utilise ces fonctions, mes chemins sont construits avec des "\\", par exemple :
file_pdf = dir_data_out + "\\" + c_ligne.LIGNE + "_" + str(page_num) + ".pdf"

Hors ligne

 

#25 Fri 21 June 2013 11:53

guil31
Participant actif
Date d'inscription: 22 Jan 2013
Messages: 79

Re: ArcGis 10 : Générer automatiquement une série d'atlas

J'ai essayé avec

Code:

file_pdf = file_pdf.replace("/","\\")

avant d'utiliser appendPages et ca ne fonctionne toujours pas sad

Hors ligne

 

#26 Mon 24 June 2013 16:29

guil31
Participant actif
Date d'inscription: 22 Jan 2013
Messages: 79

Re: ArcGis 10 : Générer automatiquement une série d'atlas

Je rame toujours sur mon export en pdf.

J'ai essayé de partir du pdf de la 1ere page, de l'ouvrir et de faire un insertPages.
Le message est "PDFDocObject : impossible d’ajouter des pages au document PDF"


Sans solution, je me suis dit que je pourrai utiliser le module pyPdf
mais il semblerait que non, car j'ai l'erreur suivante:

<type 'exceptions.ImportError'>: No module named pyPdf
Échec de l’exécution de (Atlas).

Est-ce que on peut installer des modules complémentaires? Comment?

Hors ligne

 

Pied de page des forums

Powered by FluxBB