Was sind mysteriöse grüne Linien in der Layoutansicht, die während der Ausführung des ArcObjects-Skripts erzeugt werden?


8

Könnte mir einer der ArcObjects-Guru sagen, was diese grünen Linien in meinem Seitenlayout sind und was zu tun ist oder nicht, damit sie nicht angezeigt werden? Siehe Bild im Anhang.

Ich habe ArcObjects von Python verwendet. Mein Skript konvertiert Datenrahmengitter und Raster in Grafiken. Als Ergebnis erhalte ich ein Gruppenelement, aus dem ich einzelne Elemente (Text, Zeilen usw.) extrahieren muss, um mit ihnen zu spielen. Nach dieser Operation (die für 3 separate Gitter ausgeführt wird) erhalte ich jedoch diese mysteriösen grünen Linien, die nicht Teil von GraphicContainer sind. Tatsächlich erscheinen grüne Linien erst nach Umwandlung und Extraktion aus einem Gitter (WGS).

Hier finden Sie einige Anleitungen , wie Sie sie entfernen können. Dies funktioniert (Ausschneiden und Einfügen oder Löschen und Wiederherstellen aller Seitenelemente). Ich möchte sie jedoch trotzdem vermeiden. Nach einigen Konfigurationen zum Ausschneiden und Einfügen stellte ich fest, dass grüne Linien verschwinden, wenn diese 3 Bildelemente (untere rechte Ecke) gelöscht und wiederhergestellt werden.

Code, der vermutlich dafür verantwortlich ist:

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

Ich weiß, es wird diskutiert, ob GIS.SE für solche technischen, softwarespezifischen Fragen geeignet ist. Ich entschuldige mich dafür, habe aber nirgendwo anders eine zufriedenstellende Antwort gefunden.

Grüne Linien im Seitenlayout


1
Gute Frage. Für dieses Forum. Wird diese Zeile gedruckt?
Brad Nesom

Überraschenderweise - nein, sie drucken nicht. Bei einer bestimmten Verkleinerungsstufe können sie verschwinden, aber nach dem Vergrößern sind sie wieder vorhanden. Ich habe mir Sorgen gemacht, dass das Skript meine .mxd-Datei beschädigt hat, aber nach den oben genannten Vorgängen zum Ausschneiden, Einfügen und Löschen und Rückgängigmachen verschwinden sie endgültig. Ich gehe also davon aus, dass .mxd nicht beschädigt ist. Wirklich, ich würde gerne einige Erklärungen hören.
Tomek

Ist dies auf anderen Workstations reproduzierbar? Ich hatte ein ähnliches Problem (obwohl unterschiedliche Ursache und Lösung) und ich hatte andere Workstations, die keine Probleme hatten (und einige, die dies taten). gis.stackexchange.com/questions/3546/…
Jay Cummins

Ich habe 3 Workstations mit ArcGIS 10 und 10.1 ausprobiert. Reproduzierbar.
Tomek

Was erhalten Sie mit Alle Elemente auswählen, Auf ausgewählte Elemente zoomen? Zoomt es waaaaay heraus? Ich ließ ein Bild an einer immer unzugänglichen Stelle verschwinden. Ich habe magisch (nicht reproduzierbar) ausgewählt und gelöscht.
gm70560

Antworten:


5

Diese Zeile erscheint mir verdächtig:

for i in range(pGE_no):

Wenn Sie das i-te Element aus der Gruppe entfernen, ist das Inkrementieren des nächsten Elements nicht wirklich das i + 1-Element. Dies kann zu Verwirrung führen.

Um dies zu überwinden, versuchen Sie, eine Rückwärtsschleife durchzuführen, beginnen Sie bei pGE_no und dekrementieren Sie i.

Aktualisieren

Da Sie alle Elemente im Grafikcontainer durchlaufen, kann das Hinzufügen eines neuen Elements zur obersten Ebene des Containers während des nächsten Durchgangs eine weitere Ursache für Verwirrung sein. Erstellen Sie stattdessen möglicherweise eine Liste aller Gruppierungen und durchlaufen Sie dann den Aufruf der Liste (anstelle des Grafikcontainers) MoveElementFromGroup. Wenn Sie verschachtelte Gruppen haben, werden die Dinge etwas komplizierter. Sie müssen mit den Blättern beginnen und diese zuerst zurückschneiden.


Ich habe den Rat vom Update nicht überprüft. Rückwärtsschleifen änderte nichts. Ich werde versuchen, die Liste stattdessen als Grafikcontainer zu schleifen.
Tomek

In der Tat war das Hinzufügen eines neuen Elements zum Container während des nächsten die Ursache. Danke Kirk.
Tomek

Kirk, gibt es Hinweise, wie man eine Gruppe richtig aus einer Gruppe extrahiert (oder ein Element aus einer Gruppe aus einer Gruppe)? Alles ist in Ordnung mit jedem anderen Element, aber das Gruppenelement möchte nicht kooperieren. Irgendwelche Hinweise?
Tomek

0

Es sieht ähnlich aus wie Führer und Herrscher.
Es ist jedoch nicht möglich, sie anzuhalten und abzuwinkeln (Strahl).

Lineale

Bleibt die Zeile bestehen, wenn Sie zur Datenansicht wechseln?
Das könnte Ihnen sagen, ob es sich um etwas "in" der Layoutansicht oder in Ihren Daten handelt.

Datenansicht
Ich hatte eine Anomalie, die etwas Ähnliches tat, als ein ungültiges Paar (Koordinaten) Teil einer Linienfunktion war.
Sie können versuchen, die Reparatur-Geometrie für Ihre Daten auszuführen, um festzustellen, ob sie dadurch entfernt wurden.

Reparatur


Ich habe versucht, alle dort vorhandenen Geometrien ohne Änderung zu reparieren. Grüne Lilien erscheinen immer noch. Ich glaube nicht, dass diese in Richtlinien umgewandelt werden. Ich kann überhaupt nicht mit ihnen interagieren, sie erscheinen einfach.
Tomek
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.