6 votos

Gestión de simbología en clases de entidad

Estoy usando una empresa db para almacenar mis datos y estoy escribiendo una herramienta de python que me permite interactuar con los datos en ArcMap. Sin embargo, todas mis capas que alguien tiene "OTRO" para la symbologyType (no sé por qué).

Lo que tengo que hacer es cambiar el tipo de símbolo para los puntos en cada uno de los FC. Está bien por ahora, sólo tiene que utilizar una sola característica tipo de símbolo, pero por supuesto no puedo hacer que cuando tengo el no admitido tipo de simbología.

¿Cómo puedo crear mi propia simbología de capa? Una vez que tengo algo que sé que me puede aplicar el uso de ApplySymbologyFromLayer_management()

Probablemente estoy perdiendo algo obvio aquí, pero si alguien pudiera ayudar a punto de salir se lo agradecería!

Edit (para que quede claro, yo sé que puedo cambiar la simbología de las propiedades de la capa, pero quiero ser capaz de secuencia de comandos de control de una herramienta de python):

Aquí están las características

point features

Aquí está el symobology referencia

symbologyType check

Aquí es las propiedades de la capa

layer properties

2voto

Alex Tereshenkov Puntos 13433

En cuanto a mi conocimiento, por desgracia, no hay una manera de actualizar una capa en la tabla de contenido que tiene "OTROS" tipo de simbología directamente. Si su symbologyType = "OTROS", como usted ha notado, que significa que usted no es capaz de alterar las propiedades de simbología para aquellos simbología de las clases admitidas en el apartado 10.2. Esto es debido a que sólo un número limitado de simbología de clases y propiedades que están expuestos a arcpy.módulo de cartografía de ahora. Desde Esri Ayuda:

Si un valor de la OTRA se devuelve, entonces la capa de la simbología no puede ser modificado.

La única manera de cambiar esta simbología tipo mediante el uso de arcpy es la actualización de la capa de primero (UpdateLayer). Fue así desde 10.0 y nada ha cambiado en la versión 10.1/10.2 respecto a la situación en la que tienen "OTROS" tipo de simbología.

import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")
df = arcpy.mapping.ListDataFrames(mxd, "County Maps")[0]
updateLayer = arcpy.mapping.ListLayers(mxd, "Rivers", df)[0]
sourceLayer = arcpy.mapping.Layer(r"C:\Project\Data\Rivers.lyr")
arcpy.mapping.UpdateLayer(df, updateLayer, sourceLayer, True)

Después de haber hecho la actualización de la capa de símbolo Único (como lo tengo ahora) con algún pardillo .archivo lyr que iba a cambiar, dicen, se Graduó de colores, usted debería ser capaz de empezar a cambiar las propiedades individuales de la simbología (véase el ejemplo de las cuatro de la Capa).

if lyr.symbologyType == "GRADUATED_COLORS":
  lyr.symbology.valueField = "POP2000"
  lyr.symbology.numClasses = 4
  lyr.symbology.classBreakValues = [250000, 999999, 4999999, 9999999, 35000000]
  lyr.symbology.classBreakLabels = ["250,000 to 999,999", "1,000,000 to 4,999,999",

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