Yea, definitely... I left out my time-keeping bits and a some irrelevant processes in the beginning, but here's the rest:
# Imports...
import time
print "Start time:",time.ctime()
StartSecs = time.clock()
import Functions
import arcpy
import sys
import traceback
from arcpy import env
# Environments...
env.workspace = "C:/AF_WorkingFiles/AgHealth_Iowa/Databases/AHS_NitrateWells.mdb"
# User-defined variables...
Wells2 = "C:/.../FC_Wells2" #Input wells feature class
Wells3 = "C:/.../FC_Wells3" #Output feature class
AFOs = "C:/.../AFOs"
AFO_Confine = "C:/.../AFO_ConfinementOnly"
AFO_Feedlot = "C:/.../AFO_FeedlotOnly"
AFO_Mixed = "C:/.../AFO_MixedOnly"
Hogs = "C:/.../Hogs"
try:
# Delete fields if they exist...
(left out)
# Run near tool...
(left out)
# Create feature layer...
arcpy.MakeFeatureLayer_management(Wells2,"Wells2Lyr")
# Add count fields...
L2 = ["Count_10kmAFOs","Count_10kmConfmnts","Count_10kmFeedlots", \
"Count_10kmMixed","Count_10kmHogs"]
for item in L2:
arcpy.AddField_management("Wells2Lyr",item,"LONG")
# Create ancillary feature layers...
arcpy.MakeFeatureLayer_management(AFOs,"AFOLyr")
arcpy.MakeFeatureLayer_management(AFO_Confine,"ConfineLyr")
arcpy.MakeFeatureLayer_management(AFO_Feedlot,"FeedLyr")
arcpy.MakeFeatureLayer_management(AFO_Mixed,"MixedLyr")
arcpy.MakeFeatureLayer_management(Hogs,"HogLyr")
# ASSIGN COUNTS TO FIELDS
# Set variables...
SelNew = "NEW_SELECTION"
SelDist = "WITHIN_A_DISTANCE"
SelAddTo = "ADD_TO_SELECTION"
SelClear = "CLEAR_SELECTION"
# Assign counts to each row...
cur1 = arcpy.UpdateCursor("Wells2Lyr")
for row in cur1:
UnqKey = row.Concat_DatasetPrimkey
# Select well at row...
WhereClause = '[Concat_DatasetPrimkey]' + " = '" + UnqKey + "'"
arcpy.SelectLayerByAttribute_management("Wells2Lyr",SelNew,WhereClause)
# Select ancillary layers within 10km...
arcpy.SelectLayerByLocation_management("AFOLyr",SelDist,"Wells2Lyr",10000,SelAddTo)
arcpy.SelectLayerByLocation_management("ConfineLyr",SelDist,"Wells2Lyr",10000,SelAddTo)
arcpy.SelectLayerByLocation_management("FeedLyr",SelDist,"Wells2Lyr",10000,SelAddTo)
arcpy.SelectLayerByLocation_management("MixedLyr",SelDist,"Wells2Lyr",10000,SelAddTo)
arcpy.SelectLayerByLocation_management("HogLyr",SelDist,"Wells2Lyr",10000,SelAddTo)
# Count selected records in each layer and assign to appropriate fields...
row.Count_10kmAFOs = int(arcpy.GetCount_management("AFOLyr").getOutput(0))
row.Count_10kmConfmnts = int(arcpy.GetCount_management("ConfineLyr").getOutput(0))
row.Count_10kmFeedlots = int(arcpy.GetCount_management("FeedLyr").getOutput(0))
row.Count_10kmMixed = int(arcpy.GetCount_management("MixedLyr").getOutput(0))
row.Count_10kmHogs = int(arcpy.GetCount_management("HogLyr").getOutput(0))
cur1.updateRow(row)
# Clear all selected records...
arcpy.SelectLayerByAttribute_management("Wells2Lyr",SelClear)
arcpy.SelectLayerByAttribute_management("AFOLyr",SelClear)
arcpy.SelectLayerByAttribute_management("ConfineLyr",SelClear)
arcpy.SelectLayerByAttribute_management("FeedLyr",SelClear)
arcpy.SelectLayerByAttribute_management("MixedLyr",SelClear)
arcpy.SelectLayerByAttribute_management("HogLyr",SelClear)
# Create final feature class from results...
arcpy.CopyFeatures_management("Wells2Lyr",Wells3)
finally:
# Delete cursor...
del cur1, row
Thoughts??