Python和ArcGIS

罗列GIS数据

Python 使您能够对成批的数据文件、字段和工作空间执行地理处理任务。 os.listdir 函数列出了目录中的所有文件,但我们经常需要对特定的 GIS 文件类型进行批处理。 arcpy 模块有一组列表方法来获取这些项目的列表。 arcpy 概览图在“列表”下的左栏中显示了其中两种方法。 图 1 中的大框显示了这些方法的更广泛列表。 I 类和 II 类方法用于列出数据。 顾名思义,这些方法返回数据集、要素类、文件、字段等的列表。 本章讨论如何使用这些方法。

图1

使用类别 I 方法涉及设置工作区,然后使用通常的 object.method 格式调用方法。在这种情况下,对象是 arcpy 。 在以下代码中,ListFeatureClasses 方法返回工作区中要素类的列表:

arcpy.env.workspace 属性必须在调用 ListFeature Classes 之前设置,以确定它在何处查找要素类。 第 I 类数据列表方法返回当前工作区中的名称列表。 在上面的示例中,ListFeatureClasses 方法返回一个 Python 列表,如下所示:

列表中的每一项都是 Python unicode 字符串数据类型。 字符串前面的 u 表示它是一个 unicode 字符串。 您可以忽略 u 并使用 unicode 字符串数据类型,就像使用 ‘str’ 字符串数据类型一样。 以下代码打印列表中的第一项及其数据类型:

由于 fcs 是一个 Python 列表,我们可以在 FOR 循环中使用它,如下所示:

其他 I 类数据列表方法 ListDatasets 、 ListFiles 、 ListRasters 、 ListTables 和 ListWorkspaces 与 ListFeatureClasses 方法类似。 这些方法都列出了当前 arcpy 工作区的数据。 这意味着您需要在调用它们之前设置工作区,它们将返回该工作区中项目名称的 Python 列表。

注意 arcpy.env.workspace 必须在调用 I 类数据列表方法之前设置 - ListDatasets 、 ListFeatureClasses 、 ListFiles 、 ListRasters 、 ListTables 或 ListWorkspaces 。

“数据集”、“文件”、“表格”、“栅格”和“工作区”是相当宽泛的术语。 如果您不确定这些方法将列出哪些类型的文件,请查看 ArcGIS 资源站点。 或者,如果您有特定的数据,最简单的方法是简单地在示例数据上进行尝试——设置工作区,调用数据列表方法,并打印返回的列表。 示例 1 列出了在中找到的 Esri 工作区。根据这个函数,一个文件地理数据库和一个文件夹是一个工作区。第二个循环列出了在中发现的表。在此示例中,它返回一些“csv”文件、“txt”文件和“dbf”文件。 此处未列出的其他项目也可能符合条件。 列出所有“txt”文件,无论内容如何(“loveLetter.txt”没有字段标题或记录)。 并未列出所有“dbf”(dBASE)表。仅列出工作区中的独立 dBASE 表。 从属表是与 shapefile 相关联的表。即使 ‘park.dbf’ 在 中,该表并未列出,因为它是构成 shapefile 的一组文件的一部分 .

输出:

指定数据名称和类型

详情参阅 - 亚图跨际

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值