如何在ArcGIS中编写一个txt转shp的脚本并且可以保留对应的字段属性
时间: 2023-05-28 07:06:14 浏览: 368
以下是一个在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文件,并保留对应的字段属性。
阅读全文