Compare commits

...

2 Commits

Author SHA1 Message Date
Gerardo f1444fd25a Versionado de configuracion 2023-12-04 22:02:32 +01:00
Gerardo 3b42f1b379 añadir comprobaciones de elevacion de manera estandar 2023-11-22 23:01:24 +01:00
6 changed files with 53 additions and 14 deletions

View File

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<ArcGIS defaultAssembly="OliviaAddInPro.dll" defaultNamespace="OliviaAddInPro" xmlns="http://schemas.esri.com/DADF/Registry" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.esri.com/DADF/Registry file:///C:/Program%20Files/ArcGIS/Pro/bin/ArcGIS.Desktop.Framework.xsd">
<AddInInfo id="{10742570-cf59-42f2-bea2-2a38002a06ee}" version="3.3" desktopVersion="3.0.3.36057">
<AddInInfo id="{10742570-cf59-42f2-bea2-2a38002a06ee}" version="3.4" desktopVersion="3.0.3.36057">
<Name>OliviaAddInPro</Name>
<Description>AddIn de Optimización de la Limpieza Viaria para ArcGIs Pro</Description>
<Image>Images\AddinDesktop32.png</Image>
<Author>VSM</Author>
<Company>VSM - Narvaling</Company>
<Date>09/11/2023 12:00:00, 2023</Date>
<Date>27/11/2023 12:00:00, 2023</Date>
<Subject>Framework</Subject>
<!-- Note subject can be one or more of these topics:
Content, Framework, Editing, Geodatabase, Geometry, Geoprocessing, Layouts, Map Authoring, Map Exploration -->

View File

@ -24,6 +24,8 @@ namespace OliviaAddInPro.Model
public static string cons_name="_dir"; //<Campo que indica el nombre de la calle
public static string cons_fow="_pea"; //Campo que indica el tipo de vial, si es peatonal o no
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 OliviaConfNW config; //configuracion para sacar capmos por defecto
};

View File

@ -96,6 +96,11 @@ namespace OliviaAddInPro.Model
}
#region PropiedadesOcultas
#region parametrosConexion
/**
* Version de las configuraciones
*/
[Browsable(false)]
public string Version { get; set; }
/**
* IP donde va a realizar la conexión a OliviaTask, se inicializa al arrancar con la local
*/
@ -618,21 +623,25 @@ namespace OliviaAddInPro.Model
#endregion
#region 06CambosNW
[Browsable(false)]
[Category("Campos Red Navegable")]
[DisplayName("Sentido de la vía")]
[Description("Nombre del campo que indica si la vía es de doble sentido o no")]
public string cons_onew { get; set; }
[Browsable(false)]
[Category("Campos Red Navegable")]
[DisplayName("Velocidad de la vía")]
[Description("Nombre del campo que indica la velociad máxima permitida de la vía")]
public string cons_kph { get; set; }
[Browsable(false)]
[Category("Campos Red Navegable")]
[DisplayName("Tipo de vía")]
[Description("Nombre del campo que indica el tipo de la vía (usado para ver si es vía peatonal).")]
public string cons_fow { get; set; }
[Browsable(false)]
[Category("Campos Red Navegable")]
[DisplayName("Nombre de la vía")]
[Description("Nombre del campo que indica el nombre de la vía")]
@ -640,24 +649,28 @@ namespace OliviaAddInPro.Model
#endregion
#region 07AtrNw
[Browsable(false)]
[Category("Atributos Red Navegable")]
[PropertyOrder(1)]
[DisplayName("To-From")]
[Description("Valor del campo 'Sentido de la vía' que indica sentido de la vía To-From")]
public string atr_TF { get; set; }
[Browsable(false)]
[Category("Atributos Red Navegable")]
[PropertyOrder(2)]
[DisplayName("From-To")]
[Description("Valor del campo 'Sentido de la vía' que indica sentido de la vía From-To")]
public string atr_FT { get; set; }
[Browsable(false)]
[Category("Atributos Red Navegable")]
[PropertyOrder(3)]
[DisplayName("Sin circulación")]
[Description("Valor del campo 'Sentido de la vía' que indica no circulación")]
public string atr_N { get; set; }
[Browsable(false)]
[Category("Atributos Red Navegable")]
[PropertyOrder(4)]
[DisplayName("Peatonal")]

View File

@ -20,7 +20,8 @@ namespace OliviaAddInPro.Model
public string campo_sentidoFT { get; set; }
public string campo_sentidoTf { get; set; }
public string campo_peatonal { get; set; }
public string campo_elevacion_to { get; set; }
public string campo_elevacion_from { get; set; }
public bool comprueba_elevacion { get; set; }
public bool revisa_topologia { get; set; }
}

