从xy表创建多边形形状文件



背景:我正在尝试创建一个工具,该工具将获取一组坐标(当前在.csv文件中(,并输出一个具有多个多边形特征的特征类。我已经成功地编写了一个脚本,该脚本将用一系列X、Y坐标创建一个多边形特征类,如下所示。然而,这显然需要将所有单独的坐标放入脚本编辑器中。所以我想我的问题是,是否可以使用excel表在python编辑器中创建一个列表,然后可以用来创建多边形?或者我必须将excel表转换为XY形状文件,然后在python中进行操作?

import arcpy
import os
coordinates = [(-117.2000424, 34.0555514),(-117.2000788, 34.0592066),(-117.1957315, 34.059230 
(-117.1956951, 34.0556001)]
result = arcpy.management.CreateFeatureclass(arcpy.env.scratchGDB, "esri_square", "POLYGON", spatial_reference=4326)
feature_class = result[0]

with arcpy.da.InsertCursor(feature_class, ['SHAPE@']) as cursor:
cursor.insertRow([coordinates])

然而,这显然需要将所有单独的坐标放入脚本编辑器中。所以我想我的问题是,是否可以使用excel表在python编辑器中创建一个列表,然后可以用来创建多边形?或者我必须将excel表转换为XY形状文件,然后在python中进行操作?

如果您询问是否可以重新格式化excel文件,以便将其作为一组多边形读取,请考虑尝试将坐标集重新格式化为WKT格式。

WKT格式定义

如果你能做到这一点,那么读取excel表并将其转换为空间数据帧应该很容易

最新更新