Advertisement
Guest User

Untitled

a guest
Jun 30th, 2016
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.11 KB | None | 0 0
  1. import arcpy,datetime,os
  2. arcpy.env.overwriteoutput = True
  3. mxd = r"C:/GIS/Project.mxd"
  4. fc = r"X:/GIS/data.gdb/grid"
  5. field = "Species"
  6. datefield = "Season"
  7. output = r"C:/Alex/hidef_gisimport/Westlich_Adlergrund/TEST"
  8. printresulution = 150
  9. def multiMap(mxd,fc,field,datefield,output,printresulution):
  10. mxd2 = mxd
  11. mxd = arcpy.mapping.MapDocument(mxd2)
  12. data_frame = arcpy.mapping.ListDataFrames(mxd)[0]
  13. layer = arcpy.mapping.Layer(fc)
  14. layername = layer.name
  15. specieslist = []
  16. datelist = []
  17. cursor = arcpy.SearchCursor(fc)
  18. for row in cursor:
  19. if row.getValue(field) not in specieslist:
  20. specieslist.append(row.getValue(field))
  21. if row.getValue(datefield) not in datelist:
  22. datelist.append(row.getValue(datefield))
  23. counter = 0
  24. for tag in range(0,len(datelist)):
  25. counter += 1
  26. for specie in range(0,len(specieslist)):
  27. where_clause = "%s = '%s' AND %s = '%s'" % (field,specieslist[specie],datefield,datelist[tag])
  28. layer.definitionQuery = where_clause
  29. for lyr in arcpy.mapping.ListLayers(mxd, "Raster_grouplayer",arcpy.mapping.ListDataFrames(mxd)[0]):
  30. arcpy.mapping.AddLayerToGroup(arcpy.mapping.ListDataFrames(mxd)[0],lyr,layer,"TOP")
  31. mxd.save()
  32. layer.visible = True
  33. arcpy.RefreshTOC()
  34. arcpy.mapping.ExportToPNG(mxd, output + os.sep + specieslist[specie].replace(".","").replace(r"/","_").replace(",","_") + "_" + str(counter) + "_" + datelist[tag].replace(".","").replace("/","").replace(" ","_") + r".png",resolution=printresulution)
  35. mxd.save()
  36. del data_frame,mxd
  37. mxd = arcpy.mapping.MapDocument(mxd2)
  38. data_frame = arcpy.mapping.ListDataFrames(mxd)[0]
  39. layerlist = arcpy.mapping.ListLayers(mxd,"",data_frame)
  40. for element in layerlist:
  41. if element.name == layername:
  42. arcpy.mapping.RemoveLayer(data_frame,element)
  43. mxd.save()
  44. mxd = arcpy.mapping.MapDocument(mxd2)
  45. mxd.save()
  46. multiMap(mxd,fc,field,datefield,output,printresulution)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement