From 4ad48b4477978710cdb5a1c4488d2b3793b819e1 Mon Sep 17 00:00:00 2001 From: Elena Date: Fri, 1 Jul 2022 14:09:02 +0200 Subject: [PATCH] Algunos arreglos por lo de los sensores en recogida --- .gitignore | 20 +++++++ Olivia/olv.cpp | 117 +++++++++++----------------------------- Olivia/olv_limp.cpp | 6 +-- Olivia/olv_limp_thr.cpp | 30 +++++------ Olivia/olv_reco.cpp | 3 +- Olivia/olv_reco_thr.cpp | 10 ++-- 6 files changed, 77 insertions(+), 109 deletions(-) diff --git a/.gitignore b/.gitignore index 643ca4f..b3cd9f7 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,23 @@ OliviaTasks/[Dd]ebug/* /OliviaTasks/OliviaTasks.vcxproj.user /bin/x64/* /bin/* +/bin/Debug/OliviaTasks.exe +/bin/Debug/OliviaTasks.lic +/bin/Debug/utiles.dll +/bin/x64/debug/ClientLic.dll +/bin/x64/debug/FileTransfer.dll +/bin/x64/debug/licUtiles.dll +/bin/x64/debug/Olivia.dll +/bin/x64/debug/OliviaTasks.exe +/bin/x64/debug/utiles.dll +/bin/x64/release/ClientLic.dll +/bin/x64/release/FileTransfer.dll +/bin/x64/release/licUtiles.dll +/bin/x64/release/Olivia.dll +/bin/x64/release/OliviaTasks.exe +/bin/x64/release/utiles.dll +/lib/Debug/utiles.lib +/Olivia.sln +/Olivia/Olivia.vcxproj +/OliviaTasks/OliviaTasks.vcxproj +/OliviaTasks/OliviaTasks.vcxproj.user diff --git a/Olivia/olv.cpp b/Olivia/olv.cpp index 163ea40..cf1a8af 100644 --- a/Olivia/olv.cpp +++ b/Olivia/olv.cpp @@ -213,6 +213,7 @@ BOOL COlivia::inicia(char *cmdline,char *err, int nerr) BOOL ret = TRUE; borra_log_old();//borra log antiguo----- + olvlog(LOG_TODO, "olv", "Param %s", cmdline); if(!coge_param(cmdline)) { @@ -272,6 +273,8 @@ BOOL COlivia::pon_config(char *config) BOOL ret=FALSE; ya_config=TRUE; + + olvlog(LOG_TODO, "olv", "Config %s", config); if(strstr(config,OliviaDef::GeneralDef::SockConfPlan)) modo_ejec=OLV_EJEC_PLAN; @@ -384,7 +387,7 @@ void COlivia::prueba() /////////////////// //solo para debug elena olivia - i=1; + i=3; if(fin) { @@ -403,94 +406,38 @@ void COlivia::prueba() switch(i) { - case 1://coor_inst_x:542996.13 /coor_inst_y:4624509.22 - sprintf_s(config, max_char_cap,"/CONFIG_TODO /t_tto:2900 /restr_cir:0 /u_tto:1 /v_despl:3 /t_conv:480 /t_descan:30 /t_despl:30 /t_carg:30 /aislados:0 "\ - "/h_inicio:450 /trafico:80 "\ - "/n_ptsctrl:3 /n_secdef:2 /anch_med:0 /coor_inst_x:0 /coor_inst_y:0 /path_data:C:\\Proyectos\\Olivia\\Instal\\data_barrMix2Ejes_Todo\\data_T05_20190605_234043.shp "\ - "/path_nw:C:\\Proyectos\\Olivia\\Instal\\data_barrMix2Ejes_Todo\\nw_20190605_234043.shp "\ - "/cons_obser:OBSERVACIONES /cons_anch_tip:ANCHO_TIPO /cons_tipolo:TIPOLOGIA /cons_tip_ent:NOM_TIPO_ENTIDAD "\ - "/atr_aparc:Banda Aparcamiento /atr_bord:Bordillo Libre /atr_acera:Aceras /atr_peat:Peatonales"\ - "/atr_ap_lin:Linea /atr_ap_bat:Bateria /cons_onew:ONEWAY /cons_kph:KPH /cons_fow:FOW "\ - "/cons_name:NAME /atr_TF:TF /atr_FT:FT /atr_N:N /atr_pedes:14 /str_tto:Barrido_mixto "); + case 1: + sprintf_s(config, max_char_cap,"/CONFIG /t_tto:2900 /restr_cir:0 /u_tto:3 /v_despl:5 /t_conv:480 /t_descan:30 /t_despl:25 /t_carg:40 "\ + "/h_inicio:450 /trafico:80 /n_ptsctrl:3 /n_secdef:3 /anch_med:2 /coor_inst_x:0 /coor_inst_y:0 /aislados:1 /cons_obser:OBSERVACIONES "\ + "/cons_anch_tip:ANCHO_TIPO /cons_tipolo:TIPOLOGIA /cons_tip_ent:NOM_TIPO_ENTIDAD /atr_aparc:Banda Aparcamiento /atr_bord:Bordillo Libre "\ + "/atr_acera:Aceras /atr_peat:Peatonales /atr_ap_lin:Linea /atr_ap_bat:Bateria /cons_onew:ONEWAY /cons_kph:KPH /cons_fow:FOW /cons_name:NAME "\ + "/atr_TF:TF /atr_FT:FT /atr_N:N /atr_pedes:14 /str_tto:Barrido_man "\ + "/path_data:D:\\Proyectos\\Olivia\\Instal2.0\\data\\data_T00_A04050607_NNivel7_20220327_155737.shp /path_nw:D:\\Proyectos\\Olivia\\Instal2.0\\data\\nw_20220327_155737.shp "); break; - case 2: - sprintf_s(config, max_char_cap,"/CONFIG_TODO /campo_capaci:CAPACIDAD /kg_max:11500 /campo_kgrecog:KGRECO /campo_uds:UNIDADES "\ - "/recogida_kg:200 /carga_cont:-1 /densidad:-1 /t_conv:480 /t_descan:30 /t_vacia:60 /t_descarg:20 /t_sallleg:5 /h_inicio:420 "\ - "/trafico:80 /n_ptsctrl:3 /n_secdef:3 /anch_vehi:2,5 /giro_vehi:175 /coor_inst_x:545024,4974 /coor_inst_y:4623840,8944 "\ - "/coor_desc_x:545024,4974 /coor_desc_y:4623840,8944 /sens_id: /sens_url: /sens_fechai: /sens_fechaf: /md_pet:-1 "\ - "/aislados:0 /lateralidad:-1 /cons_onew:ONEWAY /cons_kph:KPH /cons_fow:FOW /cons_name:NAME /atr_TF:TF /atr_FT:FT "\ - "/atr_N:N /atr_pedes:14 /str_tto:Resto /path_data:C:\\Proyectos\\Olivia\\Instal\\data_reco\\data_F01_C06_T1603_20190624_130559.shp "\ - "/path_nw:C:\\Proyectos\\Olivia\\Instal\\data_reco\\nw_20190624_130559.shp "); - break; - case 3: //coor_inst_x:542996.13 /coor_inst_y:4624509.22 - sprintf_s(config, max_char_cap,"/CONFIG_TODO /t_tto:2900 /restr_cir:0 /u_tto:3 /v_despl:5 /t_conv:480 /t_descan:30 /t_despl:25 /t_carg:40 /h_inicio:420" - "/trafico:80 /n_ptsctrl:3 /n_secdef:4 /anch_med:2 /coor_inst_x:0 /coor_inst_y:0 /aislados:0 /cons_obser:OBSERVACIONES /cons_anch_tip:ANCHO_TIPO " - "/cons_tipolo:TIPOLOGIA /cons_tip_ent:NOM_TIPO_ENTIDAD /atr_aparc:Banda Aparcamiento /atr_bord:Bordillo Libre /atr_acera:Aceras /atr_peat:Peatonales " - "/atr_ap_lin:Linea /atr_ap_bat:Bateria /cons_onew:ONEWAY /cons_kph:KPH /cons_fow:FOW /cons_name:NAME /atr_TF:TF /atr_FT:FT /atr_N:N /atr_pedes:14 " - "/str_tto:Barrido_manual /path_data:C:\\Proyectos\\Olivia\\Instal\\data_limp_grande\\data_T00_A04050607_NNivel3_20191020_01228.shp " - "/path_nw:C:\\Proyectos\\Olivia\\Instal\\data_limp_grande\\nw_20191020_01228.shp "); + case 3://nw de arcmap + sprintf_s(config, max_char_cap, "/CONFIG /t_tto:2900 /restr_cir:0 /u_tto:3 /v_despl:5 /t_conv:480 /t_descan:30 /t_despl:25 /t_carg:40 "\ + "/h_inicio:450 /trafico:80 /n_ptsctrl:3 /n_secdef:3 /anch_med:2 /coor_inst_x:0 /coor_inst_y:0 /aislados:1 /cons_obser:OBSERVACIONES "\ + "/cons_anch_tip:ANCHO_TIPO /cons_tipolo:TIPOLOGIA /cons_tip_ent:NOM_TIPO_ENTIDAD /atr_aparc:Banda Aparcamiento /atr_bord:Bordillo Libre "\ + "/atr_acera:Aceras /atr_peat:Peatonales /atr_ap_lin:Linea /atr_ap_bat:Bateria /cons_onew:ONEWAY /cons_kph:KPH /cons_fow:FOW /cons_name:NAME "\ + "/atr_TF:TF /atr_FT:FT /atr_N:N /atr_pedes:14 /str_tto:Barrido_man "\ + "/path_data:D:\\Proyectos\\Olivia\\Instal2.0\\data\\data_T00_A04050607_NNivel7_20220327_155737.shp /path_nw:D:\\Proyectos\\Olivia\\Instal2.0\\data\\nw_20220327_170516.shp "); break; - case(4):///coor_inst_x:545184,9643 /coor_inst_y:4624026,7103 - sprintf_s(config, max_char_cap,"/CONFIG_TODO /t_tto:5600 /restr_cir:1 /u_tto:3 /v_despl:15 /t_conv:480 /t_descan:30 /t_despl:25 /t_carg:40 /h_inicio:420 /trafico:80 "\ - "/n_ptsctrl:3 /n_secdef:2 /anch_med:2 /coor_inst_x:545184,9643 /coor_inst_y:4624026,7103 /aislados:0 /cons_obser:OBSERVACIONES /cons_anch_tip:ANCHO_TIPO "\ - "/cons_tipolo:TIPOLOGIA /cons_tip_ent:NOM_TIPO_ENTIDAD /atr_aparc:Banda Aparcamiento /atr_bord:Bordillo Libre /atr_acera:Aceras /atr_peat:Peatonales "\ - "/atr_ap_lin:Linea /atr_ap_bat:Bateria /cons_onew:ONEWAY /cons_kph:KPH /cons_fow:FOW /cons_name:NAME /atr_TF:TF /atr_FT:FT /atr_N:N /atr_pedes:14 "\ - "/str_tto:Barrido_mixto /path_data:C:\\Proyectos\\Olivia\\Instal\\data_barrmix\\data_T05_A01030405_NVehículosSatelite_20191019_120727.shp "\ - "/path_nw:C:\\Proyectos\\Olivia\\Instal\\data_barrmix\\nw_20191019_120727.shp "); + case 2://orig arcmap + sprintf_s(config, max_char_cap, "/CONFIG /t_tto:2900 /restr_cir:0 /u_tto:3 /v_despl:5 /t_conv:480 /t_descan:30 /t_despl:25 /t_carg:40 "\ + "/h_inicio:420 /trafico:80 /n_ptsctrl:3 /n_secdef:3 /anch_med:2 /coor_inst_x:0 /coor_inst_y:0 /aislados:0 /cons_obser:OBSERVACIONES "\ + "/cons_anch_tip:ANCHO_TIPO /cons_tipolo:TIPOLOGIA /cons_tip_ent:NOM_TIPO_ENTIDAD /atr_aparc:Banda Aparcamiento /atr_bord:Bordillo Libre "\ + "/atr_acera:Aceras /atr_peat:Peatonales /atr_ap_lin:Linea /atr_ap_bat:Bateria /cons_onew:ONEWAY /cons_kph:KPH /cons_fow:FOW /cons_name:NAME "\ + "/atr_TF:TF /atr_FT:FT /atr_N:N /atr_pedes:14 /str_tto:Barrido_man "\ + "/path_data:D:\\Proyectos\\Olivia\\Instal2.0\\data\\data_T00_A04050607_NNivel7_20220327_170516.shp /path_nw:D:\\Proyectos\\Olivia\\Instal2.0\\data\\nw_20220327_170516.shp "); break; - case(5):///coor_desc_x:543385,702 /coor_desc_y:4622930,4 - sprintf_s(config, max_char_cap,"/CONFIG_TODO /campo_capaci:CAPACIDAD /kg_max:850 /campo_kgrecog:KGRECO /campo_uds:UNIDADES /recogida_kg:200 "\ - "/carga_cont:-1 /densidad:-1 /t_conv:480 /t_descan:30 /t_vacia:60 /t_descarg:20 /t_sallleg:5 /h_inicio:420 /trafico:80 /n_ptsctrl:3 "\ - "/n_secdef:2 /anch_vehi:2,5 /giro_vehi:175 /coor_inst_x:545184,9643 /coor_inst_y:4624026,7103 /coor_desc_x:543385,702 /coor_desc_y:4622930,4 "\ - "/sens_id: /sens_url: /sens_fechai: /sens_fechaf: /md_pet:-1 /aislados:0 /lateralidad:-1 /cons_onew:ONEWAY /cons_kph:KPH /cons_fow:FOW /cons_name:NAME "\ - "/atr_TF:TF /atr_FT:FT /atr_N:N /atr_pedes:14 /str_tto:Resto /path_data:C:\\Proyectos\\Olivia\\Instal\\data_reco\\data_F01_C06_TVehículosSatelite_20191019_120001.shp "\ - "/path_nw:C:\\Proyectos\\Olivia\\Instal\\data_reco\\nw_20191019_120001.shp "); + case 4://datos arcgis + sprintf_s(config, max_char_cap, "/CONFIG /t_tto:2900 /restr_cir:0 /u_tto:3 /v_despl:5 /t_conv:480 /t_descan:30 /t_despl:25 /t_carg:40 "\ + "/h_inicio:450 /trafico:80 /n_ptsctrl:3 /n_secdef:3 /anch_med:2 /coor_inst_x:0 /coor_inst_y:0 /aislados:0 /cons_obser:OBSERVACIONES "\ + "/cons_anch_tip:ANCHO_TIPO /cons_tipolo:TIPOLOGIA /cons_tip_ent:NOM_TIPO_ENTIDAD /atr_aparc:Banda Aparcamiento /atr_bord:Bordillo Libre "\ + "/atr_acera:Aceras /atr_peat:Peatonales /atr_ap_lin:Linea /atr_ap_bat:Bateria /cons_onew:ONEWAY /cons_kph:KPH /cons_fow:FOW /cons_name:NAME "\ + "/atr_TF:TF /atr_FT:FT /atr_N:N /atr_pedes:14 /str_tto:Barrido_man "\ + "/path_data:D:\\Proyectos\\Olivia\\Instal2.0\\data\\data_T00_A04050607_NNivel7_20220327_155737.shp /path_nw:D:\\Proyectos\\Olivia\\Instal2.0\\data\\nw_20220327_170516.shp "); break; - case(6):///coor_desc_x:543385,702 /coor_desc_y:4622930,4 - sprintf_s(config, max_char_cap,"/CONFIG_TODO /campo_capaci:CAPACIDAD /kg_max:850 /campo_kgrecog:KGRECO /campo_uds:UNIDADES /recogida_kg:200 "\ - "/carga_cont:-1 /densidad:-1 /t_conv:480 /t_descan:30 /t_vacia:60 /t_descarg:20 /t_sallleg:5 /h_inicio:420 /trafico:80 /n_ptsctrl:3 "\ - "/n_secdef:3 /anch_vehi:2,5 /giro_vehi:175 /coor_inst_x:545184,9643 /coor_inst_y:4624026,7103 /coor_desc_x:543385,702 /coor_desc_y:4622930,4 "\ - "/sens_id: /sens_url: /sens_fechai: /sens_fechaf: /md_pet:-1 /aislados:0 /lateralidad:-1 /cons_onew:ONEWAY /cons_kph:KPH /cons_fow:FOW /cons_name:NAME "\ - "/atr_TF:TF /atr_FT:FT /atr_N:N /atr_pedes:14 /str_tto:Resto /path_data:C:\\Proyectos\\Olivia\\Instal\\data_comp_reco\\data_F01_C01_TNivel3_20191026_234244.shp "\ - "/path_nw:C:\\Proyectos\\Olivia\\Instal\\data_comp_reco\\nw_20191026_234244.shp "); - break; - case(51): //ger - strcpy(config, "/CONFIG_TODO /campo_capaci:CAPACIDAD /kg_max:8500 " - "/campo_kgrecog:KGRECO /campo_uds:UNIDADES /recogida_kg:200 /carga_cont:-1 " - "/densidad:-1 /t_conv:480 /t_descan:30 /t_vacia:60 /t_descarg:20 " - "/t_sallleg:5 /h_inicio:420 /trafico:80 /n_ptsctrl:3 /n_secdef:2 " - "/anch_vehi:2,5 /giro_vehi:175 /coor_inst_x:545184,9643 " - "/coor_inst_y:4624026,7103 /coor_desc_x:545184,9643 /coor_desc_y:4624026,7103 " - "/sens_id: /sens_url: /sens_fechai: /sens_fechaf: /md_pet:-1 /aislados:0 " - "/lateralidad:-1 /cons_onew:ONEWAY /cons_kph:KPH /cons_fow:FOW /cons_name:NAME " - "/atr_TF:TF /atr_FT:FT /atr_N:N /atr_pedes:14 /str_tto:Resto " - "/path_data:D:\\DatosOlivia\\data_reco\\data_F01_C06_TVehículosSatelite_20191019_120001.shp " - "/path_nw:D:\\DatosOlivia\\data_reco\\nw_20191019_120001.shp "); - break; -case(52): //ger - strcpy(config, "/CONFIG /t_tto:2900 /restr_cir:0 /u_tto:3 /v_despl:5 /t_conv:480 " - "/t_descan:30 /t_despl:25 /t_carg:40 /h_inicio:420 /trafico:80 /n_ptsctrl:3 /n_secdef:2 " - "/anch_med:2 /coor_inst_x:0 /coor_inst_y:0 /aislados:0 /cons_obser:OBSERVACIONES /cons_anch_tip:ANCHO_TIPO" - " /cons_tipolo:TIPOLOGIA /cons_tip_ent:NOM_TIPO_ENTIDAD /atr_aparc:Banda Aparcamiento /atr_bord:Bordillo Libre" - " /atr_acera:Aceras /atr_peat:Peatonales /atr_ap_lin:Linea /atr_ap_bat:Bateria /cons_onew:ONEWAY /cons_kph:KPH" - " /cons_fow:FOW /cons_name:NAME /atr_TF:TF /atr_FT:FT /atr_N:N /atr_pedes:14 /str_tto:Barrido_manual " - "/path_data:D:\\DatosOlivia\\data_limp\\data_T00_A04050607_NVehiculosSatelite_20191019_115600.shp " - "/path_nw:D:\\DatosOlivia\\data_limp\\nw_20191019_115600.shp "); - break; - -case(53): //ger - strcpy(config, "/CONFIG /t_tto:2900 /restr_cir:0 /u_tto:3 /v_despl:5 " - "/t_conv:480 /t_descan:30 /t_despl:25 /t_carg:40 /h_inicio:420 " - "/trafico:80 /n_ptsctrl:3 /n_secdef:3 /anch_med:2 /coor_inst_x:0 " - "/coor_inst_y:0 /aislados:0 /cons_obser:OBSERVACIONES /cons_anch_tip:ANCHO_TIPO " - "/cons_tipolo:TIPOLOGIA /cons_tip_ent:NOM_TIPO_ENTIDAD " - "/atr_aparc:Banda Aparcamiento /atr_bord:Bordillo Libre /atr_acera:Aceras " - "/atr_peat:Peatonales /atr_ap_lin:Linea /atr_ap_bat:Bateria /cons_onew:ONEWAY " - "/cons_kph:KPH /cons_fow:FOW /cons_name:NAME /atr_TF:TF /atr_FT:FT /atr_N:N " - "/atr_pedes:14 /str_tto:Barrido_manual " - "/path_data:D:\\DatosOlivia\\data_limp_grande\\data_T00_A04050607_NNivel3_20191020_01228.shp " - "/path_nw:D:\\DatosOlivia\\data_limp_grande\\nw_20191020_01228.shp "); - break; } /////////////////////////////////////////////// diff --git a/Olivia/olv_limp.cpp b/Olivia/olv_limp.cpp index 44ed1be..9d18d38 100644 --- a/Olivia/olv_limp.cpp +++ b/Olivia/olv_limp.cpp @@ -41,18 +41,18 @@ Colv_limp::Colv_limp(COlivia *olv) cost_conj.clear(); sec=NULL; amb_sec=NULL; + ang_lim = OLV_LIMP_GIRO_VEHIC * OLV_PI / 180; rellena_campos(); margen_sect=0.04; plan=NULL; calc_nsec=0; ang_conj=NULL; - tip_conj.clear(); - ang_lim=OLV_LIMP_GIRO_VEHIC*OLV_PI/180; + tip_conj.clear(); ord_sec=NULL; nod_instal=-1; ord_sec_plan=NULL; t_ini=7*3600; //7 de la mañana - igno_ais=FALSE; + igno_ais=TRUE; lateral=0; nsec_act=0; olv_tasks = new Colv_tasks(olv); diff --git a/Olivia/olv_limp_thr.cpp b/Olivia/olv_limp_thr.cpp index ee32332..0b9ccb5 100644 --- a/Olivia/olv_limp_thr.cpp +++ b/Olivia/olv_limp_thr.cpp @@ -536,8 +536,7 @@ BOOL Colv_limp_thr::abre_datos() olvlog(LOG_TODO,"olv_limp_t","Abriendo datos"); pon_mi_progre(OLV_TAREA_IMP, 0); pon_mi_msg(""); - err_str[0]=0; - + err_str[0]=0; //abre la cartografía con los datos if(!olv_limp->carto.importShp(olv_limp->olv->paths.path_data)) { @@ -653,7 +652,7 @@ void Colv_limp_thr::mejora_barr_mix_sub(int ithr) CartoBaseInfoEntity ient_ace, ient_otro; na_desp = (int)ceil(1.0*(olv_limp->n_amb)/n_subthr); - na_ini=ithr*na_desp; + na_ini= min(ithr*na_desp, olv_limp->n_amb); na_fin = min((ithr+1)*na_desp,olv_limp->n_amb); olvlog(LOG_TODO,"olv_limp_t","Subthr %ld, Comprueba Barr Mix Ambs %04d a %04d", ithr, na_ini, na_fin); seg = GetTickCount(); @@ -999,7 +998,6 @@ BOOL Colv_limp_thr::rellena_info_amb() BOOL ret=TRUE,modo_ejes=FALSE; int barr_mix=0; char nfile[MAX_PATH]; - //en principio, tipos puntuales no tienen info asociada if(olv_limp->tipo_ambit==OLV_AMB_PUN) return TRUE; @@ -1026,6 +1024,7 @@ BOOL Colv_limp_thr::rellena_info_amb() goto fin; } //busca el campo de observaciones, de ancho_tipo, de tipo_entidad y tipología_aparc + //limita el ancho del campo icampo=dbf.findCol(olv_limp->camps.campo_obs); icampa=dbf.findCol(olv_limp->camps.campo_anch); icampta=dbf.findCol(olv_limp->camps.campo_tipo_ap); @@ -1149,7 +1148,7 @@ BOOL Colv_limp_thr::rellena_info_amb() if(ian_amb) { - sprintf_s(err_str,OLV_MAX_ERR,"Error al leer información asociada %ld en\n%s",ia,nfile); + sprintf_s(err_str,OLV_MAX_ERR,"Error al leer información asociada ia %ld OID %ld en\n%s", ia, olv_limp->iaso[ia].oid,nfile); ret=FALSE; goto fin; } @@ -1983,7 +1982,7 @@ void Colv_limp_thr::compr_cortes_amb_sub(int ithr) pp.id_e=OLV_TAREA_COST_AMB;//manda de parámetro la tarea de la que es el progreso KK=olv_limp->tipo_ambit; na_desp = (int)ceil(1.0*(olv_limp->n_amb)/n_subthr); - na_ini=ithr*na_desp; + na_ini= min(ithr*na_desp, olv_limp->n_amb); na_fin = min((ithr+1)*na_desp,olv_limp->n_amb); //////////////// @@ -3184,7 +3183,7 @@ void Colv_limp_thr::calcula_cost_conj_sub(int ithr) mal=FALSE; pp.id_e=OLV_TAREA_COST_AMB;//manda de parámetro la tarea de la que es el progreso n_desp = (int)ceil(1.0*(nent)/n_subthr); - n_ini=ithr*n_desp; + n_ini= min(ithr*n_desp, nent); n_fin = min((ithr+1)*n_desp,nent); cost=cost2=0; nd=0; @@ -3319,7 +3318,7 @@ void Colv_limp_thr::calcula_ang_conj_sub(int ithr) { Param_olv_limp_thr pp; - int i,j,nconj,KK,na,ic,nady; + int i,j,nconj,KK,na,ic,nady,nn; int n_ini, n_desp, n_fin, seg; BOOL mal=FALSE; BYTE aa; @@ -3331,9 +3330,9 @@ void Colv_limp_thr::calcula_ang_conj_sub(int ithr) KK=olv_limp->tipo_ambit; nconj=olv_limp->conjs.n; n_desp = (int)ceil(1.0*nconj/n_subthr); - n_ini=ithr*n_desp; + n_ini= min(ithr*n_desp, nconj); n_fin = min((ithr+1)*n_desp,nconj); - na=0; + na=nn=0; conjs=NULL; conjs=(BYTE*)malloc(olv_limp->conjs.n*sizeof(BYTE)); if(!conjs) @@ -3419,6 +3418,7 @@ void Colv_limp_thr::calcula_ang_conj_sub(int ithr) { ang=dame_ang_conj(ic,i,j); aa=(ang<=olv_limp->ang_lim); + nn++; } } olv_limp->ang_conj[ic].pon_ang_i_j(i,j,aa); @@ -3442,7 +3442,7 @@ void Colv_limp_thr::calcula_ang_conj_sub(int ithr) if(conjs) free(conjs); - olvlog(LOG_TODO,"olv_limp_t","Subthr %ld, Fin Matriz de ang entre conjs, %ld ángulos, %.3f seg", ithr, na,1.0*(GetTickCount()-seg)/1000); + olvlog(LOG_TODO,"olv_limp_t","Subthr %ld, Fin Matriz de ang entre conjs, %ld ángulos, %ld dist 0, %.3f seg", ithr, na,nn,1.0*(GetTickCount()-seg)/1000); thr_padre->encola(OLV_LIMP_EV_ANG_CONJ_FIN,NULL,FALSE); } @@ -3938,7 +3938,7 @@ void Colv_limp_thr::calcula_cost_amb_sub(int ithr) pp.id_e=OLV_TAREA_COST_AMB;//manda de parámetro la tarea de la que es el progreso KK=olv_limp->tipo_ambit; na_desp = (int)ceil(1.0*(olv_limp->n_amb)/n_subthr); - na_ini=ithr*na_desp; + na_ini= min(ithr*na_desp, olv_limp->n_amb); na_fin = min((ithr+1)*na_desp,olv_limp->n_amb); costes_nodos=NULL; //////////////// @@ -6942,7 +6942,7 @@ void Colv_limp_thr::planifica_sub_1(int ithr, Matrix2d &cost_amb) { //hay más sectores que threads, le tocan más de uno is_desp=(int)ceil(1.0*(olv_limp->nsec)/n_subthr); - is_ini=ithr*is_desp; + is_ini= min(ithr*is_desp, olv_limp->nsec); is_fin=min((ithr+1)*is_desp,olv_limp->nsec); } ////////////////////////// @@ -7822,7 +7822,7 @@ BOOL Colv_limp_thr::guarda_shp_rut_ctrl() char path_shp[MAX_PATH]; //antes ha tenido que generar un único lineal con la ruta - olvlog(LOG_TODO,"olv_limp_t","Guardandoa shp los archivos de rutas"); + olvlog(LOG_TODO,"olv_limp_t","Guardando a shp los archivos de rutas"); //primero graba los archivos de la ruta de los sectores //graba todos los sectores en un único path @@ -10345,7 +10345,7 @@ void Colv_limp_thr::guarda_mats_sub(int ithr) nconj=olv_limp->conjs.n; //las conjunciones que va a hacer n_desp = (int)ceil(1.0*nconj/n_subthr); - n_ini=ithr*n_desp; + n_ini= min(ithr*n_desp, nconj); n_fin = min((ithr+1)*n_desp,nconj); memset(&hd,0,sizeof(HeadCostConj)); diff --git a/Olivia/olv_reco.cpp b/Olivia/olv_reco.cpp index 790f536..7f08342 100644 --- a/Olivia/olv_reco.cpp +++ b/Olivia/olv_reco.cpp @@ -281,7 +281,8 @@ void Colv_reco::rellena_campos_sens() sprintf_s(info_sens.fn_cont_status,OLV_MAX_URL,"get_container_status"); sprintf_s(info_sens.usr,OLV_MAX_CAMP_HTTP,"VSM"); sprintf_s(info_sens.pwd,OLV_MAX_CAMP_HTTP,"VSM2017"); - sprintf_s(info_sens.url,OLV_MAX_URL,"http://localiza.info/Utilidades/APIManager.aspx"); + //sprintf_s(info_sens.url,OLV_MAX_URL,"http://localiza.info/Utilidades/APIManager.aspx"); + sprintf_s(info_sens.url,OLV_MAX_URL,""); //la respuesta del servicio en JSON sprintf_s(info_sens.camps_json.histo,OLV_MAX_CAMP_HTTP_LONG,"HistoricalFillingData"); diff --git a/Olivia/olv_reco_thr.cpp b/Olivia/olv_reco_thr.cpp index 90f8533..677247c 100644 --- a/Olivia/olv_reco_thr.cpp +++ b/Olivia/olv_reco_thr.cpp @@ -70,10 +70,10 @@ void Colv_reco_thr::cola_proc(int evento, OlvAsync_cola *cla bien=this_i->rellena_datos(); if(bien && (this_i->olv->modo_ejecpirate)//sigue { - if(this_i->olv_reco->info_sens.url[0]==0) + //if(this_i->olv_reco->info_sens.url==" " || this_i->olv_reco->info_sens.url[0]==0) this_i->encola(OLV_LIMP_EV_UNE_AMB_NW,NULL,FALSE); - else - this_i->encola(OLV_RECO_EV_SENS,NULL,FALSE); + /*else + this_i->encola(OLV_RECO_EV_SENS,NULL,FALSE);*/ } break; } @@ -416,7 +416,7 @@ void Colv_reco_thr::pide_info_sens_sub(int ithr) pp.id_e=OLV_TAREA_SENS;//manda de parámetro la tarea de la que es el progreso KK=olv_limp->tipo_ambit; na_desp = (int)ceil(1.0*(olv_limp->n_amb)/n_subthr); - na_ini=ithr*na_desp; + na_ini= min(ithr*na_desp, olv_limp->n_amb); na_fin = min((ithr+1)*na_desp,olv_limp->n_amb); nno=0; //////////////// @@ -1151,7 +1151,7 @@ void Colv_reco_thr::planifica_sub_1(int ithr, Matrix2d &cost_amb) { //hay más sectores que threads, le tocan más de uno is_desp=(int)ceil(1.0*(olv_limp->nsec)/n_subthr); - is_ini=ithr*is_desp; + is_ini= min(ithr*is_desp, olv_limp->nsec); is_fin=min((ithr+1)*is_desp,olv_limp->nsec); } //////////////////////////