Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. ws = arcpy.env.workspace
  2. mxd = arcpy.mapping.MapDocument("CURRENT")
  3. data_frame = arcpy.mapping.ListDataFrames(mxd)[0]
  4. layer = parameters[0].valueAsText #GPFeature Layer
  5. field = parameters[1].valueAsText #field name
  6.  
  7. seach_layer = arcpy.mapping.Layer(layer)
  8. lfields = arcpy.ListFields(seach_layer.dataSource)
  9.  
  10. rows = arcpy.SearchCursor(layer, fields=field)
  11. #get they field type to use in query
  12. ftype = None
  13. for f in lfields:
  14. if f.name == field:
  15. ftype = f.type
  16. # get values for unique list
  17. value_list = []
  18. for row in rows:
  19. value = row.getValue(field)
  20. value_list.append(value)
  21.  
  22. unique = set(value_list)
  23. len_list = len(unique)
  24.  
  25. try:
  26. for name in unique:
  27. if ftype in ['Float','Double','SmallInteger']:
  28. where_clause = ""%s"=%s" %(field, name)
  29. else:
  30. where_clause = ""%s"='%s'" %(field, name)
  31.  
  32. temp = r"%s_temp_%s" %(layer, field)
  33.  
  34. # make a feature layer to an "outfile" that's in memory
  35. # add to TOC and leave up to user to save if they want
  36. arcpy.MakeFeatureLayer_management(layer, temp,
  37. where_clause)
  38.  
  39. except Exception as e:
  40. arcpy.AddError(e)
  41.  
  42. arcpy.MakeFeatureLayer_management(layer, temp, where_clause)
  43. arcpy.SetParameterAsText(0, temp)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement