Katman kredilerini görüntülemek için dinamik metin kullanma


9

Dinamik bir metin kutusuna 'katman kredileri' güncellemek için bir yol arıyorum. Harita kredilerini veya veri çerçevesi kredilerini burada kullanmanın yollarını buldum ancak bir katmandan türetilen bilgileri almanın bir yolu gibi görünmüyor.

Her seferinde boş bir dize üretiyorum. Bunu yapan ya da bir iş bulan var mı? Harita kredilerini çok az veya hiç kaynak olmadan güncellemenin son derece yararlı bir yolu gibi görünüyor.

Türetilmiş Katman özellikleri


Yerleşik dinamik metinlerin tümü belgeye veya veri çerçevesine dayandığından, bunu dinamik olarak yapmanın bir yolu yoktur. Ancak, her harita yaptığınızda bir metin alanını doldurmak için bir komut dosyası çalıştırmaya istekli iseniz bu kesinlikle mümkündür. Veya harita kredilerini tüm katman kredilerinden doldurun. Sonra ne bu, bunu yapmak için bazı arcpy kodu sağlayabilir.
Fezter

Yanıtlar:


17

Yukarıdaki yorumumda belirtildiği gibi, bunu dinamik metin kullanarak yapmanın bir yolu yok. Bununla birlikte, bunu yapmak ve bir python addin düğmesine eklemek veya MXD veya başka bir şey kaydettiğinizde çalıştırmak için bir komut dosyası yazabilirsiniz. Kredileri tutmak ve "KREDİ" gibi bir ad vermek için bir metin öğesi oluşturmanız gerekir:

resim açıklamasını buraya girin

Temel kod şöyle görünecektir:

mxd = arcpy.mapping.MapDocument("current")
credit_text = ""
for layer in arcpy.mapping.ListLayers(mxd):
    credit_text += (layer.credits + "\n") # separate each line with a carriage return
for el in arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT"):
    if el.name == "CREDITS":
        el.text = credit_text

2
+1 Ben böyle yapardım - aynı kodla cevap verirdim.
Midavalo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.