ArcMap表关联Join中数据条数超过65536条快速解决办法
Arcmap图层需要对属性表做Join操作时,默认只保留65536条记录,多出的会被舍弃掉,可利用arcpy解决该问题,同时arcpy在进行字段计算时简直是快到飞起!
以关连xls文件为例,分为两步:
- 切分xls文件
- 编写python
按照自身要求,将xls文件切分为多个sheet,每个sheet中的记录条数小于65536条,我这里有6个sheet,每个sheet为50000条记录
然后保存(注意,需要保存成.xls)
打开Arcmap->地理处理(Geoprocessing)->Python,进入python对话窗口,关键代码如下:
xlsPath = "C:/Users/Jason/Desktop/result.xls" #xls文件完整路径
x1 = xlrd.open_workbook(xlsPath) #读取xls文件
sheet1 = x1.sheet_by_name("Sheet1") #读取sheet
cursor = arcpy.UpdateCursor("final_point","FID < 50000") #创建更新游标FID < 50000为查询条件,以提高写入效率,也可留空
for i in range(50000):
row = cursor.next()
row.setValue("Pre190227",sheet1.cell_value(i+1,1)) #为目标字段赋值
cursor.updateRow(row