arcpy遍历工作空间中的所有要素类且将要素类复制到文件地理数据库中,点对象和几何对象的创建

前言

官方文档地址:https://resources.arcgis.com/zh-cn/help/main/10.2/

授人以鱼不如授人以渔!!

一、遍历要素类

1、我们需要提前设置好工作空间,然后调用 arcpy.ListFeatureClasses() 获取工作空间中的所有要素类,返回要素类名称的列表。

2、遍历所有要素类,将要素类复制带文件地理数据库中,调用的函数为:arcpy.CopyFeatures_management(要复制的要素类,文件地理数据库位置 + 复制进行之后的要素类名称).

1、 参数一如:E:\arcpy_study\Arcpy编程开发(从小白到大神)\测试文件\测试shap1.shp
2、参数二如:E:\arcpy_study\Arcpy编程开发(从小白到大神)\测试文件\data.gdb\测试shap1

这里特别需要注意的是,文件地理数据库中的要素类是不带后缀的,切记!!

实例代码如下:

import os.path

import arcpy


# 获取工作空间中的所有要素类
def get_all_feature_class():
    # 输出的文件地理数据库的路径
    out_path = unicode(r'E:\arcpy_study\Arcpy编程开发(从小白到大神)\测试文件\data.gdb', 'utf-8')

    # 返回以b开头的所有要素类
    # featureClassList = arcpy.ListFeatureClasses(wild_card='b*')
    featureClassList = arcpy.ListFeatureClasses()

    # 打印所有要素类
    for fc in featureClassList:
        print fc

    # 将要素类复制到文件地理数据库中
    for fc in featureClassList:
        # os.path.splitext(fc)[0]:因为文件地理数据库中的要素没有后缀,所以要去掉fc的后缀
        arcpy.CopyFeatures_management(fc, os.path.join(out_path, os.path.splitext(fc)[0]))

if __name__ == '__main__':
    # 设置工作空间
    arcpy.env.workspace = r"E:\arcpy_study\Arcpy编程开发(从小白到大神)\测试文件"

    get_all_feature_class()

二、点对象的创建

# 点对象的创建
def point_create():
    # 创建点对象
    point = arcpy.Point(118.311888, 30.123456)
    print point.Z
    print point.X
    print point.Y

if __name__ == '__main__':
    # 设置工作空间
    arcpy.env.workspace = r"E:\arcpy_study\Arcpy编程开发(从小白到大神)\测试文件"

    point_create()

猜你喜欢

转载自blog.csdn.net/qq_47188967/article/details/131438832