ArcGIS fournit tous les outils nécessaires pour créer des atlas imprimés ou au format PDF d'Adobe. Un atlas est un ensemble de pages imprimées ou exportées ensemble. La plupart des pages contiennent des cartes, mais d'autres pages peuvent présenter du texte, des informations tabulaires, des tables des matières ou des titres et tout autre contenu.
Pour être plus complet, un atlas comprend une page de titre et une page d'index de carte (ou une carte globale). Vous pouvez créer ce type d'atlas en utilisant les pages dynamiques d'ArcMap et un script Python arcpy.mapping. Utilisez les pages dynamiques pour un document ArcMap unique (mise en page unique) afin de créer des pages de carte pour l'atlas, et utilisez un autre document ArcMap pour créer une page de carte-index. Vous pourriez encore utiliser un troisième document ArcMap pour créer la page de titre ou un autre logiciel pour créer un document PDF pour la page de titre. Utilisez arcpy.mapping pour combiner tous ces éléments dans un atlas unique.
L'exemple ci-dessus montre un atlas topographique d'Arenac County, dans le Michigan. Cette carte comprend une page de titre et une page de carte globale. Vous pouvez créer ce document à l'aide des pages dynamiques et d'un script Python arcpy.mapping.
Pour plus d’informations, reportez-vous à la rubrique Création de pages dynamiques.
Cet exemple repose sur les conditions suivantes :
- Vous disposez d’une carte existante avec des pages dynamiques activées.
Cet exemple de code utilise l’exemple d’atlas de référence simple figurant dans la rubrique Création d’atlas avec ArcGIS.
Vous pouvez recréer cet atlas en suivant les étapes décrites dans les rubriques d'aide suivantes : - Vous disposez d’un fichier PDF existant pour la page de titre de l’atlas.
- Vous disposez d'un fichier PDF existant qui contient la page de carte globale.
Puisque l’atlas affiche les numéros de page, vous devez veiller à ce que le numéro de la page de début des pages dynamiques tienne compte de toutes les pages de l’atlas cartographique final précédentes. Dans cet exemple, il y a deux pages qui précèdent les pages de carte. Par conséquent, les pages de carte commencent à la page 3. Veillez à ce que 3 soit la valeur définie pour Starting Page Number (Numéro de la page de début) dans la boîte de dialogue Setup Data Driven Pages (Définir les pages dynamiques).
En outre, veillez à utiliser les bons éléments textuels si vous affichez un numéro de page. N’utilisez pas le champ Data Driven Page with Count (Numéro de la page dynamique avec nombre total de pages), car le nombre total de pages correspond au nombre total de pages dynamiques uniquement. Il n’inclut pas les autres pages, telles que les pages du titre ou de rapport que vous allez intégrer dans l’atlas cartographique final. En lieu et place, utilisez le champ Data Driven Page Number (Numéro de page dynamique) et associez ce texte dynamique au texte statique affichant le nombre total de pages, par exemple, Page <dyn type="page" property="number"/> sur 26.
Une fois votre document cartographique et vos fichiers PDF prêts, vous pouvez exécuter le code ci-dessous pour créer votre atlas cartographique final au format PDF. Vous pouvez exécuter le code dans la fenêtre Python ou dans une application Python autonome.
Bien que les code spécifiques de cette rubrique s’appliquent à la carte de bande d’exemple ci-dessus, vous pouvez également appliquer les procédures et astuces présentées ici à vos propres atlas.
Ce script exporte un atlas cartographique au format PDF avec les pages de titre et de carte globale ajoutées.
import arcpy, os
# Create an output directory variable
#
outDir = r"C:\temp\MBExample\final_output"
# Create a new, empty pdf document in the specified output directory
#
finalpdf_filename = outDir + r"\FinalMB.pdf"
if os.path.exists(finalpdf_filename):
os.remove(finalpdf_filename)
finalPdf = arcpy.mapping.PDFDocumentCreate(finalpdf_filename)
# Add the title page to the pdf
#
finalPdf.appendPages(r"C:\temp\MBExample\ancillary_pages\TitlePage.pdf")
# Add the index map to the pdf
#
finalPdf.appendPages(r"C:\temp\MBExample\maps\IndexMap.pdf")
# Export the Data Driven Pages to a temporary pdf and then add it to the
# final pdf. Alternately, if your Data Driven Pages have already been
# exported, simply append that document to the final pdf.
#
mxdPath = r"C:\temp\MBExample\maps\ArenacDDP.mxd"
tempMap = arcpy.mapping.MapDocument(mxdPath)
tempDDP = tempMap.dataDrivenPages
temp_filename = r"C:\temp\MBExample\temp_pdfs\tempDDP.pdf"
if os.path.exists(temp_filename):
os.remove(temp_filename)
tempDDP.exportToPDF(temp_filename, "ALL")
finalPdf.appendPages(temp_filename)
# Update the properties of the final pdf
#
finalPdf.updateDocProperties(pdf_open_view="USE_THUMBS",
pdf_layout="SINGLE_PAGE")
# Save your result
#
finalPdf.saveAndClose()
# Delete variables
#
del finalPdf, tempMap, tempDDP
Les premières lignes du code importent les modules nécessaires ; créez une variable d’emplacement en sortie où le PDF final de l’atlas cartographique sera enregistré et créez un document PDF vierge dans le dossier d’emplacement en sortie. Ce PDF correspond à la sortie finale de ce script.
Pour en savoir plus, consultez la rubrique classe PDFDocument de arcpy.mapping.
Les lignes suivantes de code ajoutent la page de titre et la page de carte globale au PDF final. Cet exemple suppose que vous ayez des documents PDF existants susceptibles d’être utilisés pour les pages de titre et de carte globale.
L’étape suivante consiste à ajouter les pages de carte. Cela nécessite que vous ayez un document cartographique dont l’option Pages dynamiques est déjà activée. Dans cet exemple, ce document est ArenacDDP.mxd.
Pour en savoir plus, reportez-vous à la rubrique Classe MapDocument et à la rubrique Classe DataDrivenPages de arcpy.mapping.
Enfin, le code met à jour les propriétés, puis enregistre et ferme le PDF final.