1 votos

Desagrupar elementos gráficos de ArcMap en Layout usando ArcPy

Quiero modificar elementos de texto en un diseño. Estos elementos de texto estaban agrupados. Los elementos agrupados se comportan como GraphicElement y es posible consultar la propiedad isGroup . No puedo modificar estos elementos de texto antes de desagruparlos.

enter image description here

¿Es posible desagrupar estos GraphicElements usando arcpy?

EDITAR:

Mi razonamiento para esta pregunta es falso. Como señala Alex Tereshenkov: puede modificar elementos de texto agrupados.

3voto

Alex Tereshenkov Puntos 13433

He probado el código en 10.3.1 y 10.5. No es necesario desagrupar el elemento gráfico para cambiar el texto de los elementos del grupo.

En otras palabras, debería poder modificar las propiedades (por ejemplo text ) de un TEXT_ELEMENT aunque esté agrupado y forme parte de un GRAPHIC_ELEMENT .

La imagen original:

enter image description here

>>> import arcpy.mapping as mp
>>> 
>>> mxd = mp.MapDocument('current')
>>> elems = mp.ListLayoutElements(mxd)
>>> t2 = elems[1]
>>> t2.type
u'TEXT_ELEMENT'
>>> t2.text
u'Text2'
>>> t2.text = 'Changed text 1'
>>> t2.text
'Changed text 1'

Los elementos de texto permanecen agrupados después de realizar los cambios.

enter image description here

También puedes desplazar los objetos:

>>> t1.elementPositionY
11.809199999999691
>>> t1.elementPositionY += 2

enter image description here

1voto

UnkwnTech Puntos 21942

Si hubiera una manera de hacer esto desde ArcPy entonces yo esperaría ver ungroup entre los métodos de la clase GraphicElement .

Como se puede ver en su documentación, no existe.

En consecuencia, tal vez desee considerar la posibilidad de buscar o presentar una Idea ArcGIS.

No hay ungroup para el método Clase GraphicElement para ArcPy con ArcGIS Pro tampoco.

1voto

Hameno Puntos 129

Esto se podría hacer usando python script para llamar arcobject LayoutTools_Ungroup comando utilizando comtypes, ver:

¿Acceso a ArcObjects desde Python?

y

Comandos de ArcMap

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