工具箱相关
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

dlCMM_1203.py 1.2KB

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