Kunnen door gegevens aangedreven pagina's PDF's samenvoegen zonder lagen te verliezen?

Ik stel een kaartenboek samen met gelaagde pdf's, wat ik heb is de eerste kaart die de omvang van het raster toont (een overzichtskaart) en de rest van de kaarten toont elk raster. Het was vervelend om een ​​overzichtskaart op te stellen op dezelfde data-driven mxd, het zou veel eenvoudiger zijn om het als een afzonderlijke pdf te exporteren en het vervolgens samen te voegen met de rest van het mapbook, maar dit verliest gelaagde pdf.

Hoe dan ook, dus ik heb de omvang en de rest van het kaartenboek ingesteld, maar ik heb nog een aantal problemen. Ik weet niet hoe de symbologie tussen de extent map en de grid maps in te stellen (d.w.z. een road label met een font van 200 is enorm op mijn grid maps). Een ander probleem is dat de schaalbalk klein is voor de mate-kaart en enorm is voor de rasterkaarten - ik heb het nodig voor beide schaaltypen. Een ander probleem is als ik annotaties opmaak voor de uitgebreide kaart om labels te omzeilen - ik kan het niet verbergen in de rasterkaarten. Ook kan ik rasters niet verbergen voor de mate-kaart (ze zijn te klein en ik wil ze niet laten zien).

Dus uiteindelijk is het een kwestie van hetzelfde labelen voor twee kaarttypen met verschillende schalen op dezelfde mxd - als ik de PDF's op een of andere manier zou kunnen samenvoegen zonder de gelaagde pdf-functie te verliezen, zou ik dit veel gemakkelijker kunnen doen.

1
Ik heb net je bericht gezien en deel enkele van je problemen met kaartautomatisering wanneer er verschillende schalen bij betrokken zijn. Het verbaast me echter dat je gelaagdheid verliest wanneer je PDF's bij elkaar voegt. Als ik het weekend een kans maak, zal ik een codevoorbeeld toevoegen om te laten zien dat dit kan werken - en zal ik ook proberen om links naar een aantal forum-berichten over ArcPy (en Data Driven Pages) te geven die dringend controle nodig hebben over referentie-gridintervallen .
toegevoegd de auteur UnkwnTech, de bron
Dit is een link naar het belangrijkste probleem dat ik heb met ArcPy dat ik het interval op referentieroosters/graticule niet kan wijzigen als reactie op de verschillende schalen van kaarten in een reeks ideas.arcgis.com/ideaView?id=087300000008MmJAAU#comments - stem er alsjeblieft op! Voor uw andere problemen zou ik u aanraden om voor elk een vraag te maken om uw kansen op het krijgen van elk antwoord te optimaliseren.
toegevoegd de auteur UnkwnTech, de bron

2 antwoord

Ik heb net een test uitgevoerd met de onderstaande code die ik heb geleend en afgekapt van de ArcGIS Desktop Blog .

import arcpy, os, string
#Create final output PDF file 
finalPdf = arcpy.mapping.PDFDocumentCreate(r"C:\Temp\test.pdf")

#Export Overview Map and append to final PDF file    
mxd = arcpy.mapping.MapDocument(r"C:\Temp\MyOverviewMap.mxd")
tmpPdf = r"C:\Temp\MyOverviewMap.pdf"
arcpy.mapping.ExportToPDF(mxd, tmpPdf)
finalPdf.appendPages(tmpPdf)
del mxd, tmpPdf

#Export Data Driven Pages and append to final PDF file    
mxd = arcpy.mapping.MapDocument(r"C:\Temp\MyAtlasPages.mxd")
tmpPdf = r"C:\Temp\MyAtlasPages.pdf"
ddp = mxd.dataDrivenPages
ddp.exportToPDF(tmpPdf, "ALL")
finalPdf.appendPages(tmpPdf)
del mxd, tmpPdf

del finalPdf

Ik gebruikte een kaart van de staten van Australië (polygonen) als mijn index en de steden van de wereld (punten) als de enige andere laag en beide in een lege kaart.

Mijn eerste Save was om C: \ Temp \ MyOverviewMap.mxd te maken en vervolgens deed ik Save om C: \ Temp \ MyAtlasPages.mxd te maken.

In die tweede kaart heb ik de Data Driven Pages Setup uitgevoerd en de kaart opgeslagen.

Van IDLE heb ik vervolgens de Python-code uitgevoerd en de gemaakte test.pdf bevat de indexkaart (die gelaagd was) en een kaartpagina voor elke Australische staat (die ook lagen).

