5 votos

Cómo cambiar el número de dígitos decimales en arcmap en la simbología

Estoy utilizando ArcMap 10.3. En la simbología, hay 6 dígitos decimales para las diferentes clases de la variable que estoy presentando. Me gustaría mostrar sólo 3 dígitos decimales. Puedo editar la etiqueta y cambiar los decimales manualmente para cada clase. ¿Hay alguna forma más rápida de hacer esto para todas las clases en ArcMap 10.3? enter image description here

1 votos

Ver las preguntas y respuestas aquí ya que hay una forma muy sencilla de hacerlo.

2 votos

@Hornbydd, sí, ¡eso es un poco más fácil! El vinculado probablemente debería ser cerrado (fusionado) y puedes publicar tu respuesta aquí.

0 votos

@Paul, no sé, me ha gustado tu código que será útil para otros (incluido yo) y es una solución... La mía es simplemente más sencilla ;) Además, ¿qué usaste para grabar esa imagen en movimiento?

9voto

Örjan Jämte Puntos 3127

Esto se puede lograr con la función arcpy.mapping módulo. Lo siguiente debería funcionar siempre que su simbología sea GraduatedColorsSymbology . Sólo tienes que pegar en la ventana de python y ejecutar la función con el nombre de tu capa y el número de decimales. Dado que está utilizando el built-in de Python round() se pueden utilizar incluso números negativos.

def trunclabels(lyrname, n):

    mxd = arcpy.mapping.MapDocument("CURRENT")
    df = arcpy.mapping.ListDataFrames(mxd)[0]
    lyr = arcpy.mapping.ListLayers(mxd, lyrname, df)[0]         

    labels = lyr.symbology.classBreakLabels
    #split the labels, cast to float, round, then join back together
    lyr.symbology.classBreakLabels = ["{} - {}".format(*r)
                                      for r in [[round(float(f), n)
                                                 for f in lab.split(" - ")]
                                                for lab in labels]]

    arcpy.RefreshTOC()
    del mxd, df

enter image description here

0 votos

¿sabe cómo hacer esto en ArcGIS Pro? Cuando intento utilizar trunclabels Me aparece el siguiente error: AttributeError: module 'arcpy.mp' has no attribute 'ListDataFrames'

0 votos

@MattA. Pro no tiene el concepto de marcos de datos. En lugar de eso, se listarían mapas. Ver aquí para más información.

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