¿Podría algún gurú de ArcObjects decirme, qué son estas líneas verdes en mi diseño de página y qué hacer o no hacer para que no aparezcan? Ver imagen adjunta.
Utilicé ArcObjects de Python. Mi script está convirtiendo cuadrículas de datos y retículas en gráficos. Como resultado, recibo Group Element del que necesito extraer elementos individuales (texto, líneas, etc.) para jugar con ellos. Sin embargo, después de esta operación (que se realiza para 3 cuadrículas separadas) recibo esas misteriosas líneas verdes, que no son parte de GraphicContainer. En realidad, las líneas verdes aparecen solo después de la conversión y extracción de una retícula (WGS).
Hay una cierta dirección aquí acerca de cómo deshacerse de ellos, que funciona (cortar y pegar o borrar y recuperar todos los elementos de la página). Sin embargo, todavía me gustaría evitarlos en primer lugar. Además, después de algunas configuraciones de corte y pegado, pensé que las líneas verdes se desvanecen cuando esos 3 elementos de imagen (esquina inferior derecha) se eliminan y restauran.
Código sospechoso de ser responsable de esto:
pGCL.Reset() #reset graphics containere
pElem = pGCL.Next()
while pElem:
pEP3 = CType(pElem, esriCarto.IElementProperties3)
if pEP3.Name == '' and pEP3.Type == 'Group':
pGE = CType(pElem, esriCarto.IGroupElement3)
pGE_no = pGE.ElementCount
for i in range(pGE_no):
if pGE.ElementCount > 0:
pGEe = pGE.Element[0]
pGCL.MoveElementFromGroup(pGE, pGEe, 0)
else: break
pElem = pGCL.Next()
Sé que se está discutiendo si GIS.SE es el lugar apropiado para tales preguntas técnicas y específicas de software. Pido disculpas por esto, sin embargo, no encontré una respuesta satisfactoria en ningún otro lado.
Respuestas:
Esta línea me parece sospechosa:
Si elimina el i-ésimo elemento del grupo, entonces incremente i el siguiente elemento no es realmente el elemento i + 1. Esto puede causar confusión.
Para superar esto, intente hacer un bucle hacia atrás, comience en pGE_no y disminuya i.
Actualizar
Además, dado que está recorriendo todos los elementos en el contenedor de gráficos, agregar un nuevo elemento al nivel superior del contenedor mientras se conecta puede ser otra causa de confusión. En su lugar, quizás haga una lista de todos los grupos, luego repita la llamada a la lista (en lugar del contenedor de gráficos)
MoveElementFromGroup
. Si ha anidado grupos, las cosas se vuelven un poco más complicadas, deberá comenzar con las hojas y podarlas primero.fuente
Se parece a guías y gobernantes.
sin embargo, no es posible hacer que se detengan y estén en ángulo (rayo).
¿La línea persiste si cambia a la vista de datos?
Eso podría decirle si hay algo "en" la vista de diseño o en sus datos.
He tenido algunos anomally que hicieron algo similar que un par inválido (coordenadas) era parte de una función de línea.
Puede intentar ejecutar la reparación geomtery en sus datos para ver si eso la eliminó.
fuente