仅显示在ArcGIS Desktop中地图上实际显示的图例项?


14

使用ArcGIS Desktop,图例是否可以只显示地图上显示的子项?


您是否尝试过将图例转换为图形?转换为图形后,您可以手动删除不需要的图例中的项目。希望对您有所帮助。谢谢。
拉吉(Raj)

1
@Raj-哦,不,我不打算这样做,维护地图会很痛苦
dassouki 2011年

1
链接的问题是另一个已回答的问题。因此,提出一个新问题以详细描述您的问题。
MathiasWestin

1
旧问题被标记为arcgis 9.3,因此您可以问一个新问题并为ArcGIS 10标记。此外,链接的问题是一个答案,您正在询问图例限制器的故障排除问题。
杰·康明斯

同样,对问题进行故障排除可能需要花费一些时间才能吸引人,因此您应该努力使问题正文与新信息保持井井有条,以便于跟踪。否则,其他用户将查找它并继续下一个问题。
杰·康明斯

Answers:


9

图例限制器

图例限制器仅适用于使用“唯一值类别”定义符号系统的图层。可以在“图层属性”对话框的“符号系统”选项卡中设置这种图例样式。图例限制器不会限制使用单个符号符号系统设置的图层的符号系统。

http://arcscripts.esri.com/details.asp?dbid=16097


那是最接近我需要的东西,从本质上讲,我必须将我所有的符号系统转换为唯一的价值
dassouki 2011年

@ Mapperz-这里有一个针对ArcGIS 10的修复程序:forums.arcgis.com/threads/24968-Legend-Limiter-in-Arc-10
Dano

@ Mapperz(或任何人)-我在上面发布的链接上从Legend Limiter下载了必要的文件。尝试安装时,我收到了一条错误消息,我用谷歌搜索了。我得到的印象是,不存在使该附加组件与ArcGIS 10和Windows 7兼容的补丁。在此主题下,我是否应该提出一个与此主题相关的新问题?还是....是否有人知道同时满足两个参数的补丁(Arc 10和Windows 7)/
Dano

3
在Windows 7在Windows保持兼容模式下运行
Mapperz

@ Mapperz-您可以发布此答案,以便我选择它作为答案。关于这个问题的我的问题在这里: gis.stackexchange.com/questions/12609/…–
Dano

11

无需为此编写任何其他ArcPy。在创作地图时,只需使用动态图例(在ArcGIS 10.1中已添加)。

使用地图范围选项,您可以控制符合条件的图例项与当前地图范围的交互方式。如果选中仅显示在当前地图范围内可见的类复选框,则图例项目类仅在该类中的要素在当前范围内时才会出现在图例中。如果该图例项目中当前没有要素,则整个项目将从图例中删除。


4

在地图视图中,右键单击图例以打开“属性”窗口,然后单击“项目”选项卡。在“地图范围选项”下,选择“仅显示在当前地图范围内可见的类”。

当您在地图上移动或切换图层中的类时,它将刷新。



感谢您具体说明该复选框的隐藏位置!
JMers

1

我认为这段代码将帮助:

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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.