arcpy读取.xls文件中点数据生成shp文件的代码
时间: 2024-03-21 22:38:43 浏览: 90
以下是一个简单的示例代码,使用arcpy库来读取Excel文件中的点数据,并将其转换为Shapefile文件:
```python
import arcpy
import xlrd
# 设置工作空间
arcpy.env.workspace = r"C:\data"
# 打开Excel文件并获取第一个工作表
book = xlrd.open_workbook("points.xls")
sheet = book.sheet_by_index(0)
# 创建一个新的Shapefile
out_path = r"C:\data"
out_name = "points.shp"
geometry_type = "POINT"
template = ""
has_m = "DISABLED"
has_z = "DISABLED"
sr = arcpy.SpatialReference(4326) # WGS84坐标系
arcpy.CreateFeatureclass_management(out_path, out_name, geometry_type, template, has_m, has_z, sr)
# 添加字段
arcpy.AddField_management(out_name, "Name", "TEXT")
# 插入点数据
cursor = arcpy.InsertCursor(out_name)
for row_index in range(1, sheet.nrows):
x = sheet.cell(row_index, 0).value
y = sheet.cell(row_index, 1).value
name = sheet.cell(row_index, 2).value
point = arcpy.Point(x, y)
feature = cursor.newRow()
feature.shape = point
feature.setValue("Name", name)
cursor.insertRow(feature)
del cursor
```
这段代码假定Excel文件中的点数据存储在第一张工作表中,并且包含三列数据:X坐标,Y坐标和点名称。它还使用WGS84坐标系(EPSG代码为4326)来定义Shapefile文件的空间参考系。你可以根据自己的需要进行修改。
阅读全文