从xy表创建多边形Shapefile

时间:2019-11-16 18:03:40

标签: python gis arcgis

对于背景:我正在尝试创建一个将使用一组坐标(当前在.csv文件中)并输出具有多个面要素的要素类的工具。我已经成功编写了一个脚本,该脚本将使用以下一系列X,Y坐标创建一个面要素类。但是,这显然需要将所有单独的坐标放入脚本编辑器中。所以我想我的问题是,是否可以使用excel表在python编辑器中创建列表,然后可以使用该列表创建多边形?还是我必须将excel表转换为XY shapefile,然后在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 shapefile,然后在python中进行操作?

1 个答案:

答案 0 :(得分:0)

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

WKT format definition

如果可以的话,应该很容易阅读Excel工作表并将其转换为空间数据框