Modos de viaje
parent
9273611e3f
commit
3f57544e9d
|
|
@ -1445,7 +1445,7 @@ namespace OliviaAddInPro.Helper
|
|||
if (!System.IO.Directory.Exists(outpath))
|
||||
System.IO.Directory.CreateDirectory(outpath);
|
||||
FeatureClass fc = null;
|
||||
bool debug = true;
|
||||
bool debug = false;
|
||||
/////////////////////////////////////////////////////////
|
||||
//Prepara una where_clause con las entidades que cumplen el filtro
|
||||
//Abre la featureclass
|
||||
|
|
@ -2755,7 +2755,7 @@ namespace OliviaAddInPro.Helper
|
|||
/*
|
||||
* Renombra un campo de la feature class dada
|
||||
*/
|
||||
public static bool AddFieldsSync(string fcname, FieldToAdd[] fields)
|
||||
public static bool AddFieldsSync(string fcname, FieldToAdd[] fields)
|
||||
{
|
||||
bool res = false;
|
||||
|
||||
|
|
|
|||
|
|
@ -27,6 +27,8 @@ namespace OliviaAddInPro.Model
|
|||
public static string cons_evit = "_evita"; //Campo que indica si el vial es evitable
|
||||
public static string cons_ele_f = "_elev_f"; //altura from
|
||||
public static string cons_ele_t = "_elev_t"; //altura to
|
||||
public static string cons_angulo = "_angulo"; //altura to
|
||||
|
||||
public static OliviaConfNW config; //configuracion para sacar capmos por defecto
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -15,11 +15,16 @@ namespace OliviaAddInPro.Model
|
|||
nombre = "default";
|
||||
filtro_omitir = "";
|
||||
campo_prioridad = "0";
|
||||
|
||||
vehiculo_def_reco = -1;
|
||||
vehiculo_def_lim = -1;
|
||||
}
|
||||
|
||||
public string nombre { get; set; }
|
||||
public string filtro_omitir { get; set; }
|
||||
public string campo_prioridad { get; set; }
|
||||
|
||||
public int vehiculo_def_reco { get; set; }
|
||||
public int vehiculo_def_lim { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,5 +25,7 @@ namespace OliviaAddInPro.Model
|
|||
public bool comprueba_elevacion { get; set; }
|
||||
public bool revisa_topologia { get; set; }
|
||||
public bool revisa_conjunciones { get; set; }
|
||||
public bool revisa_angulos { get; set; }
|
||||
public string campo_angulos { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -164,6 +164,7 @@ namespace OliviaAddInPro.Model
|
|||
public const string GG_elev = "elevacion";
|
||||
public const string GG_topo = "reviTopo";
|
||||
public const string GG_conj = "reviConj";
|
||||
public const string GG_angu = "reviAng";
|
||||
/**
|
||||
* Define las propiedades de limpieza a enviar a oliviatasks
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -402,18 +402,20 @@ namespace OliviaAddInPro.Services
|
|||
c.ListaNw = new List<OliviaConfNW>();
|
||||
c.ListaNw.Add(new OliviaConfNW()
|
||||
{
|
||||
nombre= "TomTom",
|
||||
campo_velocidad= "$feature.KPH",
|
||||
campo_nombre= "$feature.NAME",
|
||||
campo_peatonal= "IIf( $feature.FOW == 14 || $feature.ONEWAY == 'N', 1, 0)",
|
||||
campo_sentidoFT= "IIF($feature.ONEWAY== 'FT' || $feature.ONEWAY == '', 1 , 0)",
|
||||
campo_sentidoTf= "IIF($feature.ONEWAY == 'TF' || $feature.ONEWAY == '', 1, 0)",
|
||||
campo_elevacion_from= "$feature.F_ELEV",
|
||||
campo_elevacion_to= "$feature.T_ELEV",
|
||||
comprueba_elevacion =true,
|
||||
revisa_topologia=false,
|
||||
revisa_conjunciones = false
|
||||
});
|
||||
nombre = "TomTom",
|
||||
campo_velocidad = "$feature.KPH",
|
||||
campo_nombre = "$feature.NAME",
|
||||
campo_peatonal = "IIf( $feature.FOW == 14 || $feature.ONEWAY == 'N', 1, 0)",
|
||||
campo_sentidoFT = "IIF($feature.ONEWAY== 'FT' || $feature.ONEWAY == '', 1 , 0)",
|
||||
campo_sentidoTf = "IIF($feature.ONEWAY == 'TF' || $feature.ONEWAY == '', 1, 0)",
|
||||
campo_elevacion_from = "$feature.F_ELEV",
|
||||
campo_elevacion_to = "$feature.T_ELEV",
|
||||
comprueba_elevacion = true,
|
||||
revisa_topologia = false,
|
||||
revisa_conjunciones = false,
|
||||
revisa_angulos = false,
|
||||
campo_angulos = "0"
|
||||
}); ;
|
||||
c.ListaNw.Add(new OliviaConfNW()
|
||||
{
|
||||
nombre = "StreetMapPremiun",
|
||||
|
|
@ -426,7 +428,9 @@ namespace OliviaAddInPro.Services
|
|||
campo_elevacion_to = "IIf( $feature.T_ZLEV != null, $feature.T_ZLEV, 0)",
|
||||
comprueba_elevacion = false,
|
||||
revisa_topologia = false,
|
||||
revisa_conjunciones = true
|
||||
revisa_conjunciones = true,
|
||||
revisa_angulos = true,
|
||||
campo_angulos = "IIF($feature.ROAD_CLASS== '3 - Highway Ramp' || $feature.ROAD_CLASS== '6 - Major Road' || $feature.ROAD_CLASS == '1 - Surface Street', 90 , 0)"
|
||||
});
|
||||
c.ListaMV = new List<OliviaConfMV>();
|
||||
c.ListaMV.Add(new OliviaConfMV()
|
||||
|
|
|
|||
|
|
@ -344,7 +344,7 @@ namespace OliviaAddInPro.Services
|
|||
var where = String.Empty;
|
||||
if (!String.IsNullOrEmpty(ComunDef.configMV.filtro_omitir))
|
||||
{
|
||||
where = "not(" + ComunDef.configMV.filtro_omitir + ")";
|
||||
where = ComunDef.configMV.filtro_omitir;
|
||||
}
|
||||
filtroEspacial = HelperGdb.CreateFiler(where, geom_export);
|
||||
if (filtroEspacial == null)
|
||||
|
|
@ -381,6 +381,7 @@ namespace OliviaAddInPro.Services
|
|||
OliviaGlob.Paths.PathNW_c = OliviaGlob.Paths.DirData + com.NombreShpExportNw_C;
|
||||
if (ComunDef.CamposNW.config.revisa_conjunciones)
|
||||
{
|
||||
filtroEspacial = HelperGdb.CreateFiler(String.Empty, geom_export);
|
||||
com.ProgrSrc.IncMessage(10, "Revisando conjunciones de la red");//60%
|
||||
if (!HelperGdb.ExportShp2(OliviaGlob.Paths.PathGdbNw_conj, filtroEspacial, com.NombreShpExportNw_C, OliviaGlob.Paths.DirData, com.ProgrSrc._ProgrSrc, spatRefData, 100))
|
||||
{
|
||||
|
|
@ -412,7 +413,7 @@ namespace OliviaAddInPro.Services
|
|||
}
|
||||
bool EstandarizaCamposNW(string pathNW)
|
||||
{
|
||||
HelperGdb.FieldToAdd[] fields = new HelperGdb.FieldToAdd[8];
|
||||
HelperGdb.FieldToAdd[] fields = new HelperGdb.FieldToAdd[9];
|
||||
//campo SECTOR
|
||||
int i = 0;
|
||||
fields[i].Name = ComunDef.CamposNW.cons_kph;
|
||||
|
|
@ -461,7 +462,12 @@ namespace OliviaAddInPro.Services
|
|||
fields[i].Alias = ComunDef.CamposNW.cons_name;
|
||||
fields[i].Tipo = "TEXT";
|
||||
fields[i].Length = 128;
|
||||
i++;
|
||||
|
||||
fields[i].Name = ComunDef.CamposNW.cons_angulo;
|
||||
fields[i].Alias = ComunDef.CamposNW.cons_angulo;
|
||||
fields[i].Tipo = "FLOAT";
|
||||
fields[i].Length = 128;
|
||||
|
||||
|
||||
if (!HelperGdb.AddFieldsSync(pathNW, fields))
|
||||
|
|
@ -485,6 +491,9 @@ namespace OliviaAddInPro.Services
|
|||
|
||||
if (!HelperGdb.CalculateFieldsSync(pathNW, ComunDef.CamposNW.cons_evit, ComunDef.configMV.campo_prioridad))
|
||||
return false;
|
||||
|
||||
if (!HelperGdb.CalculateFieldsSync(pathNW, ComunDef.CamposNW.cons_angulo, ComunDef.CamposNW.config.campo_angulos))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -83,6 +83,7 @@ namespace OliviaAddInPro.Services.LanzaSrv
|
|||
GeneralDef.EjecGeoParamSep + GeneralDef.GG_elev + GeneralDef.EjecGeoParamIgual + (ComunDef.CamposNW.config.comprueba_elevacion ? 1 : 0) + " " +
|
||||
GeneralDef.EjecGeoParamSep + GeneralDef.GG_topo + GeneralDef.EjecGeoParamIgual + (ComunDef.CamposNW.config.revisa_topologia ? 1 : 0) + " " +
|
||||
GeneralDef.EjecGeoParamSep + GeneralDef.GG_conj + GeneralDef.EjecGeoParamIgual + (ComunDef.CamposNW.config.revisa_conjunciones ? 1 : 0) + " " +
|
||||
GeneralDef.EjecGeoParamSep + GeneralDef.GG_angu + GeneralDef.EjecGeoParamIgual + (ComunDef.CamposNW.config.revisa_angulos ? 1 : 0) + " " +
|
||||
//campos del dbf de limpieza para leer
|
||||
GeneralDef.EjecGeoParamSep + GeneralDef.GAA_obser + GeneralDef.EjecGeoParamIgual + LimpiezaDef.Campos.consulta_observ + " " +
|
||||
GeneralDef.EjecGeoParamSep + GeneralDef.GAA_anch_tip + GeneralDef.EjecGeoParamIgual + LimpiezaDef.Campos.consulta_anch_tip + " " +
|
||||
|
|
|
|||
|
|
@ -94,6 +94,7 @@ namespace OliviaAddInPro.Services.LanzaSrv
|
|||
GeneralDef.EjecGeoParamSep + GeneralDef.GG_elev + GeneralDef.EjecGeoParamIgual + (ComunDef.CamposNW.config.comprueba_elevacion ? 1 : 0) + " " +
|
||||
GeneralDef.EjecGeoParamSep + GeneralDef.GG_topo + GeneralDef.EjecGeoParamIgual + (ComunDef.CamposNW.config.revisa_topologia ? 1 : 0) + " " +
|
||||
GeneralDef.EjecGeoParamSep + GeneralDef.GG_conj + GeneralDef.EjecGeoParamIgual + (ComunDef.CamposNW.config.revisa_conjunciones ? 1 : 0) + " " +
|
||||
GeneralDef.EjecGeoParamSep + GeneralDef.GG_angu + GeneralDef.EjecGeoParamIgual + (ComunDef.CamposNW.config.revisa_angulos ? 1 : 0) + " " +
|
||||
GeneralDef.EjecGeoParamSep + GeneralDef.GR_lateral + GeneralDef.EjecGeoParamIgual + reco.TipoLate + " " +
|
||||
//mima de la nw
|
||||
GeneralDef.EjecGeoParamSep + GeneralDef.GTO_mima_xmin + GeneralDef.EjecGeoParamIgual + reco.MimaNw.XMin + " " +
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ namespace OliviaAddInPro.Services
|
|||
public Respuesta<bool> Ejecuta(ModosEjec modo)
|
||||
{
|
||||
var modos_viaje = ConfigServ.Serv.Leer().ListaMV;
|
||||
if (modos_viaje != null && modos_viaje.Count > TipoMv)
|
||||
if (modos_viaje != null && modos_viaje.Count > TipoMv && TipoMv >= 0)
|
||||
{
|
||||
ComunDef.configMV = modos_viaje[TipoMv];
|
||||
}
|
||||
|
|
@ -126,6 +126,34 @@ namespace OliviaAddInPro.Services
|
|||
res.AddRange(conf.ListaMV.Select(c => c.nombre));
|
||||
return res;
|
||||
}
|
||||
public int GetModosViajesDefecto(int vehiculo)
|
||||
{
|
||||
|
||||
var conf = ConfigServ.Serv.Leer();
|
||||
var res = new ObservableCollection<string>();
|
||||
if (conf.ListaMV == null || conf.ListaMV.Count <= 0)
|
||||
return -1;
|
||||
for(int i=0; i< conf.ListaMV.Count; i++)
|
||||
{
|
||||
if (conf.ListaMV[i].vehiculo_def_reco == vehiculo)
|
||||
return i;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
public int GetModosViajesDefecto(bool rcircu)
|
||||
{
|
||||
int vehiculo= rcircu? 1: 0;
|
||||
var conf = ConfigServ.Serv.Leer();
|
||||
var res = new ObservableCollection<string>();
|
||||
if (conf.ListaMV == null || conf.ListaMV.Count <= 0)
|
||||
return -1;
|
||||
for (int i = 0; i < conf.ListaMV.Count; i++)
|
||||
{
|
||||
if (conf.ListaMV[i].vehiculo_def_lim == vehiculo)
|
||||
return i;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
/**
|
||||
* Comprueba lo necesario para ver si hay campos para la planificación
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -70,7 +70,15 @@ namespace OliviaAddInPro.Services
|
|||
{
|
||||
Value = false
|
||||
};
|
||||
|
||||
var modos_viaje = ConfigServ.Serv.Leer().ListaMV;
|
||||
if (modos_viaje != null && modos_viaje.Count > TipoMv && TipoMv>=0)
|
||||
{
|
||||
ComunDef.configMV = modos_viaje[TipoMv];
|
||||
}
|
||||
else
|
||||
{
|
||||
ComunDef.configMV = new OliviaConfMV();
|
||||
}
|
||||
com = (TratamientoComun)reco;
|
||||
string nombFileAmbs = string.Empty;
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
VerticalAlignment="Top" Width="260" SelectionChanged="comboBox_mv_SelectionChanged"
|
||||
SelectedIndex="{Binding Path=TipoMv, Mode = TwoWay}"/>
|
||||
<Label Content="Ámbitos de Trabajo" HorizontalAlignment="Left" Margin="15,0,0,0" VerticalAlignment="Top" RenderTransformOrigin="-0.391,-0.203" FontWeight="DemiBold"/>
|
||||
<ComboBox x:Name="comboBox_ambitos" IsEnabled="{Binding Path=CapaAbierta, Mode = TwoWay}" ItemsSource="{Binding Path=tiposMv, Mode = TwoWay}" HorizontalAlignment="Left" Margin="20,0,0,0"
|
||||
<ComboBox x:Name="comboBox_ambitos" IsEnabled="{Binding Path=CapaAbierta, Mode = TwoWay}" ItemsSource="{Binding Path=OpsAmbs, Mode = TwoWay}" HorizontalAlignment="Left" Margin="20,0,0,0"
|
||||
VerticalAlignment="Top" Width="260" SelectionChanged="comboBox_ambitos_SelectionChanged"
|
||||
SelectedIndex="{Binding Path=SelOpAmb, Mode = TwoWay}"/>
|
||||
<ListBox x:Name="listBox_ambitos" IsEnabled="{Binding Path=CapaAbierta, Mode = TwoWay}" ItemsSource="{Binding Path=Ambitos, Mode = TwoWay}" HorizontalAlignment="Left" Height="100"
|
||||
|
|
|
|||
|
|
@ -287,7 +287,9 @@ namespace OliviaAddInPro
|
|||
if (TipoTto != (int)LimpiezaDef.TiposTto.TtoNoDef)
|
||||
{
|
||||
RespCirc = LimpiezaDef.rest_circ[TipoTto];
|
||||
|
||||
int tv = limpServ.GetModosViajesDefecto(RespCirc);
|
||||
if (tv >= 0)
|
||||
TipoMv = tv;
|
||||
if (LimpiezaDef.v_desplazamiento[TipoTto] > 0)
|
||||
{
|
||||
TextVeloDespl = Convert.ToString(LimpiezaDef.v_desplazamiento[TipoTto]);
|
||||
|
|
|
|||
|
|
@ -602,6 +602,11 @@ namespace OliviaAddInPro
|
|||
TipoVehic = tto;
|
||||
if (TipoVehic >= 0)
|
||||
{
|
||||
int tmv =new LimpiezaServ(null).GetModosViajesDefecto(TipoVehic);
|
||||
if(tmv>=0)
|
||||
{
|
||||
TipoMv = tmv;
|
||||
}
|
||||
//si también se ha seleccionado tipo de carga, se rellena la lista de capacidades
|
||||
rellena_capac();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue