''' Created on 04.12.2013 @author: Sim ''' import arcpy import numpy as np from collections import Counter arcpy.env.workspace = "C:/_exchange/Geo/Test/work.gdb" dlr = "Dienstleistungsraum" fwr = "Forstwirtschaftlicher_Raum" bm_fe = arcpy.GetParameterAsText(0) bm_gn = arcpy.GetParameterAsText(1) bm_gs = arcpy.GetParameterAsText(2) bm_li = arcpy.GetParameterAsText(3) bm_oe = arcpy.GetParameterAsText(4) bm_pa = arcpy.GetParameterAsText(5) bm_re = arcpy.GetParameterAsText(6) bm_rf = arcpy.GetParameterAsText(7) bm_vo = arcpy.GetParameterAsText(8) ge_fe = arcpy.GetParameterAsText(9) ge_gn = arcpy.GetParameterAsText(10) ge_gs = arcpy.GetParameterAsText(11) ge_li = arcpy.GetParameterAsText(12) ge_oe = arcpy.GetParameterAsText(13) ge_pa = arcpy.GetParameterAsText(14) ge_re = arcpy.GetParameterAsText(15) ge_rf = arcpy.GetParameterAsText(16) ge_vo = arcpy.GetParameterAsText(17) pv_fe = arcpy.GetParameterAsText(18) pv_gn = arcpy.GetParameterAsText(19) pv_gs = arcpy.GetParameterAsText(20) pv_li = arcpy.GetParameterAsText(21) pv_oe = arcpy.GetParameterAsText(22) pv_pa = arcpy.GetParameterAsText(23) pv_re = arcpy.GetParameterAsText(24) pv_rf = arcpy.GetParameterAsText(25) pv_vo = arcpy.GetParameterAsText(26) wk_fe = arcpy.GetParameterAsText(27) wk_gn = arcpy.GetParameterAsText(28) wk_gs = arcpy.GetParameterAsText(29) wk_li = arcpy.GetParameterAsText(30) wk_oe = arcpy.GetParameterAsText(31) wk_pa = arcpy.GetParameterAsText(32) wk_re = arcpy.GetParameterAsText(33) wk_rf = arcpy.GetParameterAsText(34) wk_vo = arcpy.GetParameterAsText(35) fl_bm_gs = float(bm_gs.replace(',', '.')) fl_ge_gs = float(ge_gs.replace(',', '.')) fl_pv_gs = float(pv_gs.replace(',', '.')) fl_wk_gs = float(wk_gs.replace(',', '.')) bm_ges = [] ge_ges = [] pv_ges = [] wk_ges = [] bms = [bm_fe, bm_gn, bm_ges, bm_li, bm_oe, bm_pa, bm_re, bm_rf, bm_vo] ges = [ge_fe, ge_gn, ge_ges, ge_li, ge_oe, ge_pa, ge_re, ge_rf, ge_vo] pvs = [pv_fe, pv_gn, pv_ges, pv_li, pv_oe, pv_pa, pv_re, pv_rf, pv_vo] wks = [wk_fe, wk_gn, wk_ges, wk_li, wk_oe, wk_pa, wk_re, wk_rf, wk_vo] bm_lists = [] ge_lists = [] pv_lists = [] wk_lists = [] dlr_rows = arcpy.SearchCursor(dlr) fwr_rows = arcpy.SearchCursor(fwr) dlr_fields = arcpy.ListFields(dlr) fwr_fields = arcpy.ListFields(fwr) dlr_lists = [] fwr_lists = [] dlr_zuws = [] fwr_zuws = [] gest_k = (8.35, 11.45, 12, 13.55, 17.3, 19.8, 21.04, 22.84, 27, 27.04, 30.13, 30.78, fl_bm_gs, fl_ge_gs, fl_pv_gs, fl_wk_gs) mean_gest_k = np.mean(gest_k) std_gest_k = np.std(gest_k) if fl_bm_gs < mean_gest_k - std_gest_k: bm_ges = "gut" elif fl_bm_gs >= mean_gest_k - std_gest_k and fl_bm_gs < mean_gest_k: bm_ges = "gut" elif fl_bm_gs >= mean_gest_k and fl_bm_gs < mean_gest_k + std_gest_k: bm_ges = "mittel" else: bm_ges = "schlecht" if fl_ge_gs < mean_gest_k - std_gest_k: ge_ges = "gut" elif fl_ge_gs >= mean_gest_k - std_gest_k and fl_ge_gs < mean_gest_k: ge_ges = "gut" elif fl_ge_gs >= mean_gest_k and fl_ge_gs < mean_gest_k + std_gest_k: ge_ges = "mittel" else: ge_ges = "schlecht" if fl_pv_gs < mean_gest_k - std_gest_k: pv_ges = "gut" elif fl_pv_gs >= mean_gest_k - std_gest_k and fl_pv_gs < mean_gest_k: pv_ges = "gut" elif fl_pv_gs >= mean_gest_k and fl_pv_gs < mean_gest_k + std_gest_k: pv_ges = "mittel" else: pv_ges = "schlecht" if fl_wk_gs < mean_gest_k - std_gest_k: wk_ges = "gut" elif fl_wk_gs >= mean_gest_k - std_gest_k and fl_wk_gs < mean_gest_k: wk_ges = "gut" elif fl_wk_gs >= mean_gest_k and fl_wk_gs < mean_gest_k + std_gest_k: wk_ges = "mittel" else: wk_ges = "schlecht" for bm in bms: if bm == "gut": bm_lists.append(3) elif bm == "mittel": bm_lists.append(2) else: bm_lists.append(1) for ge in ges: if ge == "gut": ge_lists.append(3) elif ge == "mittel": ge_lists.append(2) else: ge_lists.append(1) for pv in pvs: if pv == "gut": pv_lists.append(3) elif pv == "mittel": pv_lists.append(2) else: pv_lists.append(1) for wk in wks: if wk == "gut": wk_lists.append(3) elif wk == "mittel": wk_lists.append(2) else: wk_lists.append(1) for dlr_row in dlr_rows: for dlr_field in dlr_fields: if dlr_field.type == "SmallInteger": dlr_lists.append(dlr_row.getValue(dlr_field.name)) for fwr_row in fwr_rows: for fwr_field in fwr_fields: if fwr_field.type == "SmallInteger": fwr_lists.append(fwr_row.getValue(fwr_field.name)) for bm_list, dlr_list in zip(bm_lists, dlr_lists): if bm_list >= dlr_list: dlr_zuws.append("Biomasse") for ge_list, dlr_list in zip(ge_lists, dlr_lists): if ge_list >= dlr_list: dlr_zuws.append("Geothermie") for pv_list, dlr_list in zip(pv_lists, dlr_lists): if pv_list >= dlr_list: dlr_zuws.append("Photovoltaik") for wk_list, dlr_list in zip(wk_lists, dlr_lists): if wk_list >= dlr_list: dlr_zuws.append("Windkraft") for bm_list, fwr_list in zip(bm_lists, fwr_lists): if bm_list >= fwr_list: fwr_zuws.append("Biomasse") for ge_list, fwr_list in zip(ge_lists, fwr_lists): if ge_list >= fwr_list: fwr_zuws.append("Geothermie") for pv_list, fwr_list in zip(pv_lists, fwr_lists): if pv_list >= fwr_list: fwr_zuws.append("Photovoltaik") for wk_list, fwr_list in zip(wk_lists, fwr_lists): if wk_list >= fwr_list: fwr_zuws.append("Windkraft") count_dlr = Counter(dlr_zuws) count_fwr = Counter(fwr_zuws) count_dlr_value = max(count_dlr.values()) count_dlr_result = [key for key, value in count_dlr.iteritems() if value == count_dlr_value ] count_fwr_value = max(count_fwr.values()) count_fwr_result = [key for key, value in count_fwr.iteritems() if value == count_fwr_value ] dlr_energy = ', '.join(count_dlr_result) fwr_energy = ', '.join(count_fwr_result) with arcpy.da.UpdateCursor(dlr, "Energieform") as cursor: for row in cursor: row[0] = dlr_energy cursor.updateRow(row) with arcpy.da.UpdateCursor(fwr, "Energieform") as cursor: for row in cursor: row[0] = fwr_energy cursor.updateRow(row) dlr_checks = arcpy.SearchCursor(dlr) fwr_checks = arcpy.SearchCursor(fwr) for dlr_check in dlr_checks: if dlr_check.getValue("Energieform") == "Windkraft": arcpy.ApplySymbologyFromLayer_management("Dienstleistungsraum", "C:/_exchange/Geo/Test/Symbology/wk.lyr") elif dlr_check.getValue("Energieform") == "Windkraft, Photovoltaik": arcpy.ApplySymbologyFromLayer_management("Dienstleistungsraum", "C:/_exchange/Geo/Test/Symbology/wk_pv.lyr") elif dlr_check.getValue("Energieform") == "Photovoltaik": arcpy.ApplySymbologyFromLayer_management("Dienstleistungsraum", "C:/_exchange/Geo/Test/Symbology/pv.lyr") for fwr_check in fwr_checks: if fwr_check.getValue("Energieform") == "Windkraft": arcpy.ApplySymbologyFromLayer_management("Forstwirtschaftlicher_Raum", "C:/_exchange/Geo/Test/Symbology/wk.lyr") elif fwr_check.getValue("Energieform") == "Windkraft, Photovoltaik": arcpy.ApplySymbologyFromLayer_management("Forstwirtschaftlicher_Raum", "C:/_exchange/Geo/Test/Symbology/wk_pv.lyr") elif fwr_check.getValue("Energieform") == "Photovoltaik": arcpy.ApplySymbologyFromLayer_management("Forstwirtschaftlicher_Raum", "C:/_exchange/Geo/Test/Symbology/pv.lyr")
Signed in members can post, follow updates, and more. New here? Register a free account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.