摘要
返回单个地图文档 (.mxd) 中存在的 DataFrame 对象的 Python 列表。
讨论
ListDataFrames 始终返回 Python 列表对象,即使仅返回一个数据框。为返回 DataFrame 对象,必须在列表中使用索引值(例如,df = arcpy.mapping.ListDataFrames(mxd)[0])。列表上的 For 循环提供简单的机制迭代列表中的每个项目(例如, for df in arcpy.mapping.ListDataFrames(mxd):)。
通配符不区分大小写。通配符字符串 "la*" 将返回名为 Layers 的数据框。
地图文档中可以存在多个具有相同名称的数据框。如果出现这种情况,可能需要使用其他属性来隔离特定的数据框。可使用数据框的配额或描述等属性来进行此操作。理想状态为所有数据框名称均唯一。
语法
ListDataFrames (map_document, {wildcard})
参数 | 说明 | 数据类型 |
map_document | A variable that references a MapDocument object. | MapDocument |
wildcard | A combination of asterisks (*) and characters can be used to help limit the results. (默认值为 None) | String |
返回值
数据类型 | 说明 |
DataFrame | DataFrame 对象的 Python 列表。 |
代码实例
DataFrame 示例:
以下脚本将搜索名称为 Transportation 的数据框,并设置合适的缩放和旋转值。
import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")
for df in arcpy.mapping.ListDataFrames(mxd, "t*"):
if df.name.lower == "transportation":
df.scale = 24000
df.rotation = 5.5
mxd.saveACopy(r"C:\Project\Project2.mxd")
del mxd