diff --git a/Helper/CheckedListItem.cs b/Helper/CheckedListItem.cs index e1a91d2..80b4229 100644 --- a/Helper/CheckedListItem.cs +++ b/Helper/CheckedListItem.cs @@ -13,16 +13,18 @@ namespace OliviaAddInPro.Helper private bool isChecked; private bool isEnabled; + private bool isVisible; private T item; public CheckedListItem() { } - public CheckedListItem(T item, bool isChecked = false, bool isEnabled = true) + public CheckedListItem(T item, bool isChecked = false, bool isEnabled = true, bool isVisible=true) { this.item = item; this.isChecked = isChecked; this.isEnabled = isEnabled; + this.isVisible = isVisible; } public T Item @@ -54,5 +56,14 @@ namespace OliviaAddInPro.Helper if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs("IsEnabled")); } } + public bool IsVisible + { + get { return isVisible; } + set + { + isVisible = value; + if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs("IsVisible")); + } + } } } diff --git a/Helper/HelperGdb.cs b/Helper/HelperGdb.cs index 734fe61..10780e3 100644 --- a/Helper/HelperGdb.cs +++ b/Helper/HelperGdb.cs @@ -12,6 +12,7 @@ using ArcGIS.Core.Geometry; using ArcGIS.Core.Data; using ArcGIS.Desktop.Mapping; using ArcGIS.Core.Internal.CIM; +using ArcGIS.Desktop.Internal.Layouts.Utilities; namespace OliviaAddInPro.Helper { @@ -21,7 +22,8 @@ namespace OliviaAddInPro.Helper public static string OutStr { get { - string val = out_str; + string val = ""; + val.CopyFrom(out_str); out_str = string.Empty; //lo borra cada vez que se consulta return val; } @@ -31,7 +33,8 @@ namespace OliviaAddInPro.Helper public static string TextoSal { get { - string val = texto_sal; + string val = ""; + val.CopyFrom(texto_sal); texto_sal = string.Empty; //lo borra cada vez que se consulta return val; } set { texto_sal = value; } @@ -263,6 +266,8 @@ namespace OliviaAddInPro.Helper ObservableCollection fields_st = new ObservableCollection(); return ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run((Func>)(() => { + if (fc == null) + return null; try { ftcldef = fc.GetDefinition(); diff --git a/Model/Comun.cs b/Model/Comun.cs index 8c71e60..6432b5c 100644 --- a/Model/Comun.cs +++ b/Model/Comun.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using ArcGIS.Core.Geometry; +using ArcGIS.Desktop.Internal.Layouts.Utilities; namespace OliviaAddInPro.Model { @@ -73,5 +74,18 @@ namespace OliviaAddInPro.Model * Número de sectores, si es 0, se calcula automáticamente, si es negativo, se ajusta a jornada */ public int NSect = 3; + /** + * String para errores o mensajes + */ + private string err_str = string.Empty; + public string ErrStr + { + get { + string val = string.Empty; + val.CopyFrom(err_str); + err_str = string.Empty; + return val; } + set { err_str = value;} + } } } diff --git a/Model/Limpieza.cs b/Model/Limpieza.cs index 8a109a8..3861b86 100644 --- a/Model/Limpieza.cs +++ b/Model/Limpieza.cs @@ -5,6 +5,9 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using OliviaAddInPro.Helper; +using System.Collections.ObjectModel; +using ArcGIS.Core.CIM; +using ArcGIS.Core.Data; namespace OliviaAddInPro.Model { @@ -29,6 +32,10 @@ namespace OliviaAddInPro.Model */ public int UdsTTto = (int)GeneralDef.OlvTiposTto.OlvTipTtoNoDef; + public Limpieza() + { + + } /** * Lee la gdb y devuelve el array de ámbitos en función de si hay en la gdb o no */ @@ -61,5 +68,61 @@ namespace OliviaAddInPro.Model return amb_gdb; } + /**Devuelve el array de los ámbitos comunes y no comunes de las opciones de un tratamiento tto + * Es un array de longitud el número de ámbitos totales, con true en las posiciones en los que el ámbito sea común o + * no común en las opciones + */ + public bool[] DameAmbTto(int tto) + { + int i; + bool sig; + bool[] amb_com = new bool[(int)LimpiezaDef.AmbitsTra.AmbN]; + + for (int j = 0; j < (int)LimpiezaDef.AmbitsTra.AmbN; j++) + { + sig = false; + for (i = 0; i < LimpiezaDef.ambs_val[tto].n_ops && !sig; i++) + { + if (LimpiezaDef.ambs_val[tto].ambs_ops[i].ambs[j]) //con que encuentre uno true lo pone y pasa al siguiente + { + amb_com[j] = sig = true; + } + } + } + return amb_com; + } + + /* + * Lee la capa que se ha seleccionzdo de limpieza y se comprueba que los campos que se han editado corresponden con la capa + * (es decir, se puede leer la capa con los campos configurados) + */ + public bool CompruebaCamposLimp() + { + int NCAMPS = 2; + string[] camps; + int i; + camps = new string[NCAMPS]; + camps[0] = LimpiezaDef.Campos.consulta_entidad; + camps[1] = LimpiezaDef.Campos.consulta_mecan; + FeatureClass fc = HelperGdb.GetFtClass(CapaElems); + if (fc == null) + { + ErrStr = "No se puede abrir la capa"; + return false; + } + + ObservableCollection fields = HelperGdb.GetFields(fc).Result; + for (i = 0; i < NCAMPS; i++) + { + if (!fields.Contains(camps[i])) + { + ErrStr = "No se encuentra el campo " + camps[i]; + break; + } + } + if (i < NCAMPS) + return false; + return true; + } } } diff --git a/Model/LimpiezaDef.cs b/Model/LimpiezaDef.cs index e1d9298..2ae7b21 100644 --- a/Model/LimpiezaDef.cs +++ b/Model/LimpiezaDef.cs @@ -248,11 +248,11 @@ namespace OliviaAddInPro.Model /** * Array de cadenas de doubles enumerando los tiempos de tratamiento para los diferentes tipos de tratamiento. */ - public static double[] tiempos_tto = new double[(int)LimpiezaDef.TiposTto.TtoN - 1]; + public static int[] tiempos_tto = new int[(int)LimpiezaDef.TiposTto.TtoN - 1]; /** * Array de cadenas de doubles enumerando las velocidades de desplazamiento para los diferentes tipos de tratamiento. */ - public static double[] v_desplazamiento = new double[(int)LimpiezaDef.TiposTto.TtoN - 1]; + public static int[] v_desplazamiento = new int[(int)LimpiezaDef.TiposTto.TtoN - 1]; /** * Array de cadenas de caracteres enumerando los tipos de tratamiento */ @@ -295,6 +295,7 @@ namespace OliviaAddInPro.Model inicia_matr_restr(); inicia_matr_amb(); inicia_matr_carg_desc(); + forma_filtros(); } /** * Inicializa la matriz de strings con los nombres (tipos de tratamiento) que llevarán los grupos de la geodatabase importada a ArcGIS una vez realizada la sectorización y la planificación @@ -764,28 +765,26 @@ namespace OliviaAddInPro.Model t_carg_desc[(int)LimpiezaDef.TiposTto.TtoLimpSane] = false; t_carg_desc[(int)LimpiezaDef.TiposTto.TtoCustom] = true; } - /**Devuelve el array de los ámbitos comunes y no comunes de las opciones de un tratamiento tto - * Es un array de longitud el número de ámbitos totales, con true en las posiciones en los que el ámbito sea común o - * no común en las opciones + /** + * Forma los filtros con las consultas y atributos */ - public static bool[] dame_amb(int tto) + public static void forma_filtros() { - int i; - bool sig; - bool[] amb_com = new bool[(int)LimpiezaDef.AmbitsTra.AmbN]; - - for (int j = 0; j < (int)LimpiezaDef.AmbitsTra.AmbN; j++) - { - sig = false; - for (i = 0; i < ambs_val[tto].n_ops && !sig; i++) - { - if (ambs_val[tto].ambs_ops[i].ambs[j]) //con que encuentre uno true lo pone y pasa al siguiente - { - amb_com[j] = sig = true; - } - } - } - return amb_com; + LimpiezaDef.filtro_str[(int)LimpiezaDef.AmbitsTra.AmbEjeCalle] = ""; + LimpiezaDef.filtro_str[(int)LimpiezaDef.AmbitsTra.AmbBordLibreMec] = LimpiezaDef.Campos.consulta_entidad + " = '" + LimpiezaDef.Atributos.atr_bord + "' AND " + LimpiezaDef.Campos.consulta_mecan + " = 'Si'"; + LimpiezaDef.filtro_str[(int)LimpiezaDef.AmbitsTra.AmbBordLibreNoMec] = LimpiezaDef.Campos.consulta_entidad + " = '" + LimpiezaDef.Atributos.atr_bord + "' AND " + LimpiezaDef.Campos.consulta_mecan + " = 'No'"; + LimpiezaDef.filtro_str[(int)LimpiezaDef.AmbitsTra.AmbBordAparc] = LimpiezaDef.Campos.consulta_entidad + " = '" + LimpiezaDef.Atributos.atr_aparc + "'"; + LimpiezaDef.filtro_str[(int)LimpiezaDef.AmbitsTra.AmbAceMec] = LimpiezaDef.Campos.consulta_entidad + " = '" + LimpiezaDef.Atributos.atr_acera + "' AND " + LimpiezaDef.Campos.consulta_mecan + " = 'Si'"; + LimpiezaDef.filtro_str[(int)LimpiezaDef.AmbitsTra.AmbAceNoMec] = LimpiezaDef.Campos.consulta_entidad + " = '" + LimpiezaDef.Atributos.atr_acera + "' AND " + LimpiezaDef.Campos.consulta_mecan + " = 'No'"; + LimpiezaDef.filtro_str[(int)LimpiezaDef.AmbitsTra.AmbCallePeatMec] = LimpiezaDef.Campos.consulta_entidad + " = '" + LimpiezaDef.Atributos.atr_peat + "' AND " + LimpiezaDef.Campos.consulta_mecan + " = 'Si'"; + LimpiezaDef.filtro_str[(int)LimpiezaDef.AmbitsTra.AmbCallePeatNoMec] = LimpiezaDef.Campos.consulta_entidad + " = '" + LimpiezaDef.Atributos.atr_peat + "' AND " + LimpiezaDef.Campos.consulta_mecan + " = 'No'"; + LimpiezaDef.filtro_str[(int)LimpiezaDef.AmbitsTra.AmbBordHojaMec] = LimpiezaDef.Campos.consulta_entidad + " = '" + LimpiezaDef.Atributos.atr_hoja + "' AND " + LimpiezaDef.Campos.consulta_mecan + " = 'Si'"; + LimpiezaDef.filtro_str[(int)LimpiezaDef.AmbitsTra.AmbBordHojaNoMec] = LimpiezaDef.Campos.consulta_entidad + " = '" + LimpiezaDef.Atributos.atr_hoja + "' AND " + LimpiezaDef.Campos.consulta_mecan + " = 'No'"; + LimpiezaDef.filtro_str[(int)LimpiezaDef.AmbitsTra.AmbConte] = ""; + LimpiezaDef.filtro_str[(int)LimpiezaDef.AmbitsTra.AmbPape] = LimpiezaDef.Campos.consulta_entidad + " = '" + LimpiezaDef.Atributos.atr_pape + "'"; + LimpiezaDef.filtro_str[(int)LimpiezaDef.AmbitsTra.AmbZInf] = LimpiezaDef.Campos.consulta_entidad + " = '" + LimpiezaDef.Atributos.atr_infan + "'"; + LimpiezaDef.filtro_str[(int)LimpiezaDef.AmbitsTra.AmbPipi] = LimpiezaDef.Campos.consulta_entidad + " = '" + LimpiezaDef.Atributos.atr_pipi + "'"; + LimpiezaDef.filtro_str[(int)LimpiezaDef.AmbitsTra.AmbSane] = LimpiezaDef.Campos.consulta_entidad + " = '" + LimpiezaDef.Atributos.atr_sane + "'"; } } diff --git a/Model/OliviaDef.cs b/Model/OliviaDef.cs index 0a456d0..aa83e0c 100644 --- a/Model/OliviaDef.cs +++ b/Model/OliviaDef.cs @@ -35,6 +35,7 @@ namespace OliviaAddInPro.Model OlvTipTtoM2h, OlvTipTtoM2h_eje, }; + public static string[] UdsTto = new string[] {"min","m/h","m/h","m2/h","m2/h"}; //************************************************************************************* //Variables generales /* diff --git a/Model/OliviaGlob.cs b/Model/OliviaGlob.cs index 9445529..f20e21a 100644 --- a/Model/OliviaGlob.cs +++ b/Model/OliviaGlob.cs @@ -53,5 +53,248 @@ namespace OliviaAddInPro.Model //set { limp = value; } } #endregion Properties + + public static void Inicia() + { + IniDefault(); + LimpiezaDef.iniciaLimpDef(); + limp = new Limpieza(); + } + + /** + * Inicializa los nombres por defecto de las variables, para debug por si no hay instalador + */ + public static void IniDefault() + { + Paths.PathWork = "C:\\Olivia\\"; + Paths.PathExeOlivia = "C:\\Olivia\\release\\OliviaTasks.exe"; + Paths.DirData = "C:\\Olivia\\data\\"; + Paths.PathTemp = "C:\\Olivia\\temp\\"; + Paths.PathCartela = "C:\\olivia\\data\\Plantilla.mxd"; + + Paths.PathGdbGen = "C:\\Olivia\\gdb\\BASE DE DATOS.gdb"; + Paths.PathGdbNw = "C:\\Datos ejemplo\\BUENO\\Multinet_Q4_2015\\TomTom_Q4_2015.gdb"; + Paths.PathSimbVSM = "C:\\Olivia\\styles\\Simbologia.style"; + Paths.PathSimbESRI = "C:\\Olivia\\styles\\ESRI.style"; + //puerto = 19995; + //buff_export = 1000; + + /////////////////////////////////////// + //Capas, consultas y filtros GENERALES + /*Capas.ftclass_ejes = "TomTom_Q4_2015___nw"; + Capas.ftclass_zonas = "SubNiveles"; + Capas.ftclass_restri = "TomTom_Q4_2015___rs"; + Capas.ftclass_muni = "TomTom_Q4_2015___a8";*/ + + /////////////////////////////////////// + //Capas, consultas, atributos y filtros de LIMPIEZA + LimpiezaDef.Capas.ftclass_niveles = "a2_Niveles_Limpieza"; + LimpiezaDef.Capas.ftclass_cont = "a_Contendores"; + LimpiezaDef.Capas.ftclass_mobi = "a_Mobiliario"; + LimpiezaDef.Capas.ftclass_limp_mec = "b_LimpMececanica"; + LimpiezaDef.Capas.ftclass_instala = "c_Instalaciones"; + + LimpiezaDef.Campos.consulta_entidad = "NOM_TIPO_ENTIDAD"; + LimpiezaDef.Campos.consulta_mecan = "MECANIZABLE"; + LimpiezaDef.Campos.consulta_observ = "OBSERVACIONES"; + LimpiezaDef.Campos.consulta_anch_tip = "ANCHO_TIPO"; + LimpiezaDef.Campos.consulta_tipolo = "TIPOLOGIA"; + + LimpiezaDef.Atributos.atr_esca = "Escaleras"; + LimpiezaDef.Atributos.atr_fuent = "Fuentes"; + LimpiezaDef.Atributos.atr_infan = "JuegosInfantiles"; + LimpiezaDef.Atributos.atr_pape = "Papelera"; + LimpiezaDef.Atributos.atr_paso_niv = "Paso_Dist_Nivel"; + LimpiezaDef.Atributos.atr_pipi = "Pipican"; + LimpiezaDef.Atributos.atr_sane = "Sanecan"; + LimpiezaDef.Atributos.atr_acera = "Aceras"; + LimpiezaDef.Atributos.atr_aparc = "Banda Aparcamiento"; + LimpiezaDef.Atributos.atr_bord = "Bordillo Libre"; + LimpiezaDef.Atributos.atr_hoja = "Caida Hoja"; + LimpiezaDef.Atributos.atr_peat = "Peatonales"; + LimpiezaDef.Atributos.atr_terri = "Areas Terrizas"; + LimpiezaDef.Atributos.atr_ocio = "Ocio"; + LimpiezaDef.Atributos.atr_org_ofi = "Organismos_Oficiales"; + LimpiezaDef.Atributos.atr_parq = "Parques"; + LimpiezaDef.Atributos.atr_park = "Parquin"; + LimpiezaDef.Atributos.atr_play = "Playa"; + LimpiezaDef.Atributos.atr_polid = "Polideportivo"; + LimpiezaDef.Atributos.atr_turis = "Puntos_Interes_Turistico"; + LimpiezaDef.Atributos.atr_solar = "Solares"; + LimpiezaDef.Atributos.atr_suelo = "Uso_Suelos"; + LimpiezaDef.Atributos.atr_ap_lin = "Linea"; + LimpiezaDef.Atributos.atr_ap_bat = "Bateria"; + + //para el grupo PARAMETROS de LIMPIEZA + LimpiezaDef.Parametros.t_ttoM = 40000; + LimpiezaDef.Parametros.t_ttom = 0; + LimpiezaDef.Parametros.v_despM = 40000; + LimpiezaDef.Parametros.v_despm = 0; + LimpiezaDef.Parametros.t_cardescM = 40000; + LimpiezaDef.Parametros.t_cardescm = 0; + LimpiezaDef.Parametros.t_cardesc = 40; + LimpiezaDef.Parametros.t_despM = 40000; + LimpiezaDef.Parametros.t_despm = 0; + LimpiezaDef.Parametros.t_desp = 25; + LimpiezaDef.Parametros.t_convM = 40000; + LimpiezaDef.Parametros.t_convm = 0; + LimpiezaDef.Parametros.t_conv = 60 * 8; + LimpiezaDef.Parametros.t_descansoM = 40000; + LimpiezaDef.Parametros.t_descansom = 0; + LimpiezaDef.Parametros.t_descanso = 30; + LimpiezaDef.Parametros.h_inicio = 420; + LimpiezaDef.Parametros.ancho_viaM = 2000; + LimpiezaDef.Parametros.ancho_viam = 0; + LimpiezaDef.Parametros.ancho_via = 2; + LimpiezaDef.Parametros.ttoBarMan = 2900; + LimpiezaDef.Parametros.ttoBarManMant = 2900; + LimpiezaDef.Parametros.ttoBarMMot = 3500; + LimpiezaDef.Parametros.ttoBarMC = 4000; + LimpiezaDef.Parametros.ttoBarMAP = 4200; + LimpiezaDef.Parametros.ttoBarMix = 5600; + LimpiezaDef.Parametros.ttoBalMan = 4000; + LimpiezaDef.Parametros.ttoBalMC = 5000; + LimpiezaDef.Parametros.ttoBalMAP = 4200; + LimpiezaDef.Parametros.ttoBalMix = 5600; + LimpiezaDef.Parametros.ttoBL = 4000; + LimpiezaDef.Parametros.ttoCH = 5600; + LimpiezaDef.Parametros.ttoVPap = 1; + LimpiezaDef.Parametros.ttoLPap = 5; + LimpiezaDef.Parametros.ttoLC = 5; + LimpiezaDef.Parametros.ttoLZI = 30; + LimpiezaDef.Parametros.ttoLPip = 30; + LimpiezaDef.Parametros.ttoLS = 5; + LimpiezaDef.Parametros.vdespBarMan = 5; + LimpiezaDef.Parametros.vdespBarManMant = 5; + LimpiezaDef.Parametros.vdespBarMMot = 25; + LimpiezaDef.Parametros.vdespBarMC = 15; + LimpiezaDef.Parametros.vdespBarMAP = 15; + LimpiezaDef.Parametros.vdespBarMix = 15; + LimpiezaDef.Parametros.vdespBalMan = 15; + LimpiezaDef.Parametros.vdespBalMC = 0; + LimpiezaDef.Parametros.vdespBalMAP = 15; + LimpiezaDef.Parametros.vdespBalMix = 15; + LimpiezaDef.Parametros.vdespBL = 5; + LimpiezaDef.Parametros.vdespCH = 15; + LimpiezaDef.Parametros.vdespVPap = 0; + LimpiezaDef.Parametros.vdespLPap = 0; + LimpiezaDef.Parametros.vdespLC = 0; + LimpiezaDef.Parametros.vdespLZI = 0; + LimpiezaDef.Parametros.vdespLPip = 0; + LimpiezaDef.Parametros.vdespLS = 0; + LimpiezaDef.Parametros.umbral_reco = 80; + + LimpiezaDef.OtrosParam.giro_max = 175; + LimpiezaDef.OtrosParam.anch_peat = 6; + LimpiezaDef.OtrosParam.anch_ace = 1.5; + LimpiezaDef.OtrosParam.anch_aplin = 2; + LimpiezaDef.OtrosParam.anch_apbat = 4; + LimpiezaDef.OtrosParam.anch_bordlib = 1.5; + LimpiezaDef.OtrosParam.desv_max = 0.15; + LimpiezaDef.OtrosParam.desv_max_abs = 1800; + + /////////////////////////////////////// + //Capas, consultas, atributos y filtros de RECOGIDA + /* + RecogidaDef.campos_def.cons_id = RecogidaDef.campos.cons_id = "OBJECTID"; + RecogidaDef.campos_def.cons_nomrec = RecogidaDef.campos.cons_nomrec = "NOMB_TIP_REC"; + RecogidaDef.campos_def.cons_lateral = RecogidaDef.campos.cons_lateral = "LATERALIDAD"; + RecogidaDef.campos_def.cons_fracc = RecogidaDef.campos.cons_fracc = "FRACCION"; + RecogidaDef.campos_def.cons_capac = RecogidaDef.campos.cons_capac = "CAPACIDAD"; + RecogidaDef.campos_def.cons_uds = RecogidaDef.campos.cons_uds = "UNIDADES"; + RecogidaDef.campos_def.cons_kgrec = RecogidaDef.campos.cons_kgrec = "KGRECO"; + RecogidaDef.kgrec_cont = RecogidaDef.kgrec_cont = 200; + + //Rellena los tipos de fracción + RecogidaDef.tipos_fracc_str[(int)RecogidaDef.TiposFracción.Organica] = "Organica"; + RecogidaDef.tipos_fracc_str[(int)RecogidaDef.TiposFracción.Resto] = "Resto"; + RecogidaDef.tipos_fracc_str[(int)RecogidaDef.TiposFracción.Envases] = "Envases"; + RecogidaDef.tipos_fracc_str[(int)RecogidaDef.TiposFracción.Papel] = "PapelCarton"; + RecogidaDef.tipos_fracc_str[(int)RecogidaDef.TiposFracción.Vidrio] = "Vidrio"; + //Rellena los tipos de carga + RecogidaDef.tipos_carg_str[(int)RecogidaDef.TiposCarga.Trasera] = "Carga Trasera"; + RecogidaDef.tipos_carg_str[(int)RecogidaDef.TiposCarga.Lateral] = "Carga Lateral"; + RecogidaDef.tipos_carg_str[(int)RecogidaDef.TiposCarga.Superior] = "Carga Superior"; + RecogidaDef.tipos_carg_str[(int)RecogidaDef.TiposCarga.Bilateral] = "Carga Bilateral"; + RecogidaDef.tipos_carg_str[(int)RecogidaDef.TiposCarga.BolseoPtaPta] = "Bolseo"; + RecogidaDef.tipos_carg_str[(int)RecogidaDef.TiposCarga.Lavado] = "Lavado de cont"; + + RecogidaDef.Parametros.t_vaciM = 40000; + RecogidaDef.Parametros.t_vacim = 0; + RecogidaDef.Parametros.t_llegsalM = 40000; + RecogidaDef.Parametros.t_llegsalm = 0; + RecogidaDef.Parametros.t_llegsal = 5; + RecogidaDef.Parametros.t_descM = 40000; + RecogidaDef.Parametros.t_descm = 0; + RecogidaDef.Parametros.t_desc = 40; + RecogidaDef.Parametros.t_convM = 40000; + RecogidaDef.Parametros.t_convm = 0; + RecogidaDef.Parametros.t_conv = 60 * 8; + RecogidaDef.Parametros.t_descansoM = 40000; + RecogidaDef.Parametros.t_descansom = 0; + RecogidaDef.Parametros.t_descanso = 30; + RecogidaDef.Parametros.h_inicio = 420; + RecogidaDef.Parametros.dens_vehi_org = 500; + RecogidaDef.Parametros.dens_vehi_res = 500; + RecogidaDef.Parametros.dens_vehi_env = 120; + RecogidaDef.Parametros.dens_vehi_pap = 250; + RecogidaDef.Parametros.dens_vehi_vid = 350; + RecogidaDef.Parametros.dens_vehi_otr = 100; + RecogidaDef.Parametros.dens_cont_org = 150; + RecogidaDef.Parametros.dens_cont_res = 100; + RecogidaDef.Parametros.dens_cont_env = 28; + RecogidaDef.Parametros.dens_cont_pap = 90; + RecogidaDef.Parametros.dens_cont_vid = 250; + RecogidaDef.Parametros.dens_cont_otr = 100; + RecogidaDef.Parametros.anch_vehi_3 = 2.4; + RecogidaDef.Parametros.anch_vehi_2 = 2.2; + RecogidaDef.Parametros.anch_vehi_s = 2; + RecogidaDef.Parametros.rad_giro_3 = 175; + RecogidaDef.Parametros.rad_giro_2 = 175; + RecogidaDef.Parametros.rad_giro_s = 175; + RecogidaDef.Parametros.t_vaci_tra = 30; + RecogidaDef.Parametros.t_vaci_lat = 90; + RecogidaDef.Parametros.t_vaci_sup = 180; + RecogidaDef.Parametros.t_vaci_bi = 100; + RecogidaDef.Parametros.t_vaci_bol = 5; + RecogidaDef.Parametros.t_vaci_lav = 60; + RecogidaDef.Parametros.t_vaci_otr = 60; + RecogidaDef.Parametros.kgmaxM = 20000; + RecogidaDef.Parametros.kgmaxm = 0; + RecogidaDef.Parametros.carga_maxM = 100; + RecogidaDef.Parametros.carga_maxm = 50; + + //Atributos LATERALIDAD + RecogidaDef.tipos_lateralidad[(int)RecogidaDef.Lateralidad.Ambos] = "Ambos"; + RecogidaDef.tipos_lateralidad[(int)RecogidaDef.Lateralidad.Dcha] = "Derecha"; + RecogidaDef.tipos_lateralidad[(int)RecogidaDef.Lateralidad.Izqda] = "Izquierda"; + + //Campos de SENSORES + RecogidaDef.campos_def.cons_id_sens = RecogidaDef.campos.cons_id_sens = "OBJECTID"; + RecogidaDef.campos_def.cons_url_sens = RecogidaDef.campos.cons_url_sens = "http://localiza.info/Utilidades/APIManager.aspx"; + RecogidaDef.campos_def.cons_fecha_sens = RecogidaDef.campos.cons_fecha_sens = "2000-01-01T00:00:00"; + RecogidaDef.campos_def.cons_fechaf_sens = RecogidaDef.campos.cons_fechaf_sens = "2050-01-01T00:00:00"; + + //Campos de CSV + RecogidaDef.campos_def.cons_id_csv = RecogidaDef.campos.cons_id_csv = "Nº"; + RecogidaDef.campos_def.cons_llen_csv = RecogidaDef.campos.cons_llen_csv = "Lectura"; + RecogidaDef.campos_def.cons_fecha_csv = RecogidaDef.campos.cons_fecha_csv = "Fecha"; + RecogidaDef.campos_def.cons_fechai_csv = RecogidaDef.campos.cons_fechai_csv = "01/01/2000 0:01"; + RecogidaDef.campos_def.cons_fechaf_csv = RecogidaDef.campos.cons_fechaf_csv = "01/01/2049 0:00"; + + //Campos de la red navegable que se leen + ComunDef.CamposNW.cons_onew = "ONEWAY"; + ComunDef.CamposNW.cons_kph = "KPH"; + ComunDef.CamposNW.cons_fow = "FOW"; + ComunDef.CamposNW.cons_name = "NAME"; + //Atributos de la red navegable que se leen + ComunDef.AtributosNW.atr_TF = "TF"; + ComunDef.AtributosNW.atr_FT = "FT"; + ComunDef.AtributosNW.atr_N = "N"; + ComunDef.AtributosNW.atr_pedes = "14"; + + //Nombre de simbolos VSM + RecogidaDef.rellena_simbrec_vsm();*/ + } } } diff --git a/Module1.cs b/Module1.cs index 36e411c..279b89f 100644 --- a/Module1.cs +++ b/Module1.cs @@ -17,6 +17,7 @@ using ArcGIS.Desktop.Framework.Contracts; using ArcGIS.Desktop.Framework.Dialogs; using ArcGIS.Desktop.Framework.Threading.Tasks; using ArcGIS.Desktop.Mapping; +using OliviaAddInPro.Model; namespace OliviaAddInPro { @@ -48,7 +49,8 @@ namespace OliviaAddInPro } protected override bool Initialize() - { + { + OliviaGlob.Inicia(); ProjectClosedEvent.Subscribe(OnProjectClosed); return base.Initialize(); } diff --git a/Resource1.Designer.cs b/Resource1.Designer.cs index bef0ba3..a39a82d 100644 --- a/Resource1.Designer.cs +++ b/Resource1.Designer.cs @@ -96,6 +96,24 @@ namespace OliviaAddInPro { } } + /// + /// Busca una cadena traducida similar a Tiempo de tratamiento. + /// + internal static string String_lbl_timetto { + get { + return ResourceManager.GetString("String_lbl_timetto", resourceCulture); + } + } + + /// + /// Busca una cadena traducida similar a Veloci. de tratamiento. + /// + internal static string String_lbl_velotto { + get { + return ResourceManager.GetString("String_lbl_velotto", resourceCulture); + } + } + /// /// Busca una cadena traducida similar a Seleccionar capa .... /// @@ -123,6 +141,15 @@ namespace OliviaAddInPro { } } + /// + /// Busca una cadena traducida similar a Def. Vías.. + /// + internal static string String_velo_nodef { + get { + return ResourceManager.GetString("String_velo_nodef", resourceCulture); + } + } + /// /// Busca una cadena traducida similar a Zonificación. /// diff --git a/Resource1.resx b/Resource1.resx index 614dd04..6e15668 100644 --- a/Resource1.resx +++ b/Resource1.resx @@ -129,6 +129,12 @@ OLIVIA | Limpieza + + Tiempo de tratamiento + + + Veloci. de tratamiento + Seleccionar capa ... @@ -138,6 +144,9 @@ Tratamiento + + Def. Vías. + Zonificación diff --git a/View/PaneLimpieza.xaml b/View/PaneLimpieza.xaml index a8cdaee..e5c03c6 100644 --- a/View/PaneLimpieza.xaml +++ b/View/PaneLimpieza.xaml @@ -46,7 +46,7 @@ - + diff --git a/View/PaneLimpiezaSub1.xaml b/View/PaneLimpiezaSub1.xaml index 046ead0..e5f8471 100644 --- a/View/PaneLimpiezaSub1.xaml +++ b/View/PaneLimpiezaSub1.xaml @@ -5,8 +5,8 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:extensions="clr-namespace:ArcGIS.Desktop.Extensions;assembly=ArcGIS.Desktop.Extensions" xmlns:ui="clr-namespace:OliviaAddInPro" - mc:Ignorable="d" d:DesignWidth="300" - d:DataContext="{Binding Path=ui.PaneLimpiezaSub1ViewModel}" Height="350"> + mc:Ignorable="d" d:DesignWidth="300" Height="380" + d:DataContext="{Binding Path=ui.PaneLimpiezaSub1ViewModel}" > @@ -14,7 +14,7 @@ - +