Advertisement
Guest User

Untitled

a guest
Oct 21st, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.38 KB | None | 0 0
  1. import arcpy
  2. import DistrictConfig
  3. import logging
  4. import logging.handlers
  5. import ConfigParser
  6.  
  7. LOGGER_NAME = 'korterra_district'
  8. arcpy.env.workspace = "C:KorTerraTablestables_db.gdb"
  9. arcpy.env.overwriteOutput = True
  10. from datetime import datetime
  11. startTime = datetime.now()
  12. logger = logging.getLogger(LOGGER_NAME)
  13.  
  14. distfc = DistrictConfig.distfc
  15. linefc = DistrictConfig.linefc
  16. polyfc = DistrictConfig.polyfc
  17. totalexpression = DistrictConfig.TotalExpression
  18. totalscline = DistrictConfig.TotalSCLine
  19. totalscpoly = DistrictConfig.TotalSCPoly
  20. statsfield = DistrictConfig.StatsField
  21. fields = DistrictConfig.fields
  22. totalCalc = DistrictConfig.TotalCalc
  23. mkfeaturelayer = arcpy.MakeFeatureLayer_management()
  24.  
  25.  
  26. class GeodatabaseConnection:
  27. """ Defines a connection to a geodatabase """
  28. def __init__(DistrictConfig):
  29.  
  30. def DistrictFunction(DistrictConfig, distfc, linefc, totalexpression, totalscline, statsfield, fields, totalCalc):
  31. print "Calculating Total Line Tickets per District"
  32. arcpy.MakeFeatureLayer_management(linefc, "line_layer_test_total", totalexpression)
  33. arcpy.Statistics_analysis("line_layer_test_total", totalscline , statsfield, "DISTRICT")
  34. arcpy.JoinField_management(distfc, "NAME", totalscline, "DISTRICT", fields)
  35.  
  36. with arcpy.da.UpdateCursor(distfc, ["FREQUENCY"]) as cursor:
  37. for row in cursor:
  38. if row[0] == None:
  39. row[0] = 0
  40. cursor.updateRow(row)
  41.  
  42. #Calculate and Join Totals per District Polys
  43. arcpy.MakeFeatureLayer_management(polyfc, "poly_layer_test_total", totalexpression)
  44. arcpy.Statistics_analysis("poly_layer_test_total", totalscpoly , statsfield, "DISTRICT")
  45. arcpy.JoinField_management(distfc, "NAME", totalscpoly, "DISTRICT", fields)
  46.  
  47. with arcpy.da.UpdateCursor(distfc, ["FREQUENCY_1"]) as cursor:
  48. for row in cursor:
  49. if row[0] == None:
  50. row[0] = 0
  51. cursor.updateRow(row)
  52. arcpy.CalculateField_management(distfc, "TOTAL_LONG", TotalCalc)
  53. arcpy.DeleteField_management(distfc, ["FREQUENCY", "FREQUENCY_1"])
  54.  
  55. def SummaryStats(DistrictConfig):
  56. try:
  57. DistrictFunction(DistrictConfig, distfc, linefc, totalexpression, totalscline, statsfield, fields, totalCalc)
  58. except Exception as e:
  59. logger.info(e.message, exc_info=True)
  60. raise e
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement