前提:已經存在一個點圖層和需要添加的數據(本例中是txt文檔數據)
Code:
1 import arcpy 2 3 arcpy.env.workspace = "F:\ArcpyBook\Ch8\WildfireData\WildlandFires.mdb" #S設置工作空間,這里是空shp所在的位置 4 5 f = open(r"F:\ArcpyBook\Ch8\WildfireData\NorthAmericaWildfires_2007275.txt",'r') 6 lsFires = f.readlines() 7 try: 8 with arcpy.da.InsertCursor('FireIncidents',('SHAPE@XY','CONFIDENCEVALUE')) as cur: 9 #創建游標,FireIncidents參數是shp的名稱,('SHAPE@XY','CONFIDENCEVALUE')參數是一個元組 10 #元組里面每一項都是一個字段,表示往shp里面哪些字段插入數據。 11 #SHAPE@XY是幾何令牌,表示要素的X,Y質心坐標 12 cntr = 1 13 for fire in lsFires: 14 if 'Latitude' in fire: #跳過第一行 15 continue 16 vals = fire.split(',') 17 latitude = float(vals[0]) 18 longitude = float(vals[1]) 19 config = int(vals[2]) 20 rowValue = [(latitude,longitude), config] #需要插入的數據格式和順序需要與('SHAPE@XY','CONFIDENCEVALUE')一致 21 cur.insertRow(rowValue) #往shap中插入數據 22 print("Record number "+ str(cntr) + 'writen to feature class') 23 cntr += 1 24 except Exception as e: 25 print(e) 26 finally: 27 f.close()