Quelles sont les lignes vertes mystères dans la vue de présentation produites pendant l'exécution du script ArcObjects?

8

L'un des gourous d'ArcObjects pourrait-il me dire quelles sont ces lignes vertes sur ma mise en page et que faire ou ne pas faire pour qu'elles n'apparaissent pas? Voir l'image ci-jointe.

J'ai utilisé ArcObjects de Python. Mon script convertit des grilles de trame de données et des graticules en graphiques. En conséquence, je reçois un élément de groupe à partir duquel j'ai besoin d'extraire des éléments uniques (texte, lignes, etc.) afin de jouer avec eux. Cependant, après cette opération (qui est effectuée pour 3 grilles distinctes), je reçois ces mystérieuses lignes vertes, qui ne font pas partie de GraphicContainer. En fait, les lignes vertes n'apparaissent qu'après conversion et extraction à partir d'un réticule (WGS).

Il y a quelques conseils ici sur la façon de s'en débarrasser, ce qui fonctionne (couper et coller ou supprimer et restaurer tous les éléments de la page). Cependant, je voudrais tout de même les éviter en premier lieu. De plus, après certaines configurations de couper et coller, j'ai pensé que les lignes vertes disparaissent lorsque ces 3 éléments d'image (coin inférieur droit) sont supprimés et restaurés.

Code soupçonné d'être responsable de cela:

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()

Je sais qu'il y a une discussion en cours, si GIS.SE est le lieu approprié pour ces questions techniques spécifiques au logiciel. Je m'en excuse, mais je n'ai trouvé de réponse satisfaisante nulle part ailleurs.

Lignes vertes dans la mise en page

Tomek
la source
1
Grande question. Pour ce forum. Est-ce que cette ligne s'imprime?
Brad Nesom
Étonnamment, non, ils n'impriment pas. À un certain niveau de zoom arrière, ils peuvent disparaître, mais après le zoom avant, ils sont à nouveau présents. J'ai été inquiet, ce script a corrompu mon .mxd, mais après les opérations "couper-coller" ou "supprimer-annuler" mentionnées ci-dessus, elles disparaissent pour de bon. Je suppose donc que .mxd n'est pas corrompu. Vraiment, j'aimerais entendre quelques explications.
Tomek
Est-ce reproductible sur d'autres postes de travail? J'ai eu un problème similaire (bien que la cause et la solution soient différentes) et j'avais d'autres postes de travail qui n'avaient aucun problème (et certains qui en avaient). gis.stackexchange.com/questions/3546/…
Jay Cummins
J'ai essayé sur 3 postes de travail avec ArcGIS 10 et 10.1. Reproductible.
Tomek
Qu'obtenez-vous avec Sélectionner tous les éléments, Zoomer sur les éléments sélectionnés? Fait-il un zoom sur waaaaay? J'ai fait disparaître une image dans un endroit toujours inaccessible. J'ai magiquement (non reproductible) sélectionné et supprimé.
gm70560

Réponses:

5

Cette ligne me semble suspecte:

for i in range(pGE_no):

Si vous supprimez le ième élément du groupe, puis incrémentez i l'élément suivant n'est pas vraiment l'élément i + 1. Cela pourrait créer de la confusion.

Pour surmonter cela, essayez de boucler en arrière, commencez à pGE_no et décrémentez i.

Mise à jour

De plus, étant donné que vous parcourez tous les éléments du conteneur graphique, l'ajout d'un nouvel élément au niveau supérieur du conteneur pendant votre prochaine navigation peut être une autre cause de confusion. Au lieu de cela, faites peut-être une liste de tous les grouplements, puis parcourez la liste (au lieu du conteneur graphique) appelant MoveElementFromGroup. Si vous avez des groupes imbriqués, les choses deviennent un peu plus compliquées, vous devrez commencer par les feuilles et les tailler en premier.

Kirk Kuykendall
la source
Je n'ai pas vérifié les conseils de la mise à jour. Faire une boucle en arrière n'a rien changé. Je vais essayer de boucler la liste à la place du contenu graphique.
Tomek du
En fait, l'ajout d'un nouvel élément au conteneur lors de la prochaine en était la cause. Merci Kirk.
Tomek
Kirk, des pointeurs sur la façon d'extraire le groupe du groupe de la bonne manière (ou sur l'élément du groupe du groupe)? Everythig est ok avec tout autre élément mais l'élément de groupe ne veut pas coopérer. Des indices?
Tomek
0

Il ressemble aux guides et aux dirigeants.
cependant, il n'est pas possible de les faire s'arrêter et s'incliner (rayon).

dirigeants

La ligne persiste-t-elle si vous passez en mode données?
Cela pourrait vous dire si c'est quelque chose "sur" la vue de mise en page ou dans vos données.

vue des données
J'ai eu des anomalies qui ont fait quelque chose de similaire alors qu'une paire non valide (coordonnées) faisait partie d'une entité linéaire.
Vous pouvez essayer d'exécuter la géométrie de réparation sur vos données pour voir si cela les a supprimées.

réparation

Brad Nesom
la source
J'ai essayé de réparer toutes les géométries existantes sans changement. La verdure apparaît toujours. Je ne pense pas que celles-ci soient reliées aux directives. Je ne peux pas du tout interagir avec eux, ils apparaissent simplement.
Tomek