ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

ListStyleItems

  • 描述
  • 讨论
  • 语法
  • 代码示例

描述

返回 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

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2021 Esri. | 隐私政策 | 法律声明