arcgis统计重复值及筛选重复值
# -*- coding: UTF-8 -*-
import arcpy
import pythonaddins
class ButtonClass3(object):
"""Implementation for tjcfz1_addin.button (Button)"""
def __init__(self):
self.enabled = True
self.checked = False
def onClick(self):
list_1 = []
with arcpy.da.SearchCursor(layer_dl, (foler)) as cursor: # , qry
for row in cursor:
list_1.append(row[0])
c = ['%s:%s个'%(n,list_1.count(n)) for n in list_1 if list_1.count(n) > 1]
c = list(set(c))
if len(c)>10:
pythonaddins.MessageBox(u'%s\n等共有%s个存在重复'%('\n'.join(c[:10]),len(c)), 'INFO', 0)
else:
pythonaddins.MessageBox('\n'.join(c[:10]), 'INFO', 0)
class ButtonClass4(object):
"""Implementation for tjcfz1_addin.button_1 (Button)"""
def __init__(self):
self.enabled = True
self.checked = False
def onClick(self):
list_1 = []
with arcpy.da.SearchCursor(layer_dl, (foler)) as cursor: # , qry
for row in cursor:
list_1.append(row[0])
try:
try:
c = ["'%s'" % n for n in list_1 if list_1.count(n) > 1]
list2 = list(set(c))
qry = '%s in (%s)'%(foler, ','.join(list2))
arcpy.SelectLayerByAttribute_management(layer_dl, "CLEAR_SELECTION")
arcpy.SelectLayerByAttribute_management(layer_dl, "ADD_TO_SELECTION", qry)
except:
c = [ n for n in list_1 if list_1.count(n) > 1]
list2 = list(set(c))
qry = '%s in (%s)' % (foler, ','.join('%s' %each for each in list2 ))
arcpy.SelectLayerByAttribute_management(layer_dl, "CLEAR_SELECTION")
arcpy.SelectLayerByAttribute_management(layer_dl, "ADD_TO_SELECTION", qry)
except:
try:
c = ["'%s'" % n for n in list_1 if list_1.count(n) > 1]
list2 = list(set(c))
qry = '"%s" in (%s)'%(foler, ','.join(list2))
arcpy.SelectLayerByAttribute_management(layer_dl, "CLEAR_SELECTION")
arcpy.SelectLayerByAttribute_management(layer_dl, "ADD_TO_SELECTION", qry)
except:
c = [ n for n in list_1 if list_1.count(n) > 1]
list2 = list(set(c))
qry = '"%s" in (%s)' % (foler, ','.join('%s' %each for each in list2 ))
arcpy.SelectLayerByAttribute_management(layer_dl, "CLEAR_SELECTION")
arcpy.SelectLayerByAttribute_management(layer_dl, "ADD_TO_SELECTION", qry)
class ComboBoxClass1(object):
"""Implementation for tjcfz1_addin.combobox (ComboBox)"""
def __init__(self):
self.items = ["item1", "item2", "", "", "", "", ""]
self.editable = True
self.enabled = True
self.dropdownWidth = 'WWWWWWWWW'
self.width = 'WWWWWWWWW'
def onSelChange(self, selection):
global layer_dl, layer1
layer_dl = selection
layer1 = self.list_lay[selection]
def onEditChange(self, text):
pass
def onFocus(self, focused):
if focused:
self.mxd = arcpy.mapping.MapDocument('current')
layers = arcpy.mapping.ListLayers(self.mxd)
self.items = []
self.list_lay = {}
for layer in layers:
self.items.append(layer.name)
self.list_lay[layer.name] = layer
def onEnter(self):
pass
def refresh(self):
pass
class ComboBoxClass2(object):
"""Implementation for tjcfz1_addin.combobox_1 (ComboBox)"""
def __init__(self):
self.items = ["item1", "item2", "", "", "", "", ""]
self.editable = True
self.enabled = True
self.dropdownWidth = 'WWWWWWWWW'
self.width = 'WWWWWWWWW'
def onSelChange(self, selection):
global foler
foler = selection
def onEditChange(self, text):
pass
def onFocus(self, focused):
if focused:
self.items = []
self.items.append('')
file = arcpy.ListFields(layer_dl)
for fld in file:
self.items.append(fld.name)
def onEnter(self):
pass
def refresh(self):
pass