Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import arcpy
- import DistrictConfig
- import logging
- import logging.handlers
- import ConfigParser
- LOGGER_NAME = 'korterra_district'
- arcpy.env.workspace = "C:KorTerraTablestables_db.gdb"
- arcpy.env.overwriteOutput = True
- from datetime import datetime
- startTime = datetime.now()
- logger = logging.getLogger(LOGGER_NAME)
- distfc = DistrictConfig.distfc
- linefc = DistrictConfig.linefc
- polyfc = DistrictConfig.polyfc
- totalexpression = DistrictConfig.TotalExpression
- totalscline = DistrictConfig.TotalSCLine
- totalscpoly = DistrictConfig.TotalSCPoly
- statsfield = DistrictConfig.StatsField
- fields = DistrictConfig.fields
- totalCalc = DistrictConfig.TotalCalc
- mkfeaturelayer = arcpy.MakeFeatureLayer_management()
- class GeodatabaseConnection:
- """ Defines a connection to a geodatabase """
- def __init__(DistrictConfig):
- def DistrictFunction(DistrictConfig, distfc, linefc, totalexpression, totalscline, statsfield, fields, totalCalc):
- print "Calculating Total Line Tickets per District"
- arcpy.MakeFeatureLayer_management(linefc, "line_layer_test_total", totalexpression)
- arcpy.Statistics_analysis("line_layer_test_total", totalscline , statsfield, "DISTRICT")
- arcpy.JoinField_management(distfc, "NAME", totalscline, "DISTRICT", fields)
- with arcpy.da.UpdateCursor(distfc, ["FREQUENCY"]) as cursor:
- for row in cursor:
- if row[0] == None:
- row[0] = 0
- cursor.updateRow(row)
- #Calculate and Join Totals per District Polys
- arcpy.MakeFeatureLayer_management(polyfc, "poly_layer_test_total", totalexpression)
- arcpy.Statistics_analysis("poly_layer_test_total", totalscpoly , statsfield, "DISTRICT")
- arcpy.JoinField_management(distfc, "NAME", totalscpoly, "DISTRICT", fields)
- with arcpy.da.UpdateCursor(distfc, ["FREQUENCY_1"]) as cursor:
- for row in cursor:
- if row[0] == None:
- row[0] = 0
- cursor.updateRow(row)
- arcpy.CalculateField_management(distfc, "TOTAL_LONG", TotalCalc)
- arcpy.DeleteField_management(distfc, ["FREQUENCY", "FREQUENCY_1"])
- def SummaryStats(DistrictConfig):
- try:
- DistrictFunction(DistrictConfig, distfc, linefc, totalexpression, totalscline, statsfield, fields, totalCalc)
- except Exception as e:
- logger.info(e.message, exc_info=True)
- raise e
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement