通过ArcGis(arcpy)按属性字段进行分割(一个shp变为多个shp)

       最近拿到一个全国省行政范围,需要将一个个省分别导出成一个shp图层数据用于分配工作,之前总是通过选中某个省要素,然后右键导出本次数据量有点多,所以找了个简便的方法快速导出,现将操作方法整理如下,希望能帮到更多的同学。

一、数据准备:全国省行政范围

二、软件准备:arcmap桌面软件操作

三、操作步骤

1、从开始位置找到arcmap软件,双击打开,如下图所示:

2、单击arcmap菜单上的python工具,如下图所示:

3、在弹出的python工具页面输入下面代码,然后回车即可执行程序,程序执行完成后会出现>>>;

... import arcpy

... import os

... from arcpy import env

... shp ="C:/Users/admin/Desktop/0125/省界面.shp" #要处理的shp文件路径

... out_path="C:/Users/admin/Desktop/0125/aa"#输出文件夹的路径

... with arcpy.da.SearchCursor(shp, ["SHAPE@",'NAME']) as cursor:

... #SHAPE@指代单个要素,NAME是一个字段,该字段也是我们想要作为每个shp命名的值,也可以改为其他的字段

...     for row in cursor:

...     out_name=str(row[1])+'.shp'#输出文件名 确保均为字符串类型,注意命名是唯一的,这样就能将该shp数据中的所有要素都导出,本次测试数据字段为文本型,需要将str去掉

...     arcpy.FeatureClassToFeatureClass_conversion (row[0],out_path,out_name)

4、最终结果如下:

注意:

1、row[0]代表的就是shp要素;

2、row[1]表示的是NAME字段,最好确保该字段的唯一性;

3、修改的时候,不需要该row[0] row[1] 只需要改NAME为其他即可;

4、如果NAME字段是数值型,则在输出名称out_name时需要添加str,如果是字符型,则需要将str去掉;

5、代码最好自己手输,因为复制过程中容易有空格导致失败;

  • 7
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是一个ArcGIS中编写txt转shp的脚本并且可以保留对应字段属性的示例: ```python import arcpy # 设置工作空间 arcpy.env.workspace = r"C:\data" # 定义输入和输出文件路径 input_file = "input.txt" output_file = "output.shp" # 创建点要素类 arcpy.CreateFeatureclass_management(arcpy.env.workspace, output_file, "POINT") # 添加字段 arcpy.AddField_management(output_file, "ID", "TEXT") arcpy.AddField_management(output_file, "NAME", "TEXT") # 打开txt文件并逐行读取 with open(input_file, 'r') as f: data = f.readlines() # 循环遍历每一行数据 for line in data: # 分割每一行数据 line = line.strip().split(",") # 创建新的点要素 point = arcpy.Point(float(line[0]), float(line[1])) # 创建要素对象 feature = arcpy.Feature() feature.geometry = point # 设置字段值 feature.set_Value("ID", line[2]) feature.set_Value("NAME", line[3]) # 插入要素 arcpy.InsertFeature_management(output_file, feature) print("转换完成。") ``` 在这个脚本中,我们首先使用`CreateFeatureclass_management`函数创建了一个点要素类,然后使用`AddField_management`函数添加了两个字段。接着,我们打开txt文件并逐行读取,使用`strip`和`split`函数分割每一行数据。然后,我们创建一个新的点要素并设置字段值,最后使用`InsertFeature_management`函数将要素插入到输出要素类中。这样,我们就可以将txt文件转换为shp文件,并保留对应的字段属性

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陆杨0321

你的鼓励将是我努力的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值