Arcpy学习笔记(五)-列出数据

1.ListDatasets:

摘要:列出工作空间中的所有数据集。可以针对数据集名称和数据集类型指定搜索条件,从而限制返回的列表。

说明:必须先设置工作空间环境,之后才能使用多个列表函数,这些列表函数包括 ListDatasetsListFeatureClassesListFilesListRastersListTablesListWorkspaces

语法:

返回值:

ListFeatureClasses:

摘要:列出工作空间的要素类、受名称、要素类型和可选要素数据集的限制

说明:也是要先设置工作空间环境、之后才能使用多个列表函数、这些列表函数包括。

语法:

返回值:

 代码示例:

ListFeatureClasses:

将shapefile复制到地理数据库中。

#将shapefile复制到地理数据库中
import os
import arcpy
# Set the workspace for ListFeatureClasses
arcpy.env.workspace = "c:/base"
# Use the ListFeatureClasses function to return a list of
#  shapefiles.
featureclasses = arcpy.ListFeatureClasses()
# Copy shapefiles to a file geodatabase
for fc in featureclasses:
    arcpy.CopyFeatures_management(
        fc, os.path.join("c:/base/output.gdb",
                         os.path.splitext(fc)[0]))

 示例二:列出地理数据库中所有的要素类,包括要素数据据中的所有要素类。

import arcpy
import os
arcpy.env.workspace = "c:/base/gdb.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):#从数据集中遍历要素类
        path = os.path.join(arcpy.env.workspace, ds, fc)
        print(path)

2.ListFields:列出指定数据集中的要素类,shapefile或表中的字段。返回的列表可用针对名称和字段类型的条件进行限制,并将包含字段对象。

语法:这里field可以理解为字段的意思。(只是自己的理解)

返回值:

#ListFields 示例

#列出字段属性。

import arcpy
# For each field in the Hospitals feature class, print
#  the field name, type, and length.
fields = arcpy.ListFields("c:/data/municipal.gdb/hospitals")
for field in fields:
    print("{0} is a type of {1} with a length of {2}"
          .format(field.name, field.type, field.length))

#ListFields 示例 2

#生成字段名称列表。

import arcpy
featureclass = "c:/data/municipal.gdb/hospitals"
field_names = [f.name for f in arcpy.ListFields(featureclass)]

ListFiles:根据查询字符串返回当前工作空间中的文件列表。通过指定搜索条件可以限制结果。

说明:还是需要先设置工工作空间。

语法:

返回值:

 代码示例:

将CSV文件列表复制到dBASE格式。

import os
import arcpy

arcpy.env.workspace = "c:/temp"

# Copy each file with a .csv extension to a dBASE file
for csv_file in arcpy.ListFiles("*.csv"):
    # Use splitext to set the output table name
    dbase_file = os.path.splitext(csv_file)[0] + ".dbf"
    arcpy.CopyRows_management(csv_file, dbase_file)

ListIndex:列出指定数据集中的要素类,shapefile或表中的索引。返回的列表可以使用针对索引名称的搜索条件进行限制,并将包含索引对象。

语法:

 返回值:

代码示例:

列出索引属性。

import arcpy
featureclass = "E:\\remotesensingmap\\cd_newmap\\Water.shp"
# Get list of indexes for roads.shp and print properties
indexes = arcpy.ListIndexes(featureclass)
for index in indexes:
    print("Name        : {0}".format(index.name))
    print("IsAscending : {0}".format(index.isAscending))
    print("IsUnique    : {0}".format(index.isUnique))

ListRasters:按照名称和栅格类型返回工作空间中的栅格列表。

说明:此函数需要先设置工作空间。

语法:

 返回值:

 ListRasters示例

#列出工作空间中的TIF栅格名称
import arcpy
arcpy.env.workspace = "C:\\Users\\14158\\Documents\\ArcGIS"
rasters = arcpy.ListRaster("*","TIF")
for raster in rasters:
    print(raster)

ListTables:按名称和表类型列出工作空间中的表。

说明:需要先设置工作空间。

语法:

返回值:

 代码示例:

ListTables示例:

#列出工作空间中的所有表
import arcpy
arcpy.env.workspace = "E:\\GFGIS"
Tables = arcpy.ListTables()
for Table in Tables:
   print(Table)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值