1. 程式人生 > >使用python從xls坐標文件中生成面要素

使用python從xls坐標文件中生成面要素

pre 屬性 int -s tro nco print ESS gdb

#根據xls文件生成圖形數據,並賦值其它屬性信息 # coding:utf8 import arcpy import xlrd arcpy.env.workspace = r"F:\test.gdb" fc = "polygon" cursor = arcpy.da.InsertCursor(fc, ["字段1", "字段2", "字段3", "SHAPE@"]) xlsfile = xlrd.open_workbook(r"F:\test.xls", "r") mysheet1 = xlsfile.sheet_by_name("sheet1") polygonarray = arcpy.Array() rownum = mysheet1.nrows colnum = mysheet1.ncols fid = "" count = 0 ismark = False i = 0 try: for i in range(rownum): row = mysheet1.row_values(i) flowsn = row[1] if fid == "": fid = int(row[0]) xmmc = row[2] bh = int(row[3]) x = row[4] y = row[5] iswk = row[6] pnt = arcpy.Point() pnt.ID = bh pnt.X = x pnt.Y = y if fid == row[0]: if iswk == 1: polygonarray.add(pnt) else: if ismark: polygonarray.add(pnt) else: polygonarray.add(arcpy.Point()) ismark = True polygonarray.add(pnt) if i == rownum - 1: poly = arcpy.Polygon(polygonarray) cursor.insertRow([fid, flowsn, xmmc, poly]) print "要素{0}已經生成".format(fid) count = count + 1 polygonarray.removeAll() ismark = False else: nfid = int(row[0]) poly = arcpy.Polygon(polygonarray) row = mysheet1.row_values(i - 1) flowsn = row[1] xmmc = row[2] fid = int(row[0]) cursor.insertRow([fid, flowsn, xmmc, poly]) print "要素{0}已經生成".format(fid) count = count + 1 polygonarray.removeAll() polygonarray.add(pnt) fid = nfid ismark = False except Exception as e: print e.message if cursor: del cursor print "共生成要素{0}個".format(count)

使用python從xls坐標文件中生成面要素