Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I want to create a PDF document that can be printed at large poster size containing user created data and base map data. Based on a rough calculation, if the poster was 24 inches by 34 inches and I wanted a 200 dpi map, I would need a 4800x6800 pixel image of each service.

Unfortunately the max size exposed by the REST API is 2048x2048. So how do I get large images to embed into a PDF document for poster sized output maps? I would also like to include arcgis online base map services.

share|improve this question
    
Are you requiring that the pdf be generated in the client, or would it be acceptable to have a geoprocessing service generate it? –  Kirk Kuykendall May 18 '11 at 17:43
    
I planned on creating a web service to generate the pdf since data outside of arcgis server will also be used. But a geoprocessing service could work for me. –  Peter Smith May 18 '11 at 17:45
add comment

3 Answers 3

Before I wrote a pdf export gp service, I thought the max size would be an issue too., but it turned out not to be. I found that IActiveViewEvents.AfterDraw gets called very often - apparently the ExportPDF coclass draws the map in chunks (long strips actually).

With Bing maps ever so often a strip would be interspersed with low res tiles. I think the problem is that arcgis doesn't wait long enough for all the high res tiles to return - it just uses the low res tiles that arrive quickly. I tried to convince Esri that mapservicelayers should be configurable with a timeout but since the support group was not able to reproduce the issue they didn't see a need to make an enhance request.

share|improve this answer
add comment

If commercial software is an option, our Geocortex Essentials product is capable of creating large format map PDFs at high resolution.

Your PDF is generated out-of-process and smaller map images are fetched individually then stitched together. There's a REST interface for triggering the export and setting user-specific things (map markup, text for boxes, etc). We can combine maps from multiple services, including Bing Maps. Size and resolution are only limited by disk space and patience (it can take hours to do a poster-sized 1200DPI image)

One unfortunate side effect of printing at high resolution from an ArcGIS cached service is that the server will bump down to the next cache level if the visible scale is now closer to that level, so if you're going from screen to paper resolution, what you see is not necessarily what you get. This doesn't happen with dynamic services.

Disclaimer: I work for Latitude Geographics, though not directly on the Geocortex Essentials product.

share|improve this answer
    
Latitude's large format print capabilities are very impressive. –  Chad Cooper May 18 '11 at 20:42
add comment

I wrote a Print SOE which can produce a high quality map for large printouts. The trick I did is to consume the direct datasource instead of the mapservice itself.

It's written in Java, but runs on both AGS .Net and AGS Java. It's exposed through the REST API. Currently, there is a basic print widget available.

The sourcecode is included.

Link to the work: http://www.arcgis.com/home/item.html?id=6809086326ea4c76bf026a32bb9dd698

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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