Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # EXPORT SCREENs TO RASTERs
- import arcpy, traceback, os, sys, time
- from arcpy import env
- env.overwriteOutput = True
- outFolder=arcpy.GetParameterAsText(0)
- env.workspace = outFolder
- dpi=1200
- tempRaster=outFolder+os.sep+"victim.png"
- ## ERROR HANDLING
- def showPyMessage():
- arcpy.AddMessage(str(time.ctime()) + " - " + message)
- try:
- mxd = arcpy.mapping.MapDocument("CURRENT")
- ddp = mxd.dataDrivenPages
- thePagesLayer = arcpy.mapping.ListLayers(mxd,ddp.indexLayer.name)[0]
- # GET RECTANGLES
- g=arcpy.Geometry()
- geometryList=arcpy.CopyFeatures_management(thePagesLayer,g)
- # EXPORT PAGES
- df = arcpy.mapping.ListDataFrames(mxd)[0]
- fld = ddp.pageNameField.name
- Page_Names=arcpy.da.TableToNumPyArray(thePagesLayer, fld)
- for pageID in range(1, ddp.pageCount+1):
- ddp.currentPageID = pageID
- arcpy.RefreshActiveView()
- time.sleep(3)
- arcpy.mapping.ExportToPNG(mxd,tempRaster,df,dpi,world_file=True)
- fName=outFolder+os.sep+Page_Names[pageID-1][0]+".png"
- anExtent=geometryList[pageID-1].extent
- envelope='%f %f %f %f' %(anExtent.XMin, anExtent.YMin, anExtent.XMax, anExtent.YMax,)
- # CLIP EXPORTED BY PAGE RECTANGLE
- arcpy.Clip_management (tempRaster, envelope,fName)
- arcpy.AddMessage('%s processed' %fName)
- except:
- message = "n*** PYTHON ERRORS *** "; showPyMessage()
- message = "Python Traceback Info: " + traceback.format_tb(sys.exc_info()[2])[0]; showPyMessage()
- message = "Python Error Info: " + str(sys.exc_type)+ ": " + str(sys.exc_value) + "n"; showPyMessage()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement