excel中的点文件直接生成polygon文件

说明:现实中可能获取了很多存在excel中的点坐标信息,当需要获取shape文件时,常规的方法是通过arcgis中add XY,生成event图层,然后导出为shape的点文件,
如果需要再生成line或者polygon则需要其他的工具。比较繁琐,基于此,本代码实现批处理的有excel转为Polygon文件。

# -*- coding: utf-8 -*-
import arcpy
# Local variables:
InputFileDir          ="E:/test/BP/1PointExcelFile/";
OutputShapelineDir    = "E:/test/BP/2Shapeline/"
OutputShapePolygonDir = "E:/test/BP/3ShapePolygon/"
spRef = "GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]];-400 -400 1000000000;-100000 10000;-100000 10000;8.98315284119522E-09;.001;.001;IsHighPrecision";
arcpy.CheckOutExtension("Spatial")
arcpy.env.workspace=InputFileDir
filelist=arcpy.ListFiles("*.xls")
print "Total File Num: "+str(len(filelist))
flag=1;
for inputExcelFile in filelist:
    print "Total:" +str(len(filelist)) +"   Current:"+str(flag) +"   Filename:" +inputExcelFile; flag=flag+1;
    InputExcelSheet=InputFileDir+str(inputExcelFile)+"/Sheet1$"
    EventLayer = "Sheet1$_Layer"
    OutputShapelineName = OutputShapelineDir+str(inputExcelFile)[0:-4]+".shp";
    OutputShapePolygonName=OutputShapePolygonDir+str(inputExcelFile)[0:-4]+".shp";
    # # 1 Process: Make XY Event Layer
    arcpy.MakeXYEventLayer_management(InputExcelSheet, "x", "y", EventLayer,spRef, "")
    # # 2 point to line
    arcpy.PointsToLine_management(EventLayer ,  OutputShapelineName , "", "")
    # # 3 line to  polygon
    arcpy.FeatureToPolygon_management(OutputShapelineName,OutputShapePolygonName,"","NO_ATTRIBUTES", ""  )
print "OK! "
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值