ArcGIS使用python进行三规合一用地调整

来源:互联网 发布:js正则判断纯数字 编辑:程序博客网 时间:2024/04/28 00:37

1.流程图

协调流程图

2.在多个相关要素union叠加后的图层字段进行python分类计算。
if-elif-else一条道走到黑的python代码(未优化,感觉可重用代码比较多,等OOP拯救)

SGHY( !TGCGCY! , !FKYD! , !GTYP! , !GTPC! , !TG_SKXJR! , !GXXM! , !GXXMQD! , !ZDXM! , !CG_SKXJR! , !CGYDDM!, !SKX!, !JBNT! )def SGHY(TGCGCY,TGFK,GTYP,GTPC,TG_SKXJR,GXXM,GXXMQD,ZDXM,CG_SKXJR,CGYDDM,SKX,JBNT):    if TGCGCY == "01":        if TGFK == 1:        return "三规有条件建设区"    else:        if GTYP == 1:        if SKX == 1 and TG_SKXJR ==1:            return "三规建设用地区"        elif SKX == 1 and TG_SKXJR == 0:            return "三规有条件建设区"        else:            return "三规有条件建设区"        else:        if GTPC == 1:            if SKX == 1 and TG_SKXJR == 1:                return "三规建设用地区"            elif SKX == 1 and TG_SKXJR == 0:                return "三规有条件建设区"            else:                return "三规建设用地区"        else:            return "三规有条件建设区"    elif TGCGCY == "02":        if GXXM == 1:        if GXXMQD == 1:        return "三规非建设用地区"        else:        if JBNT == 1:            return "三规有条件建设区"        else:            if SKX == 1 and CG_SKXJR == 1:            return "三规建设用地区"            elif SKX == 1 and CG_SKXJR == 0:            return "三规有条件建设区"            else:            return "三规建设用地区"        else:        if ZDXM == 1:        if JBNT == 1:            return "三规有条件建设区"        else:            if SKX == 1 and CG_SKXJR == 1:            return "三规建设用地区"            elif SKX == 1 and CG_SKXJR == 0:                return "三规有条件建设区"            else:            return "三规建设用地区"        else:        if GTPC == 1:            if JBNT == 1:            return "三规有条件建设区"            else:            if SKX == 1 and CG_SKXJR == 1:                return "三规建设用地区"            elif SKX == 1 and CG_SKXJR == 0:                return "三规有条件建设区"            else:                return "三规建设用地区"        else:            if CGYDDM in ['G1','G2']:            return "三规非建设用地区"            else:            if JBNT == 1:                return "三规有条件建设区"                else:                if SKX == 1 and CG_SKXJR == 1:                return "三规建设用地区"                elif SKX == 1 and CG_SKXJR == 0:                return "三规有条件建设区"                else:                return "三规建设用地区"    elif TGCGCY == "03":    if SKX == 1:        if CG_SKXJR == 1 or TG_SKXJR == 1:            return "三规建设用地区"        else:            return "三规有条件建设区"    else:        return "三规建设用地区"    else:        if GTPC == 1:            if JBNT == 1:        return "三规有条件建设区"        else:         if SKX == 1 and CG_SKXJR == 1:             return "三规建设用地区"         elif SKX == 1 and CG_SKXJR == 0:             return "三规有条件建设区"         else:             return "三规建设用地区"        else:            return "三规非建设用地区"
0 0