12345678910111213141516171819202122232425262728 |
- import arcpy
- import math
-
- def LZDpoly(zdshp):
- arcpy.MakeFeatureLayer_management(zdshp, 'ZD')
- # 在外面写个字典
- zd = {'公路用地': 'GLYD', '特殊用地': 'TSYD', '公用设施用地': 'GYSS', '交通服务场站用地': 'JTFW', '沟渠': 'GQ',
- '灌木林地': 'GMLD', '其他林地': 'QTLD', '乔木林地': 'QMLD', '竹林地': 'ZLD', '果园': 'GY', '旱地': 'HD',
- '河流水面': 'HLSM', '坑塘水面': 'KTSM', '养殖坑塘': 'YZKT', '农村道路': 'NCDL', '农村宅基地': 'NCZJD',
- '其他草地': 'QTCD', '其他园地': 'QTYD', '设施农用地': 'SSNYD', '水田': 'ST'}
- arcpy.AddField_management('ZD', 'dl', 'TEXT')
- with arcpy.da.UpdateCursor('ZD', ['SHAPE@', '宗地编码','DLMC','dl']) as cursorA:
- for curA in cursorA:
- zdbh = curA[1]
- dlmc = curA[2]
- if dlmc == '' or dlmc == ' ' or dlmc == None:
- curA[3] = zdbh
- else:
- str1 = zd[dlmc]
- curA[3] = str1
- cursorA.updateRow (curA)
-
- if __name__ == '__main__':
- try:
- # 输入宗地shp
- LZDpoly(r'D:\2work_now\20221026\test\testLZD1.shp')
- except arcpy.ExecuteError:
- arcpy.AddMessage(arcpy.GetMessages())
|