摘要
返回 StyleItem 对象的 Python 列表。然后可使用样式文件(.style 或 .ServerStyle)中的已引用图例项更新布局中已存在的图例项。
讨论
在 ArcGIS Desktop 中,样式项存储在 .style 文件中。在 ArcGIS Server 中,样式项存储在 .ServerStyle 文件中。可以在样式管理器 窗口中对 .style 文件中的样式项进行查看和管理。样式文件会被组织到具有唯一名称的不同子文件夹中,例如“标记符号”或“图例项”。目前,图例项是唯一一种可与其他 arcpy.mapping 方法配合使用的样式项。图例项可定义图例中图层的显示方法。例如,它们可以存储诸如图例布局、图层名称符号和默认覆盖面等信息。
样式项可通过 arcpy.mapping API 进行显示,因而用户可以控制图例项样式项的外观。一般要求是能够控制新添加图例项的默认字号或字体。为实现这一要求,您必须先创建一个自定义图例项,然后通过 ListStyleItems 函数引用该图例项。接下来,您可以引用图例中显示的相应图层,然后使用其 updateItem 方法。下方提供了此工作流程代码示例。
语法
ListStyleItems (style_file_path, style_folder_name, {wildcard})
参数 | 说明 | 数据类型 |
style_file_path | 现有样式 (.style) 或服务器样式 (.ServerStyle) 文件的完整路径。 以下为两种不需要完整路径的附加快捷键。首先,输入 ArcGIS 系统样式文件的名称,例如,"ESRI.style"、"ESRI.ServerStyle" 或 "Transportation.style"。该功能将自动搜索适合的 ArcGIS 安装样式文件夹中的样式。其次,在安装完成 ArcGIS Desktop 后,可使用关键字 "USER_STYLE"。将在无需完整路径的情况下,自动搜索本地用户配置文件。如果样式文件不在这两个已知的系统位置处,则必须提供包含文件扩展名的完整路径,例如,"C:/Project/CustomStyles.style"。 | String |
style_folder_name | 样式文件中样式文件夹的名称采用其在样式管理器窗口中显示的样式。目前,仅图例项可以与其他 arcpy.mapping 方法配合使用。 | String |
wildcard | 星号 (*) 和字符的组合可用于帮助限制基于样式项名称属性而生成的结果。 (默认值为 None) | String |
代码示例
ListStyleItems 示例
以下脚本将使用上述工作流程并更新图例的图例项样式项。将向地图文档中的第一个数据框添加一个图层,并通过名为 NewDefaultLegendStyle 的自定义图例项样式项更新该图例项样式项。自定义 .style 文件保存在用户配置文件所在的位置中。
import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")
df = arcpy.mapping.ListDataFrames(mxd)[0]
lyrFile = arcpy.mapping.Layer(r"C:\Project\Data\Rivers.lyr")
arcpy.mapping.AddLayer(df, lyrFile, "TOP")
styleItem = arcpy.mapping.ListStyleItems("USER_STYLE", "Legend Items", "NewDefaultLegendStyle")[0]
lyr = arcpy.mapping.ListLayers(mxd, 'Rivers', df)[0]
legend = arcpy.mapping.ListLayoutElements(mxd, "LEGEND_ELEMENT")[0]
legend.updateItem(lyr, styleItem)
del mxd