Apakah garis hijau misteri dalam Tampilan Layout yang dihasilkan selama eksekusi skrip ArcObjects?

8

Bisakah salah satu guru ArcObjects memberi tahu saya, apa saja garis-garis hijau pada Layout Halaman saya dan apa yang harus dilakukan, atau tidak dilakukan, sehingga tidak muncul? Lihat gambar terlampir.

Saya menggunakan ArcObjects dari Python. Script saya mengubah grid dan graticules data frame menjadi grafik. Sebagai hasilnya, saya menerima Elemen Grup dari mana saya perlu mengekstraksi elemen tunggal (teks, garis, dll.) Untuk bermain dengannya. Namun, setelah operasi ini (yang dilakukan untuk 3 grid terpisah) saya menerima garis hijau misterius itu, yang bukan bagian dari GraphicContainer. Sebenarnya, garis hijau muncul hanya setelah konversi dan ekstraksi dari one-graticule (WGS).

Ada beberapa panduan di sini tentang cara menghilangkannya, yang berfungsi (potong dan tempel atau hapus dan hapus semua elemen halaman). Namun, saya masih ingin menghindari mereka sejak awal. Juga, setelah beberapa konfigurasi pemotongan dan tempel saya pikir bahwa garis hijau menghilang ketika 3 elemen gambar (sudut kanan bawah) dihapus dan dipulihkan.

Kode yang diduga bertanggung jawab untuk ini:

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

Saya tahu ada beberapa diskusi yang sedang berlangsung, apakah GIS.SE adalah tempat yang tepat untuk pertanyaan spesifik teknis dan perangkat lunak tersebut. Saya minta maaf untuk ini, namun, saya tidak menemukan jawaban yang memuaskan di tempat lain.

Garis hijau di Layout halaman

Tomek
sumber
1
Pertanyaan yang bagus Untuk forum ini. Apakah baris ini dicetak?
Brad Nesom
Ternyata- tidak, mereka tidak mencetak. Pada tingkat zoom out tertentu, mereka mungkin menghilang, tetapi setelah memperbesar mereka hadir kembali. Saya khawatir, skrip itu benar-benar merusak .mxd saya, tetapi setelah operasi "cut-paste" atau "delete-undo" yang disebutkan di atas, mereka menghilang untuk selamanya. Jadi saya berasumsi .mxd tidak rusak. Sungguh, saya ingin mendengar beberapa penjelasan.
Tomek
Apakah ini dapat direproduksi di workstation lain? Saya memiliki masalah yang sama (walaupun penyebab & solusi berbeda) dan saya memiliki workstation lain yang tidak memiliki masalah (dan beberapa yang melakukannya). gis.stackexchange.com/questions/3546/…
Jay Cummins
Saya mencoba 3 workstation dengan ArcGIS 10 dan 10.1. Reproduksi
Tomek
Apa yang Anda dapatkan dengan Pilih semua elemen, Zoom ke elemen yang Dipilih? Apakah tampilannya zoom out? Saya memiliki gambar menghilang ke tempat yang selalu tidak dapat diakses. Saya secara ajaib (tidak dapat direproduksi) memilih dan menghapus.
gm70560

Jawaban:

5

Baris ini terlihat mencurigakan bagi saya:

for i in range(pGE_no):

Jika Anda menghapus elemen ke-i dari grup, maka menambahkan saya ke elemen berikutnya tidak benar-benar elemen i + 1. Ini dapat menyebabkan kebingungan.

Untuk mengatasi hal ini, cobalah perulangan mundur, mulai dari pGE_no, dan pengurangan i.

Memperbarui

Juga, karena Anda mengulang-ulang semua elemen dalam wadah grafis, menambahkan elemen baru ke tingkat atas wadah saat Anda berikutnya mungkin menjadi penyebab kebingungan lainnya. Sebaliknya, mungkin membuat daftar semua grouplements, maka loop melalui daftar (bukan graphicscontainer) memanggil MoveElementFromGroup. Jika Anda memiliki grup bersarang, hal-hal menjadi sedikit lebih rumit, Anda harus mulai dengan daun dan memangkasnya terlebih dahulu.

Kirk Kuykendall
sumber
Saya tidak memeriksa saran dari pembaruan. Looping mundur tidak mengubah apa pun. Saya akan mencoba untuk mengulang daftar bukan grafikcontainer.
Tomek
Dalam akta, menambahkan elemen baru ke wadah saat berikutnya adalah penyebabnya. Terima kasih Kirk.
Tomek
Kirk, ada petunjuk bagaimana cara mengekstrak grup dari grup dengan cara yang benar (atau elemen bentuk grup dari grup)? Everythig baik-baik saja dengan elemen lain tetapi elemen grup tidak ingin bekerja sama. Ada petunjuk?
Tomek
0

Itu terlihat mirip dengan panduan dan penguasa.
namun tidak mungkin untuk membuatnya berhenti dan miring. (ray).

penguasa

Apakah garis tetap ada jika Anda beralih ke tampilan data?
Itu mungkin memberi tahu Anda apakah itu sesuatu "pada" tampilan tata letak atau dalam data Anda.

tampilan data
Saya memiliki beberapa anomally yang melakukan sesuatu yang mirip ketika pasangan yang tidak valid (koordinat) adalah bagian dari fitur garis.
Anda bisa mencoba menjalankan perbaikan geomtery pada data Anda untuk melihat apakah itu menghapusnya.

perbaikan

Brad Nesom
sumber
Saya mencoba untuk memperbaiki semua geometri tanpa perubahan. Liness hijau masih muncul. Saya tidak berpikir bahwa itu terkait dengan pedoman. Saya tidak bisa berinteraksi dengan mereka sama sekali, mereka hanya muncul.
Tomek