使用Arcpy批量删除空要素类

Python与开源GIS

使用Arcpy批量删除空要素类

2016-12-12 作者: xuzhiping 浏览: 4861 次

摘要: 在使用Arcpy进行数据处理的时候,有时会产生大量的空要素类。这些要素类中没有任何的要素,但是放在数据库中操作的时候又会有一些麻烦。这种时候就需要将这些数据 删除掉。因为经常会遇到这个问题,所以写了一个脚本来处理。 # -*- coding: utf...

在使用Arcpy进行数据处理的时候,有时会产生大量的空要素类。这些要素类中没有任何的要素,但是放在数据库中操作的时候又会有一些麻烦。这种时候就需要将这些数据 删除掉。因为经常会遇到这个问题,所以写了一个脚本来处理。

    # -*- coding: utf-8 -*-
    '''
    删除数据集下面空的要素
    '''
    import sys, os
    import arcpy
    def clear_feature(feature):
        '''
        如果要素存在,则删除
        '''
        if arcpy.Exists(feature):
            try:            
                arcpy.Delete_management(feature)            
            except :
                print "The feature " + feature + " can not be deleted."
                # sys.exit()
            print('Delteed:' + feature)
    def is_null_feature(infea):
        '''
        判断是否是空的要素
        '''
        rows = arcpy.SearchCursor(infea)
        row = rows.next()
        if row:
            return False
        else:
            return True
    def del_null_feature(infea):
        if arcpy.Exists(infea):
            pass
        else:
            return 0
        if is_null_feature(infea) == True:
            clear_feature(infea)
    if __name__ == '__main__':
        inws = sys.argv[1]
        arcpy.env.workspace = inws
        feas = arcpy.ListFeatureClasses()
        for fea in feas:
            infea = os.path.join(inws, fea)
            del_null_feature(infea)

关注“开源集思”公众号
获取免费资源

随机推荐


Copyright © 2014-2019 OSGeo中国中心 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org