Algunos arreglos por lo de los sensores en recogida

Gerardo/estandarizacion
Elena 2022-07-01 14:09:02 +02:00
parent f4cc88041f
commit 4ad48b4477
6 changed files with 77 additions and 109 deletions

20
.gitignore vendored
View File

@ -41,3 +41,23 @@ OliviaTasks/[Dd]ebug/*
/OliviaTasks/OliviaTasks.vcxproj.user /OliviaTasks/OliviaTasks.vcxproj.user
/bin/x64/* /bin/x64/*
/bin/* /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

View File

@ -213,6 +213,7 @@ BOOL COlivia::inicia(char *cmdline,char *err, int nerr)
BOOL ret = TRUE; BOOL ret = TRUE;
borra_log_old();//borra log antiguo----- borra_log_old();//borra log antiguo-----
olvlog(LOG_TODO, "olv", "Param %s", cmdline);
if(!coge_param(cmdline)) if(!coge_param(cmdline))
{ {
@ -273,6 +274,8 @@ BOOL COlivia::pon_config(char *config)
ya_config=TRUE; ya_config=TRUE;
olvlog(LOG_TODO, "olv", "Config %s", config);
if(strstr(config,OliviaDef::GeneralDef::SockConfPlan)) if(strstr(config,OliviaDef::GeneralDef::SockConfPlan))
modo_ejec=OLV_EJEC_PLAN; modo_ejec=OLV_EJEC_PLAN;
else if(strstr(config,OliviaDef::GeneralDef::SockConfTodo)) else if(strstr(config,OliviaDef::GeneralDef::SockConfTodo))
@ -384,7 +387,7 @@ void COlivia::prueba()
/////////////////// ///////////////////
//solo para debug elena olivia //solo para debug elena olivia
i=1; i=3;
if(fin) if(fin)
{ {
@ -403,94 +406,38 @@ void COlivia::prueba()
switch(i) switch(i)
{ {
case 1://coor_inst_x:542996.13 /coor_inst_y:4624509.22 case 1:
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 "\ 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 "\ "/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 "\
"/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 "\ "/cons_anch_tip:ANCHO_TIPO /cons_tipolo:TIPOLOGIA /cons_tip_ent:NOM_TIPO_ENTIDAD /atr_aparc:Banda Aparcamiento /atr_bord:Bordillo Libre "\
"/path_nw:C:\\Proyectos\\Olivia\\Instal\\data_barrMix2Ejes_Todo\\nw_20190605_234043.shp "\ "/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 "\
"/cons_obser:OBSERVACIONES /cons_anch_tip:ANCHO_TIPO /cons_tipolo:TIPOLOGIA /cons_tip_ent:NOM_TIPO_ENTIDAD "\ "/atr_TF:TF /atr_FT:FT /atr_N:N /atr_pedes:14 /str_tto:Barrido_man "\
"/atr_aparc:Banda Aparcamiento /atr_bord:Bordillo Libre /atr_acera:Aceras /atr_peat:Peatonales"\ "/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 ");
"/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 ");
break; break;
case 2: case 3://nw de arcmap
sprintf_s(config, max_char_cap,"/CONFIG_TODO /campo_capaci:CAPACIDAD /kg_max:11500 /campo_kgrecog:KGRECO /campo_uds:UNIDADES "\ 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 "\
"/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 "\ "/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 "\
"/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 "\ "/cons_anch_tip:ANCHO_TIPO /cons_tipolo:TIPOLOGIA /cons_tip_ent:NOM_TIPO_ENTIDAD /atr_aparc:Banda Aparcamiento /atr_bord:Bordillo Libre "\
"/coor_desc_x:545024,4974 /coor_desc_y:4623840,8944 /sens_id: /sens_url: /sens_fechai: /sens_fechaf: /md_pet:-1 "\ "/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 "\
"/aislados:0 /lateralidad:-1 /cons_onew:ONEWAY /cons_kph:KPH /cons_fow:FOW /cons_name:NAME /atr_TF:TF /atr_FT:FT "\ "/atr_TF:TF /atr_FT:FT /atr_N:N /atr_pedes:14 /str_tto:Barrido_man "\
"/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_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 ");
"/path_nw:C:\\Proyectos\\Olivia\\Instal\\data_reco\\nw_20190624_130559.shp ");
break; break;
case 3: //coor_inst_x:542996.13 /coor_inst_y:4624509.22 case 2://orig arcmap
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" 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 "\
"/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 " "/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_tipolo:TIPOLOGIA /cons_tip_ent:NOM_TIPO_ENTIDAD /atr_aparc:Banda Aparcamiento /atr_bord:Bordillo Libre /atr_acera:Aceras /atr_peat:Peatonales " "/cons_anch_tip:ANCHO_TIPO /cons_tipolo:TIPOLOGIA /cons_tip_ent:NOM_TIPO_ENTIDAD /atr_aparc:Banda Aparcamiento /atr_bord:Bordillo Libre "\
"/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 " "/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 "\
"/str_tto:Barrido_manual /path_data:C:\\Proyectos\\Olivia\\Instal\\data_limp_grande\\data_T00_A04050607_NNivel3_20191020_01228.shp " "/atr_TF:TF /atr_FT:FT /atr_N:N /atr_pedes:14 /str_tto:Barrido_man "\
"/path_nw:C:\\Proyectos\\Olivia\\Instal\\data_limp_grande\\nw_20191020_01228.shp "); "/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; break;
case(4):///coor_inst_x:545184,9643 /coor_inst_y:4624026,7103 case 4://datos arcgis
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 "\ 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 "\
"/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 "\ "/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_tipolo:TIPOLOGIA /cons_tip_ent:NOM_TIPO_ENTIDAD /atr_aparc:Banda Aparcamiento /atr_bord:Bordillo Libre /atr_acera:Aceras /atr_peat:Peatonales "\ "/cons_anch_tip:ANCHO_TIPO /cons_tipolo:TIPOLOGIA /cons_tip_ent:NOM_TIPO_ENTIDAD /atr_aparc:Banda Aparcamiento /atr_bord:Bordillo Libre "\
"/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 "\ "/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 "\
"/str_tto:Barrido_mixto /path_data:C:\\Proyectos\\Olivia\\Instal\\data_barrmix\\data_T05_A01030405_NVehículosSatelite_20191019_120727.shp "\ "/atr_TF:TF /atr_FT:FT /atr_N:N /atr_pedes:14 /str_tto:Barrido_man "\
"/path_nw:C:\\Proyectos\\Olivia\\Instal\\data_barrmix\\nw_20191019_120727.shp "); "/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; 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 ");
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;
} }
/////////////////////////////////////////////// ///////////////////////////////////////////////

View File

@ -41,18 +41,18 @@ Colv_limp::Colv_limp(COlivia *olv)
cost_conj.clear(); cost_conj.clear();
sec=NULL; sec=NULL;
amb_sec=NULL; amb_sec=NULL;
ang_lim = OLV_LIMP_GIRO_VEHIC * OLV_PI / 180;
rellena_campos(); rellena_campos();
margen_sect=0.04; margen_sect=0.04;
plan=NULL; plan=NULL;
calc_nsec=0; calc_nsec=0;
ang_conj=NULL; ang_conj=NULL;
tip_conj.clear(); tip_conj.clear();
ang_lim=OLV_LIMP_GIRO_VEHIC*OLV_PI/180;
ord_sec=NULL; ord_sec=NULL;
nod_instal=-1; nod_instal=-1;
ord_sec_plan=NULL; ord_sec_plan=NULL;
t_ini=7*3600; //7 de la mañana t_ini=7*3600; //7 de la mañana
igno_ais=FALSE; igno_ais=TRUE;
lateral=0; lateral=0;
nsec_act=0; nsec_act=0;
olv_tasks = new Colv_tasks(olv); olv_tasks = new Colv_tasks(olv);

View File

@ -537,7 +537,6 @@ BOOL Colv_limp_thr::abre_datos()
pon_mi_progre(OLV_TAREA_IMP, 0); pon_mi_progre(OLV_TAREA_IMP, 0);
pon_mi_msg(""); pon_mi_msg("");
err_str[0]=0; err_str[0]=0;
//abre la cartografía con los datos //abre la cartografía con los datos
if(!olv_limp->carto.importShp(olv_limp->olv->paths.path_data)) 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; CartoBaseInfoEntity ient_ace, ient_otro;
na_desp = (int)ceil(1.0*(olv_limp->n_amb)/n_subthr); 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); 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); olvlog(LOG_TODO,"olv_limp_t","Subthr %ld, Comprueba Barr Mix Ambs %04d a %04d", ithr, na_ini, na_fin);
seg = GetTickCount(); seg = GetTickCount();
@ -999,7 +998,6 @@ BOOL Colv_limp_thr::rellena_info_amb()
BOOL ret=TRUE,modo_ejes=FALSE; BOOL ret=TRUE,modo_ejes=FALSE;
int barr_mix=0; int barr_mix=0;
char nfile[MAX_PATH]; char nfile[MAX_PATH];
//en principio, tipos puntuales no tienen info asociada //en principio, tipos puntuales no tienen info asociada
if(olv_limp->tipo_ambit==OLV_AMB_PUN) if(olv_limp->tipo_ambit==OLV_AMB_PUN)
return TRUE; return TRUE;
@ -1026,6 +1024,7 @@ BOOL Colv_limp_thr::rellena_info_amb()
goto fin; goto fin;
} }
//busca el campo de observaciones, de ancho_tipo, de tipo_entidad y tipología_aparc //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); icampo=dbf.findCol(olv_limp->camps.campo_obs);
icampa=dbf.findCol(olv_limp->camps.campo_anch); icampa=dbf.findCol(olv_limp->camps.campo_anch);
icampta=dbf.findCol(olv_limp->camps.campo_tipo_ap); icampta=dbf.findCol(olv_limp->camps.campo_tipo_ap);
@ -1149,7 +1148,7 @@ BOOL Colv_limp_thr::rellena_info_amb()
if(ia<olv_limp->n_amb) if(ia<olv_limp->n_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; ret=FALSE;
goto fin; 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 pp.id_e=OLV_TAREA_COST_AMB;//manda de parámetro la tarea de la que es el progreso
KK=olv_limp->tipo_ambit; KK=olv_limp->tipo_ambit;
na_desp = (int)ceil(1.0*(olv_limp->n_amb)/n_subthr); 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); 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; mal=FALSE;
pp.id_e=OLV_TAREA_COST_AMB;//manda de parámetro la tarea de la que es el progreso 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_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); n_fin = min((ithr+1)*n_desp,nent);
cost=cost2=0; cost=cost2=0;
nd=0; nd=0;
@ -3319,7 +3318,7 @@ void Colv_limp_thr::calcula_ang_conj_sub(int ithr)
{ {
Param_olv_limp_thr pp; 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; int n_ini, n_desp, n_fin, seg;
BOOL mal=FALSE; BOOL mal=FALSE;
BYTE aa; BYTE aa;
@ -3331,9 +3330,9 @@ void Colv_limp_thr::calcula_ang_conj_sub(int ithr)
KK=olv_limp->tipo_ambit; KK=olv_limp->tipo_ambit;
nconj=olv_limp->conjs.n; nconj=olv_limp->conjs.n;
n_desp = (int)ceil(1.0*nconj/n_subthr); 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); n_fin = min((ithr+1)*n_desp,nconj);
na=0; na=nn=0;
conjs=NULL; conjs=NULL;
conjs=(BYTE*)malloc(olv_limp->conjs.n*sizeof(BYTE)); conjs=(BYTE*)malloc(olv_limp->conjs.n*sizeof(BYTE));
if(!conjs) if(!conjs)
@ -3419,6 +3418,7 @@ void Colv_limp_thr::calcula_ang_conj_sub(int ithr)
{ {
ang=dame_ang_conj(ic,i,j); ang=dame_ang_conj(ic,i,j);
aa=(ang<=olv_limp->ang_lim); aa=(ang<=olv_limp->ang_lim);
nn++;
} }
} }
olv_limp->ang_conj[ic].pon_ang_i_j(i,j,aa); 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) if(conjs)
free(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); 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 pp.id_e=OLV_TAREA_COST_AMB;//manda de parámetro la tarea de la que es el progreso
KK=olv_limp->tipo_ambit; KK=olv_limp->tipo_ambit;
na_desp = (int)ceil(1.0*(olv_limp->n_amb)/n_subthr); 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); na_fin = min((ithr+1)*na_desp,olv_limp->n_amb);
costes_nodos=NULL; costes_nodos=NULL;
//////////////// ////////////////
@ -6942,7 +6942,7 @@ void Colv_limp_thr::planifica_sub_1(int ithr, Matrix2d<float> &cost_amb)
{ {
//hay más sectores que threads, le tocan más de uno //hay más sectores que threads, le tocan más de uno
is_desp=(int)ceil(1.0*(olv_limp->nsec)/n_subthr); 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); 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]; char path_shp[MAX_PATH];
//antes ha tenido que generar un único lineal con la ruta //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 //primero graba los archivos de la ruta de los sectores
//graba todos los sectores en un único path //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; nconj=olv_limp->conjs.n;
//las conjunciones que va a hacer //las conjunciones que va a hacer
n_desp = (int)ceil(1.0*nconj/n_subthr); 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); n_fin = min((ithr+1)*n_desp,nconj);
memset(&hd,0,sizeof(HeadCostConj)); memset(&hd,0,sizeof(HeadCostConj));

View File

@ -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.fn_cont_status,OLV_MAX_URL,"get_container_status");
sprintf_s(info_sens.usr,OLV_MAX_CAMP_HTTP,"VSM"); sprintf_s(info_sens.usr,OLV_MAX_CAMP_HTTP,"VSM");
sprintf_s(info_sens.pwd,OLV_MAX_CAMP_HTTP,"VSM2017"); 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 //la respuesta del servicio en JSON
sprintf_s(info_sens.camps_json.histo,OLV_MAX_CAMP_HTTP_LONG,"HistoricalFillingData"); sprintf_s(info_sens.camps_json.histo,OLV_MAX_CAMP_HTTP_LONG,"HistoricalFillingData");

View File

@ -70,10 +70,10 @@ void Colv_reco_thr::cola_proc(int evento, OlvAsync_cola<Param_olv_limp_thr> *cla
bien=this_i->rellena_datos(); bien=this_i->rellena_datos();
if(bien && (this_i->olv->modo_ejec<OLV_EJEC_DEBUG_NOSIGUE) && !this_i->pirate)//sigue if(bien && (this_i->olv->modo_ejec<OLV_EJEC_DEBUG_NOSIGUE) && !this_i->pirate)//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); this_i->encola(OLV_LIMP_EV_UNE_AMB_NW,NULL,FALSE);
else /*else
this_i->encola(OLV_RECO_EV_SENS,NULL,FALSE); this_i->encola(OLV_RECO_EV_SENS,NULL,FALSE);*/
} }
break; 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 pp.id_e=OLV_TAREA_SENS;//manda de parámetro la tarea de la que es el progreso
KK=olv_limp->tipo_ambit; KK=olv_limp->tipo_ambit;
na_desp = (int)ceil(1.0*(olv_limp->n_amb)/n_subthr); 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); na_fin = min((ithr+1)*na_desp,olv_limp->n_amb);
nno=0; nno=0;
//////////////// ////////////////
@ -1151,7 +1151,7 @@ void Colv_reco_thr::planifica_sub_1(int ithr, Matrix2d<float> &cost_amb)
{ {
//hay más sectores que threads, le tocan más de uno //hay más sectores que threads, le tocan más de uno
is_desp=(int)ceil(1.0*(olv_limp->nsec)/n_subthr); 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); is_fin=min((ithr+1)*is_desp,olv_limp->nsec);
} }
////////////////////////// //////////////////////////