ArcGIS Desktop

  • 文档
  • 支持

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

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

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ArcMap

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

使用多值输入

  • 列表形式
  • 字符串形式
  • ValueTable 形式

很多地理处理工具的输入参数可接受多个值。在 Python 窗口中查看工具引用页面或工具用法时,用括号 [ ] 括起来的参数表示其可接受值列表。例如,删除字段工具可接受要删除的字段列表,参数用法为 [drop_field, ...]。某些参数(如联合工具的 input_features 参数)接受列表的列表。其用法显示为 [[in_features, {Rank}], ...]。

任何可接受值列表(或值列表的列表)的参数即为多值参数;可接受一个或多个值。可通过三种方式来指定多值参数:

  1. 列表形式,每个值都是列表的元素
  2. 字符串形式,各个值用分号进行分隔
  3. ValueTable 形式,各个值存储在一个由行和列组成的虚拟表中

以下为相应的示例。

列表形式

在脚本中,可将多值输入以列表形式进行传递。列表用括号括起来,为灵活的 Python 类型。

drop_field 参数使用 Python 列表的 DeleteFields

import arcpy 

arcpy.env.workspace = 'C:/base/county.gdb'
arcpy.DeleteField_management('roads', ['STREET_NAM', 'LABEL', 'CLASS'])

in_features 参数使用 Python 列表的 Union

import arcpy

arcpy.env.workspace = 'C:/base/data/gdb' 
arcpy.Union_analysis([['counties', 2],['parcels', 1]], 'state_landinfo')

字符串形式

某些情况下,脚本可能需要使用多值字符串,因为它可能会以工具的输出值形式返回,或者以脚本输入参数的形式进行传递。

drop_field 参数使用多值字符串的 DeleteFields

import arcpy 

arcpy.env.workspace = 'C:/base/county.gdb'
arcpy.DeleteField_management('roads', 'STREET_NAM;LABEL;CLASS')

in_features 参数使用多值字符串的 Union

import arcpy 

arcpy.env.workspace = 'C:/base/data/gdb' 
arcpy.Union_analysis('counties 2;parcels 1', 'state_landinfo')

ValueTable 形式

ValueTable 允许将值组织到一个由行和列组成的虚拟表中。创建值表时需指定列数。默认为单列。

drop_field 参数使用 ValueTable 的 DeleteFields

import arcpy 

arcpy.env.workspace = 'C:/base/county.gdb'

vt = arcpy.ValueTable()
vt.addRow('STREET_NAM')
vt.addRow('LABEL')
vt.addRow('CLASS')

arcpy.DeleteField_management('roads', vt)

in_features 参数使用 ValueTable 的 Union

import arcpy 

arcpy.env.workspace = 'C:/base/data/gdb' 

vt = arcpy.ValueTable(2)
vt.addRow('counties 2')
vt.addRow('parcels 1')

arcpy.Union_analysis(vt, 'state_landinfo')

相关主题

  • 使用多值参数控件

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

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