Menggunakan ArcGIS Desktop, adakah cara untuk legenda tersebut, untuk hanya menampilkan subtitle yang ditampilkan pada peta?
Menggunakan ArcGIS Desktop, adakah cara untuk legenda tersebut, untuk hanya menampilkan subtitle yang ditampilkan pada peta?
Jawaban:
Limiter legenda
Legend Limiter hanya berfungsi pada lapisan yang menggunakan "kategori nilai unik" untuk mendefinisikan simbologi. Gaya legenda ini dapat diatur di tab Simbologi dari dialog Layer Properties. Legend Limiter tidak akan membatasi simbologi lapisan yang diatur dengan simbologi simbol tunggal.
Tidak perlu menulis ArcPy tambahan untuk ini. Cukup gunakan legenda dinamis (yang ditambahkan di ArcGIS 10.1) saat Anda membuat peta.
Map Extent Options memungkinkan Anda untuk mengontrol bagaimana item legenda yang memenuhi syarat berinteraksi dengan luas peta saat ini. Jika kotak centang Hanya tampilkan kelas yang terlihat di peta saat ini dicentang, kelas item legenda hanya akan muncul dalam legenda jika fitur dari kelas itu ada di tingkat saat ini. Jika tidak ada fitur dari item legenda itu dalam tingkat saat ini, seluruh item akan dihapus dari legenda.
Pada tampilan peta, klik kanan pada Legenda untuk membuka jendela Properti, lalu klik tab "Item". Di bawah "Opsi Opsi Peta", pilih "Hanya tampilkan kelas yang terlihat pada tingkat peta saat ini".
Ini akan menyegarkan saat Anda bergerak di sekitar peta atau mengaktifkan / menonaktifkan kelas dalam lapisan.
saya pikir kode ini akan membantu:
import arcpy
import arcpy.mapping
import os
import sys
from arcpy import env
import string
env.workspace = r"C:\Project"
for mxdname in arcpy.ListFiles("*.mxd"):
print mxdname
mxd = arcpy.mapping.MapDocument(r"C:\Project\\" + mxdname)
legend = arcpy.mapping.ListLayoutElements(mxd,"LEGEND_ELEMENT")[0]
for lyr in legend.listLegendItemLayers():
legend.updateItem(lyr, use_visible_extent = True)
print 'updateItem'
mxd.save()
del mxd