diff --git a/Config.daml b/Config.daml index bae219c..3270b75 100644 --- a/Config.daml +++ b/Config.daml @@ -1,12 +1,12 @@  - + OliviaAddInPro AddIn de Optimización de la Limpieza Viaria para ArcGIs Pro Images\AddinDesktop32.png VSM VSM - Narvaling - 18/04/2023 12:00:00, 2023 + 09/11/2023 12:00:00, 2023 Framework diff --git a/Helper/HelperGdb.cs b/Helper/HelperGdb.cs index 1ebe186..4fc85cb 100644 --- a/Helper/HelperGdb.cs +++ b/Helper/HelperGdb.cs @@ -28,6 +28,7 @@ using System.Threading; using ArcGIS.Core.Data.Exceptions; using Microsoft.Win32; using Microsoft.WindowsAPICodePack.Dialogs; +using System.Security.Cryptography; namespace OliviaAddInPro.Helper { @@ -2809,6 +2810,31 @@ namespace OliviaAddInPro.Helper return res; } + public static bool ExplodeAll(string pahtFc) + { + /* + var ft = GetFtClassSync(pahtFc); + var ids=ft.Select(new ArcGIS.Core.Data.QueryFilter() { WhereClause = "true" }, SelectionType.ObjectID, SelectionOption.Normal).GetObjectIDs().ToList(); + + var explodeFeatures = new EditOperation(); + explodeFeatures.Name = "Explode Features"; + + //Take a multipart and convert it into one feature per part + //Provide a list of ids to convert multiple + explodeFeatures.Explode(ft, ids, true); + + //Execute to execute the operation + //Must be called within QueuedTask.Run + if (!explodeFeatures.IsEmpty) + { + var result = explodeFeatures.Execute(); //Execute and ExecuteAsync will return true if the operation was successful and false if not + } + return true; + //or use async flavor + //await explodeFeatures.ExecuteAsync(); + */ + return true; + } /* * Añadir columna calculada */ diff --git a/Model/OliviaConfNW.cs b/Model/OliviaConfNW.cs index d7f124a..57009bc 100644 --- a/Model/OliviaConfNW.cs +++ b/Model/OliviaConfNW.cs @@ -22,5 +22,6 @@ namespace OliviaAddInPro.Model public string campo_peatonal { get; set; } public bool comprueba_elevacion { get; set; } + public bool revisa_topologia { get; set; } } } diff --git a/Model/OliviaDef.cs b/Model/OliviaDef.cs index f056596..c884aea 100644 --- a/Model/OliviaDef.cs +++ b/Model/OliviaDef.cs @@ -161,6 +161,7 @@ namespace OliviaAddInPro.Model public const string GG_trafic = "trafico"; public const string GG_ais = "aislados"; public const string GG_elev = "elevacion"; + public const string GG_topo = "reviTopo"; /** * Define las propiedades de limpieza a enviar a oliviatasks */ diff --git a/Services/ConfigServ.cs b/Services/ConfigServ.cs index e3683db..a886473 100644 --- a/Services/ConfigServ.cs +++ b/Services/ConfigServ.cs @@ -7,6 +7,7 @@ using System.Threading.Tasks; using System.IO; using Newtonsoft.Json; using Microsoft.Win32; +using static OliviaAddInPro.Model.OliviaConf; namespace OliviaAddInPro.Services { @@ -396,7 +397,30 @@ namespace OliviaAddInPro.Services c.Giro_max_vehiculo = 175.0000000; c.Desv_max = 0.1500000; c.Desv_max_abs = 1800.0000000; - + c.Tipo_eje_via = OpsNW.nw_1; + c.ListaNw = new List(); + 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)", + comprueba_elevacion=true, + revisa_topologia=false + }); + c.ListaNw.Add(new OliviaConfNW() + { + nombre = "StreetMapPremiun", + campo_velocidad = "max($feature.FT_RST_SPE, $feature.TF_RST_SPE)", + campo_nombre = "$feature.FULL_STREE", + 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)", + comprueba_elevacion = false, + revisa_topologia = true + }); return c; } } diff --git a/Services/LanzaSrv/LanzaLimpSrv.cs b/Services/LanzaSrv/LanzaLimpSrv.cs index 7a01c88..3ef8bff 100644 --- a/Services/LanzaSrv/LanzaLimpSrv.cs +++ b/Services/LanzaSrv/LanzaLimpSrv.cs @@ -81,6 +81,7 @@ namespace OliviaAddInPro.Services.LanzaSrv GeneralDef.EjecGeoParamSep + GeneralDef.GG_cooy + GeneralDef.EjecGeoParamIgual + limp.CoordsInstal.Y + " " +//coordenadas GeneralDef.EjecGeoParamSep + GeneralDef.GG_ais + GeneralDef.EjecGeoParamIgual + (limp.IgnoAis ? 1 : 0) + " " + 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) + " " + //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 + " " + diff --git a/Services/LanzaSrv/LanzaRecoSrv.cs b/Services/LanzaSrv/LanzaRecoSrv.cs index 01166ff..4756d7c 100644 --- a/Services/LanzaSrv/LanzaRecoSrv.cs +++ b/Services/LanzaSrv/LanzaRecoSrv.cs @@ -92,6 +92,7 @@ namespace OliviaAddInPro.Services.LanzaSrv GeneralDef.EjecGeoParamSep + GeneralDef.GR_sens_modo + GeneralDef.EjecGeoParamIgual + "0 " + GeneralDef.EjecGeoParamSep + GeneralDef.GG_ais + GeneralDef.EjecGeoParamIgual + (reco.IgnoAis?1:0) + " " + 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.GR_lateral + GeneralDef.EjecGeoParamIgual + reco.TipoLate + " " + //mima de la nw GeneralDef.EjecGeoParamSep + GeneralDef.GTO_mima_xmin + GeneralDef.EjecGeoParamIgual + reco.MimaNw.XMin + " " +