Bijgevolg kan ik uw probleem niet reproduceren door gelaagde PDF's niet te bewaren wanneer u ze toevoegt.

Gebruikt u misschien iets anders dan ArcPy om PDF-bestanden samen te voegen en toe te voegen?

2
toegevoegd
Kun je misschien je "alles goed gaat tot in" -stappen gedetailleerd beschrijven, zodat ik kan proberen ze te volgen en je fout te reproduceren? De export van gegevensgestuurde pagina's naar PDF werkte voor mij altijd foutloos, dus ik denk dat je moet afwijken van de stappen die ik hierboven heb beschreven.
toegevoegd de auteur UnkwnTech, de bron
Hoi, sorry dat het zo lang duurde om te antwoorden, helemaal vergeten om hier te posten. Ja, ik heb een gratis programma gebruikt om pdf's samen te voegen, ik kwam vandaag pas echt met elkaar over. Alles gaat goed totdat ik probeer mijn gegevensgestuurde pagina's te exporteren en deze foutmelding krijg Runtime error : PageLayoutObject: Fout bij het exporteren van pagina's. Enig idee?
toegevoegd de auteur Vajura, de bron
mxd = arcpy.mapping.MapDocument (r "P: \ test_A3.mxd") tmpPdf = r "P: \ Test.pdf" ddp = mxd.dataDrivenPages ddp.exportToPDF (tmpPdf, "ALL") finalPdf.appendPages (tmpPdf) del mxd, tmpPdf del finalPdf 'code'
toegevoegd de auteur Vajura, de bron
Hoe zeg ik de code correct? in ieder geval krijg ik de foutmelding in het onderdeel ddp.exportToPDF
toegevoegd de auteur Vajura, de bron

Ik heb de code hier vanuit je reactie gekopieerd, zodat deze gemakkelijk kan worden opgemaakt.

mxd = arcpy.mapping.MapDocument(r"P:\test_A3.mxd") 
tmpPdf = r"P:\Test.pdf" 
ddp = mxd.dataDrivenPages 
ddp.exportToPDF(tmpPdf, "ALL") 
finalPdf.appendPages(tmpPdf) 
del mxd, tmpPdf 
del finalPdf

Als dit de totale code is, denk ik dat je "finalPdf.appendPages (tmpPdf)" -regel probeert om PDF-gegevens toe te voegen aan een bestandsnaam (r "P: \ Test.pdf") die als een string wordt opgeslagen.

U moet eerst een PDF-documentobject (met behulp van PDFDocumentCreate) uit die variabele maken. Misschien doe dit:

mxd = arcpy.mapping.MapDocument(r"P:\test_A3.mxd") 
tmpPdf = r"P:\Test.pdf" 
finalPdf = arcpy.mapping.PDFDocumentCreate(r"P:\Test.pdf")
ddp = mxd.dataDrivenPages 
ddp.exportToPDF(tmpPdf, "ALL") 
finalPdf.appendPages(tmpPdf) 
del mxd, tmpPdf 
del finalPdf
0
toegevoegd
Ja - er is een aantal goede hulp bij het maken van een scripttool van een Python-script op help.arcgis.com/en/arcgisdesktop/10.0/help/index.html #//& hellip;
toegevoegd de auteur UnkwnTech, de bron
Om de Vraag en Antwoord stroom overzichtelijk te houden, zou je hier een nieuwe Vraag voor kunnen stellen, alstublieft?
toegevoegd de auteur UnkwnTech, de bron
Hallo - ik had het maken pdf-objecten onderdeel - de mijne is vrijwel een kopie van de esri-code met mijn bestandsnamen. Hoe dan ook, omdat ik het niet kon krijgen, heb ik de kaarten geëxporteerd met behulp van gegevensgestuurde pagina's van de MXD's en vervolgens samengevoegd met de code hier help.arcgis.com/en/arcgisdesktop/10.0/help/index.html #//& hellip; (codevoorbeeld 1), wat hetzelfde is ding echt. Is er een manier om het uit te voeren als een toolbox-script?
toegevoegd de auteur Vajura, de bron
het andere probleem dat ik heb, is dat het mapboek allemaal hetzelfde wordt genoemd, bijvoorbeeld PDF123.tmp, wanneer ik zou willen dat ze Map 1 enz. heten. Hoe zou ik dit gaan veranderen? het gebeurt nadat ze zijn geëxporteerd vanuit gegevensgestuurde pagina's
toegevoegd de auteur Vajura, de bron