View File

@ -19,7 +19,7 @@ namespace OliviaAddInPro.Services
public const string OlvRegKey = "SOFTWARE\\Narvaling\\Olivia_3_1";
public const string OlvRegName = "workdir";
public const string OlvConfigName = "olv.conf";
public const string VersionConfiguracion = "1.1.0.0";
public static ConfigServ Serv
{
get {
@ -42,8 +42,9 @@ namespace OliviaAddInPro.Services
var ee = e;
res = null;
}
if(res==null)
if(res==null || res.Version==null || res.Version != VersionConfiguracion)
res = Default();
EnumOpsNWToString.ListaNw = res.ListaNw;
//pilla la IP
if (res.Ip.CompareTo("0.0.0.0")==0)
@ -170,7 +171,7 @@ namespace OliviaAddInPro.Services
c.path_work = "C:\\Olivia\\";
}
c.Version = VersionConfiguracion;
c.PathGdbGen = @"%dir_work%gdb\\BASE DE DATOS.gdb";
c.PathSimbVSM = @"%dir_work%styles\\Simbologia.style";
c.PathSimbESRI = @"%dir_work%styles\\ESRI.style";
@ -407,7 +408,9 @@ namespace OliviaAddInPro.Services
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)",
comprueba_elevacion=true,
campo_elevacion_from= "$feature.F_ELEV",
campo_elevacion_to= "$feature.T_ELEV",
comprueba_elevacion =true,
revisa_topologia=false
});
c.ListaNw.Add(new OliviaConfNW()
@ -418,6 +421,8 @@ namespace OliviaAddInPro.Services
campo_peatonal = "IIF( $feature.FT_RST_AUT == 'Y' && $feature.TF_RST_AUT == 'Y', 1, 0)",
campo_sentidoFT = "IIf( $feature.FT_RST_AUT == 'N', 1, 0)",
campo_sentidoTf = "IIf( $feature.TF_RST_AUT == 'N', 1, 0)",
campo_elevacion_from = "IIf( $feature.F_ZLEV != null, $feature.F_ZLEV, 0)",
campo_elevacion_to = "IIf( $feature.T_ZLEV != null, $feature.T_ZLEV, 0)",
comprueba_elevacion = false,
revisa_topologia = true
});

View File

@ -383,14 +383,25 @@ namespace OliviaAddInPro.Services
}
bool EstandarizaCamposNW(string pathNW)
{
HelperGdb.FieldToAdd[] fields = new HelperGdb.FieldToAdd[6];
HelperGdb.FieldToAdd[] fields = new HelperGdb.FieldToAdd[8];
//campo SECTOR
int i = 0;
fields[i].Name = ComunDef.CamposNW.cons_kph;
fields[i].Alias = ComunDef.CamposNW.cons_kph;
fields[i].Tipo = "FLOAT";
fields[i].Length = 0;
i++;
fields[i].Name = ComunDef.CamposNW.cons_ele_f;
fields[i].Alias = ComunDef.CamposNW.cons_ele_f;
fields[i].Tipo = "FLOAT";
fields[i].Length = 0;
i++;
fields[i].Name = ComunDef.CamposNW.cons_ele_t;
fields[i].Alias = ComunDef.CamposNW.cons_ele_t;
fields[i].Tipo = "FLOAT";
fields[i].Length = 0;
i++;
fields[i].Name = ComunDef.CamposNW.cons_fow;
@ -398,6 +409,7 @@ namespace OliviaAddInPro.Services
fields[i].Tipo = "LONG";
fields[i].Length = 0;
i++;
fields[i].Name = ComunDef.CamposNW.cons_onewFT;
fields[i].Alias = ComunDef.CamposNW.cons_onewFT;
fields[i].Tipo = "LONG";
@ -436,6 +448,12 @@ namespace OliviaAddInPro.Services
return false;
if (!HelperGdb.CalculateFieldsSync(pathNW, ComunDef.CamposNW.cons_onewFT, ComunDef.CamposNW.config.campo_sentidoFT))
return false;
if (!HelperGdb.CalculateFieldsSync(pathNW, ComunDef.CamposNW.cons_ele_t, ComunDef.CamposNW.config.campo_elevacion_to))
return false;
if (!HelperGdb.CalculateFieldsSync(pathNW, ComunDef.CamposNW.cons_ele_f, ComunDef.CamposNW.config.campo_elevacion_from))
return false;
if (!HelperGdb.CalculateFieldsSync(pathNW, ComunDef.CamposNW.cons_evit, "0"))
return false;
return true;