前言
今天向大家介绍的是:关于Arcpy的列出函数。
预计阅读时间:5min。
Arcpy函数(2)
Arcpy的列出函数,又称数据列表函数,顾名思义,主要功能就是列出当前工作空间的数据集、数据要素类、栅格数据、字段名称等数据的列表。
今天的展示数据如下所示:
其中:数据库listtest中包含alpha、lineD、pointD、polygonD四个数据集和linefeature、pointfeature、polygon三个要素类。
注意事项
黄色部分即为设定工作空间函数,红色区域为工作空间的路径。
两个主要的Arcpy列表函数
1.ListFeatureClasses
ListFeatureClasses的功能是列出空间内的要素类。
如上图所示:
黄色区域的参数为:限制返回的结果;
红色区域的参数为:数据类型;
蓝色区域的参数为:指定的数据集。
举个小例子(列出目标工作空间数据库中所有要素类的路径):
import arcpy
import os
arcpy.env.workspace = 'G:/exercise data/listtest.gdb'
datasets=arcpy.ListDatasets(feature_type='feature')
datasets=[''] + datasets if datasets is not None else []
for ds in datasets:
for fc in arcpy.ListFeatureClasses(feature_dataset=ds):
p=os.path.join(arcpy.env.workspace, ds,fc)
print (p)
输出结果如下所示:
2.ListDatasets
ListDatasets函数的功能是列出工作空间中符合要求的数据集。
与ListFeatureClasses函数类似,
黄色区域的参数为:限制返回的结果;
红色区域的参数为:数据类型;
举个例子(列出目标工作空间数据库中符合要求的数据集):
import arcpy
arcpy.env.workspace = 'G:/exercise data/listtest.gdb'
# show all datasets which start with l or p
d1 = list(set(arcpy.ListDatasets("l*", "Feature")) |
set(arcpy.ListDatasets("p*", "Feature")))
print(d1)
# show the datasets which except contain the letter l
d2 = list(set(arcpy.ListDatasets("*", "Feature")) -
set(arcpy.ListDatasets("*l*", "Feature")))
print(d2)
结果如下所示:
最近几期小编将会把Arcpy的各种函数、类及工具等为大家进行详细的介绍。
参考资料为:
https://pro.arcgis.com/zh-cn/pro-app/arcpy/functions/alphabetical-list-of-arcpy-functions.htm
有兴趣的小伙伴可以自行学习一下(或者等小编慢悠悠地更新也是可以滴(*^_^*))