2

I am using arcmap 10.2.2

I have a document that has 31 data driven pages on it. Each page is in the 1:6500 scale, and I have a background map consisting of 15 different shapefiles for a county (like river, roads, builidings etc).

When I print this, it takes a very long time. I tried with 1, and that goes ok. But 5 takes like 20 minutes, and I am unsuccesful printing any more than that. On the bottom left bar in my arcmap, it says "Drawing roads.shp, Drawing buildings.shp" over and over and over. It's like it's stuck in a loop, even though it managed to print 5 pages after quite some time. I tried to read up on this, but I can't find anyone with the problem. Is there anything I do wrong? I've tried exporting the map to a pdf, but the same problem comes up there as well.

1
  • Are you exporting your pages to PDF with layers and attributes? If you are, turn that off and it'll decrease size and increase performance.
    – Adam Kara
    Commented Apr 27, 2016 at 11:03

2 Answers 2

2

No, you are not doing something wrong.

Actually, a few minutes print time for a highly detailed vector basemap with maybe a few dozen vector layers, is not bad at all! The amount of processing needed to convert this to something printable, is quite considerable.

The particular behaviour you are seeing, with repeated cycles of the same layer names appearing in a kind of loop, is actually normal and quite typical of exporting or printing a layout in ArcMap. It has to do with the display pipeline of ArcMap, and this is one of the areas where the new ArcGIS Pro significantly differs from ArcMap.

This behaviour is triggered and determined by having vector layers with transparency set over raster layers, like WM(T)S basemaps. When you export your map, ArcMap may need to rasterize some of the vector layers depending on how you stacked the layers in the TOC. This process seems to be done in small chunks / tiles across the printed area, hence the repeated redrawing of the same layers.

The amount of times the layers are re-drawn, seems directly related to print resolution in a quadratic way. If you set a very high print resolution (e.g. on exporting of a PDF you set a 1200 or 2400 ppi resolution), the printing or exporting time may thus become prohibitive compared to printing in more "normal" resolutions of 300-600 ppi.

E.g., if you set a 300 ppi resolution, and it takes 2 minutes to export, then the equivalent print on 2400 ppi may take 2 min x (2400/300) x (2400/300) = 2 min x 8 x 8 = 128(!) minutes... so more than 2 hours!

So try reducing the printing resolution to say 300 or 450 ppi any time you use transparency in your maps.

NOTE: this issue does not occur in 100% vector maps. You can safely export to 1200 or 2400 ppi without significant delays (I have done that hundreds of times with complex A0 size layouts). And yes, a higher resolution will improve the quality of exported vector (PDF) output, especially things like text halos will render much better at higher ppi output. You may not notice the difference when viewing the PDF in Adobe Reader at 100 % zoom, you will notice the difference in quality when zooming in to maybe 1600 % in Adobe Reader. It may actually sound surprising that changing the ppi settings, affects 100 % vector output at all, but this is caused by the fact that stuff like halos, aren't stored as true vector curves like fonts / glyphs are, but instead stored as small straight line segments in the output. The higher the ppi, the more detailed and more faithfull the resulting "pseudo-curve" will be.

Lastly, I do strongly recommend you to first export your data driven page layouts to PDF, and then print the PDFs instead of printing straight from ArcMap. This way, you only need to take the hit of the ArcGIS exporting time once, and can re-print the layout any time you desire. Additionally, you have full control over the exported ppi resolution by setting it upon export to PDF.

1
  • I guess I was wrong to print directly to the printer or pdf. Exporting to PDF seems like the best option. Thanks. Commented Apr 27, 2016 at 12:14
2

Whenever I have to export many data driven pages, I use a Python script to do all the heavy lifting in the background without having to babysit - and I think it's faster, it feels faster.

More or less like the documentation here:

import arcpy
import re
from arcpy import env
import os.path

env.workspace = "q:\\yourfolder"
sCur = arcpy.SearchCursor("q:y\\your.shp")

for row in sCur:
   pagename = re.sub('[^\w\-_\. ]', '_', row.yourPageID)
   mxd = arcpy.mapping.MapDocument(r"q:\\yourmapdocument.mxd")
        pageID = mxd.dataDrivenPages.getPageIDFromName(str(row.yourPageID))
        mxd.dataDrivenPages.currentPageID = pageID       
        arcpy.mapping.ExportToPDF(mxd, r"D:\\yourfolder" + str(pagename) + ".pdf",resolution=150)

        del mxd       

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.