2 votos

¿Seleccionar sólo atributos mixtos (números de casa mezclados con otros caracteres y símbolos) en ArcGIS Desktop?

En ArcGIS, tengo una tabla de atributos con números de viviendas, es decir, numéricos y mixtos.

Quiero seleccionar sólo números de vivienda mixtos.

Mixtos significa números de casa mezclados con otros caracteres y símbolos, por ejemplo 65g, 0665, 75-a, a-b, 44-65, etc.

1voto

Anton8000 Puntos 165

Puedes utilizar arcpy y la cadena método isdigit :

El método isdigit() comprueba si la cadena está formada por dígitos únicamente.

Si la cadena no tiene todos los dígitos, el id del objeto se añade a una lista. A continuación, la lista se utiliza en los atributos select by:

import arcpy

table = r'Houses' #Change to match the name of your layer in table of contents of ArcMap
adress_field_name = 'Adress' #Change to match the name of your adress field

oid_field = arcpy.Describe(table).OIDFieldName
oids_to_select = []

with arcpy.da.SearchCursor(table,[adress_field_name,oid_field]) as cursor:
    for row in cursor:
        if not row[0].isdigit(): #if you also want records starting with zero use: if (not row[0].isdigit() or (row[0].startswith('0') and row[0].isdigit())):
            oids_to_select.append(row[1])

sql = """{0} IN({1})""".format(arcpy.AddFieldDelimiters(table, oid_field),','.join([str(oid) for oid in oids_to_select]))
arcpy.SelectLayerByAttribute_management(in_layer_or_view=table, where_clause=sql)

Ejecutar en la ventana de Python con la clase de característica añadida al mapa: enter image description here

1voto

Son of a Beach Puntos 184

Si tu espacio de trabajo es una base de datos MS SQL (¿u otro SDE?) prueba esto:

arcpy.SelectLayerByAttribute_management(in_layer_or_view=table, where_clause = "ISNUMERIC( fieldName) = 0")

No lo he probado a fondo, pero funciona en un conjunto de datos sencillo con el que hice pruebas.

Nota: Los registros con un punto decimal y/o un "-" inicial pueden considerarse numéricos. Por lo tanto, depende de si sus datos contienen dichos valores y de si desea incluirlos o no.

La documentación es aquí .

Esto no funcionará con archivos GDB o shapefiles.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X