Hinzufügen von Titel- und Übersichtskartenseiten zur Kartensammlung

ArcGIS enthält alle Werkzeuge, die Sie benötigen, um Kartensammlungen im gedruckten Format oder im Adobe PDF-Format zu erstellen. Eine Kartensammlung ist eine Sammlung von Seiten, die zusammen gedruckt oder exportiert werden. Viele der Seiten enthalten Karten, aber andere Seiten können auch Text, Tabelleninformationen, Inhaltstabellen oder Titelseiten und anderen Inhalt enthalten.

Eine vollständigere Kartensammlung enthält eine Titelseite und eine Übersichtskartenseite. Dies erreichen Sie mithilfe einer Kombination aus der Funktion "Kartenserie" in ArcMap und einem einfachen arcpy.mapping-Python-Skript.

Beispiel: Titelseite einer Kartensammlung

Das Beispiel oben zeigt eine topographische Kartensammlung für Arenac County, Michigan. Diese Karte enthält eine Titelseite und eine Übersichtskartenseite. Sie können dieses Dokument mit der Funktion "Kartenserie" und einem arcpy.mapping-Python-Skript erstellen.

Weitere Informationen finden Sie unter Erstellen einer Kartenserie.

Dieses Beispiel umfasst die folgenden Annahmen:

TippTipp:

Sie können Titel- und Übersichtskartenseiten mit ArcMap erstellen. Erstellen Sie einfach den Inhalt für jede Seite, und exportieren Sie ihn in eine separate PDF.

Da die Kartensammlung Seitenzahlen beinhaltet, sollten Sie sicherstellen, dass bei der Seitenzahl der Anfangsseite für Kartenserien alle vorherigen Seiten der finalen Kartensammlung berücksichtigt werden. In diesem Beispiel gibt es zwei Seiten vor den Kartenseiten. Daher beginnen die Kartenseiten mit Seite 3. Stellen Sie sicher, dass als Seitenzahl der Anfangsseite im Dialogfeld Einrichtung der Kartenserie 3 festgelegt ist.

Einrichtung der Kartenserie – Seitenzahl der Anfangsseite – Beispiel

Stellen Sie ferner sicher, dass Sie die richtigen Textelemente verwenden, wenn Sie Seitenzahlen verwenden. Verwenden Sie nicht Seite der Kartenserie mit Gesamtanzahl, da nur die Gesamtanzahl der Kartenserie berücksichtigt wird. Andere Seiten, wie Titel- oder Berichtsseiten, die in der finalen Kartensammlung enthalten sind, werden nicht berücksichtigt. Verwenden Sie stattdessen Seitenzahl der Seite einer Kartenserie, und kombinieren Sie diesen dynamischen Text mit statischem Text, der die Gesamtseitenzahl anzeigt, beispielsweise Seite <dyn type="page" property="number"/> von 26.

Sobald Sie über ein Kartendokument und PDF-Dateien verfügen, können Sie den Code unten ausführen, um die finale Kartensammlungs-PDF zu erstellen. Sie können den Code im Python-Fenster oder in einer eigenständigen Python-Anwendung ausführen.

Obwohl der spezielle Code in diesem Thema für das oben angegebene Beispiel für eine Kartensammlung gilt, können Sie die beschriebenen Verfahren und Tipps auch auf eigene Kartensammlungen anwenden.

Dieses Skript exportiert eine Kartensammlung mit Titel- und Übersichtsseiten in eine PDF.

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

Die ersten Codezeilen importieren die notwendigen Module, erstellen eine Ausgabeverzeichnisvariable, in der die finale Kartensammlungs-PDF gespeichert wird und erstellen im angegebenen Ausgabeverzeichnisordner ein neues, leeres PDF-Dokument. Diese PDF ist die finale Ausgabe für dieses Skript.

TippTipp:

Programmiersprachen, z. B. Python, behandeln einen umgekehrten Schrägstrich (\) als Escape-Zeichen. Beispielsweise steht \n für einen Zeilenumbruch und \t für einen Tabulator. Beim Angeben von Pfaden kann ein Schrägstrich (/) statt eines umgekehrten Schrägstrichs verwendet werden. Um Syntaxfehler zu vermeiden, können auch zwei statt eines umgekehrten Schrägstrichs verwendet werden. Ein Zeichenfolgenliteral kann auch verwendet werden, wenn der Zeichenfolge mit einem umgekehrten Schrägstrich ein r vorangestellt wird, sodass eine korrekte Interpretation erfolgt.

Weitere Informationen finden Sie in der PDFDocument-Klasse von arcpy.mapping.

Die nächsten Codezeilen fügen der finalen PDF die Titelseite und die Übersichtskartenseite hinzu. In diesem Beispiel wird davon ausgegangen, dass Sie über vorhandene PDF-Dokumente verfügen, die für Titel- und Übersichtskartenseiten verwendet werden können.

Der nächste Schritt besteht im Hinzufügen der Kartenseiten. Dies erfordert, dass Sie über ein Kartendokument mit aktivierter Kartenserie verfügen. In diesem Beispiel ist dieses Dokument ArenacDDP.mxd.

Weitere Informationen finden Sie unter MapDocument-Klasse und DataDrivenPages-Klasse von arcpy.mapping.

Mithilfe des Codes werden schließlich die Eigenschaften aktualisiert und die finale PDF gespeichert und geschlossen.

Verwandte Themen


7/10/2012