【ArcPy】要素类按字段拆分

Python工具代码,非Python窗口脚本,可以自行编辑处理一下。

复制代码
# coding=gbk
import arcpy
from arcpy import da as da

def main():
    lyr=arcpy.GetParameter(0)
    fld=arcpy.GetParameterAsText(1)
    out_folder=arcpy.GetParameterAsText(2)
    unique_lst=[]

    with da.SearchCursor(lyr,fld) as cursor:
        for row in cursor:
            if row[0] not in unique_lst:
                unique_lst.append(row[0])
    arcpy.AddMessage(">>>分类列表已获取。")

    arcpy.AddMessage('>>>开始执行拆分输出……')
    cnt=len(unique_lst)
    arcpy.SetProgressor("step","{} 个待输出要素类。".format(cnt),1,cnt,1)
    for out_val in unique_lst:
        out_val=out_val.encode('gb2312')
        arcpy.SetProgressorPosition()
        arcpy.Select_analysis(lyr,r"{}\\{}.shp".format(out_folder.encode('gb2312'),out_val),"{}='{}'".format(fld.encode('gb2312'),out_val))
    
    arcpy.AddMessage(">>>要素类拆分完成。")      

if __name__=="__main__":
    main()
复制代码

 

posted @   yzhyingcool  阅读(106)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示