¿Qué son las misteriosas líneas verdes en la Vista de diseño producidas durante la ejecución del script de ArcObjects?


8

¿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.

Líneas verdes en el diseño de página


1
Gran pregunta Para este foro ¿Se imprime esta línea?
Brad Nesom

Sorprendentemente, no, no imprimen. En cierto nivel de alejamiento, pueden desaparecer, pero después de acercar están nuevamente presentes. Me ha preocupado, ese script corrompió mi .mxd, pero después de las operaciones de "cortar-pegar" o "eliminar-deshacer" mencionadas anteriormente, desaparecen para siempre. Así que supongo que .mxd no está dañado. Realmente, me gustaría escuchar algunas explicaciones.
Tomek

¿Es esto reproducible en otras estaciones de trabajo? Tuve un problema similar (aunque con una causa y solución diferentes) y otras estaciones de trabajo que no tenían problemas (y algunos sí). gis.stackexchange.com/questions/3546/…
Jay Cummins

Probé en 3 estaciones de trabajo con ArcGIS 10 y 10.1. Reproducible.
Tomek

¿Qué obtienes con Seleccionar todos los elementos, Zoom a elementos seleccionados? ¿Se aleja muuuucho? Tenía una imagen desaparecer en un lugar siempre inaccesible. Mágicamente (no reproducible) seleccioné y borré.
gm70560

Respuestas:


5

Esta línea me parece sospechosa:

for i in range(pGE_no):

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.


No revisé los consejos de la actualización. Dar vueltas hacia atrás no cambió nada. Intentaré recorrer la lista en lugar de graphicscontainer.
Tomek

De hecho, la causa fue agregar un nuevo elemento al contenedor mientras se realizaba el nexo. Gracias Kirk
Tomek

Kirk, ¿alguna sugerencia sobre cómo extraer el grupo del grupo de la manera correcta (o el grupo de forma de elemento DEL grupo)? Todo está bien con cualquier otro elemento, pero el elemento de grupo no quiere cooperar. ¿Alguna pista?
Tomek

0

Se parece a guías y gobernantes.
sin embargo, no es posible hacer que se detengan y estén en ángulo (rayo).

gobernantes

¿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.

vista de 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ó.

reparar


Traté de reparar todas las geometrías que hay sin cambios. El liness verde todavía aparece. No creo que esos estén sujetos a pautas. No puedo interactuar con ellos en absoluto, simplemente aparecen.
Tomek
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.