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.
Antworten:
Diese Zeile erscheint mir verdächtig:
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.quelle
Es sieht ähnlich aus wie Führer und Herrscher.
Es ist jedoch nicht möglich, sie anzuhalten und abzuwinkeln (Strahl).
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.
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.
quelle