Advertisement
Guest User

Untitled

a guest
Apr 28th, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. # EXPORT SCREENs TO RASTERs
  2. import arcpy, traceback, os, sys, time
  3. from arcpy import env
  4. env.overwriteOutput = True
  5. outFolder=arcpy.GetParameterAsText(0)
  6. env.workspace = outFolder
  7. dpi=1200
  8. tempRaster=outFolder+os.sep+"victim.png"
  9.  
  10. ## ERROR HANDLING
  11. def showPyMessage():
  12. arcpy.AddMessage(str(time.ctime()) + " - " + message)
  13.  
  14. try:
  15. mxd = arcpy.mapping.MapDocument("CURRENT")
  16. ddp = mxd.dataDrivenPages
  17. thePagesLayer = arcpy.mapping.ListLayers(mxd,ddp.indexLayer.name)[0]
  18. # GET RECTANGLES
  19. g=arcpy.Geometry()
  20. geometryList=arcpy.CopyFeatures_management(thePagesLayer,g)
  21. # EXPORT PAGES
  22. df = arcpy.mapping.ListDataFrames(mxd)[0]
  23. fld = ddp.pageNameField.name
  24. Page_Names=arcpy.da.TableToNumPyArray(thePagesLayer, fld)
  25. for pageID in range(1, ddp.pageCount+1):
  26. ddp.currentPageID = pageID
  27. arcpy.RefreshActiveView()
  28. time.sleep(3)
  29. arcpy.mapping.ExportToPNG(mxd,tempRaster,df,dpi,world_file=True)
  30. fName=outFolder+os.sep+Page_Names[pageID-1][0]+".png"
  31. anExtent=geometryList[pageID-1].extent
  32. envelope='%f %f %f %f' %(anExtent.XMin, anExtent.YMin, anExtent.XMax, anExtent.YMax,)
  33. # CLIP EXPORTED BY PAGE RECTANGLE
  34. arcpy.Clip_management (tempRaster, envelope,fName)
  35. arcpy.AddMessage('%s processed' %fName)
  36. except:
  37. message = "n*** PYTHON ERRORS *** "; showPyMessage()
  38. message = "Python Traceback Info: " + traceback.format_tb(sys.exc_info()[2])[0]; showPyMessage()
  39. message = "Python Error Info: " + str(sys.exc_type)+ ": " + str(sys.exc_value) + "n"; showPyMessage()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement