Avances cambios pedidos por VSM

Gerardo/Compilacion.net
Elena 2022-11-08 21:23:11 +01:00
parent 8081d00bbe
commit 39757fce61
9 changed files with 62 additions and 34 deletions

View File

@ -2316,18 +2316,26 @@ namespace OliviaAddInPro.Helper
/**
* Borrar una feature class de un dataset
* Devuelve -1 si da error al abrir la gdb, -2 si da error al abrir el ftclass (igual porque no existe)
* y 0 si da error el proceso de borrar, y 1 si va todo bien
*/
public static Respuesta<bool> DeleteFeatureClassSync(string gdbPath, string featureClassName)
public static Respuesta<int> DeleteFeatureClassSync(string gdbPath, string featureClassName)
{
var res = new Respuesta<bool> { Value = false };
var res = new Respuesta<int> { Value = 0 };
Geodatabase gdb = GetGdbSync(gdbPath);
if (gdb == null)
{
res.Value = -1;
return res;
}
FeatureClass ftclss = GetFtClassSync(featureClassName, gdb);
if (ftclss == null)
{
res.Value = -2;
return res;
}
Respuesta<bool> resp = new Respuesta<bool> { Value = false };
SchemaBuilder schemaBuilder = null;
@ -2350,7 +2358,7 @@ namespace OliviaAddInPro.Helper
}
if (resp.Value)
res.Value = true;
res.Value = 1;
else
{
res.Error.Add(resp.Error.FirstOrDefault());

View File

@ -33,5 +33,18 @@ namespace OliviaAddInPro.Model
public static string atr_pedes; //<Atributo del campo FOW que indica peatonal
};
/**
* Campos comunes a la capa de entidades
*/
public struct CamposCom
{
public static string camp_oid; //<Campo de la tabla de entidades que indica el objectid
public static string consulta_sector; //<Campo de la tabla donde se guarda info de sector
public static string consulta_secuen; //<Campo de la tabla donde se guarda info de secuencia
public static double giro_max;
public static double desv_max;
public static double desv_max_abs;
}
}
}

View File

@ -37,8 +37,6 @@ namespace OliviaAddInPro.Model
public static string consulta_observ; //<Campo a consultar de la capa de limpieza, observaciones
public static string consulta_anch_tip; //<Campo a consultar de la capa de limpieza, ancho tipo
public static string consulta_tipolo; //<Campo a consultar de la capa de limpieza, tipología
public static string consulta_sector; //<Campo a consultar de la capa planificada, sector
public static string consulta_secuen; //<Campo a consultar de la capa planificada, planificacion
};
/**
* Nombre de los atributos (de las capas) sobre los que se realizarán consultas para la limpieza
@ -138,14 +136,11 @@ namespace OliviaAddInPro.Model
};
public struct OtrosParam
{
public static double giro_max;
public static double anch_peat;
public static double anch_ace;
public static double anch_aplin;
public static double anch_apbat;
public static double anch_bordlib;
public static double desv_max;
public static double desv_max_abs;
};
//*************************************************************************************
//Enums globales limpieza

View File

@ -51,8 +51,8 @@ namespace OliviaAddInPro.Model
public const int ProgrMax = 100;
public const int ProgrStep = 5;
public const int ParamN = 5;
public const int ParamLimpN = 45;
public const int ParamRecoN = 43;
public const int ParamLimpN = 48;
public const int ParamRecoN = 46;
/*
* Define el separador entre parámetros de la llamada al proceso oliviatasks
*/
@ -60,7 +60,6 @@ namespace OliviaAddInPro.Model
public const string EjecGeoProgName = "olivia";
public const string EjecGeoParamIgual = ":";
public const string NombOlvTasks = "OliviaTasks";
public const string NombColSector = "SECTOR";
/**
* Define el nombre del grupo de propiedades generales
*/
@ -531,6 +530,10 @@ namespace OliviaAddInPro.Model
public const string GTO_girmax = "Giro_max_vehiculo";
public const string GTO_desv_max = "Desv_max_rel";
public const string GTO_desv_max_abs = "Desv_max_abs";
public const string GTO_camp_objectid = "Camp_objectid";
public const string GTO_camp_sector = "Camp_sector";
public const string GTO_camp_secuencia = "Camp_secuencia";
/**
* Define el nombre para mandar a oliviatasks la configuración
*/

View File

@ -446,8 +446,6 @@ namespace OliviaAddInPro.Model
LimpiezaDef.Campos.consulta_observ = c.cons_obser;
LimpiezaDef.Campos.consulta_anch_tip = c.cons_anch_tip;
LimpiezaDef.Campos.consulta_tipolo = c.cons_tipolo;
LimpiezaDef.Campos.consulta_sector = c.consulta_sector;
LimpiezaDef.Campos.consulta_secuen = c.consulta_secuen;
LimpiezaDef.Atributos.atr_esca = c.atr_esca;
LimpiezaDef.Atributos.atr_fuent = c.atr_fuent;
@ -540,10 +538,6 @@ namespace OliviaAddInPro.Model
LimpiezaDef.OtrosParam.anch_aplin = c.Ancho_ap_lin_def;
LimpiezaDef.OtrosParam.anch_apbat = c.Ancho_ap_bat_def;
LimpiezaDef.OtrosParam.anch_bordlib = c.Ancho_bord_lib_def;
LimpiezaDef.OtrosParam.giro_max = c.Giro_max_vehiculo;
LimpiezaDef.OtrosParam.desv_max = c.Desv_max;
LimpiezaDef.OtrosParam.desv_max_abs = c.Desv_max_abs;
//Capas, consultas, atributos y filtros de RECOGIDA
@ -635,6 +629,13 @@ namespace OliviaAddInPro.Model
ComunDef.AtributosNW.atr_N = c.atr_N;
ComunDef.AtributosNW.atr_pedes = c.atr_pedes;
ComunDef.CamposCom.camp_oid = c.id;
ComunDef.CamposCom.consulta_sector = c.consulta_sector;
ComunDef.CamposCom.consulta_secuen = c.consulta_secuen;
ComunDef.CamposCom.giro_max = c.Giro_max_vehiculo;
ComunDef.CamposCom.desv_max = c.Desv_max;
ComunDef.CamposCom.desv_max_abs = c.Desv_max_abs;
}
}
}

View File

@ -407,6 +407,9 @@
<UsingTask AssemblyFile="$(ArcGISFolder)\bin\proapp-sdk-MSBuild.dll" TaskName="proapp_sdk_MSBuild.ConvertToRelativePath" />
<!--<Import Project="Esri.ArcGISPro.Extensions.targets" Condition="Exists('Esri.ArcGISPro.Extensions.targets')" />-->
<Import Project="$(ArcGISFolder)\bin\Esri.ProApp.SDK.Desktop.targets" Condition="Exists('$(ArcGISFolder)\bin\Esri.ProApp.SDK.Desktop.targets') AND !Exists('Esri.ArcGISPro.Extensions.targets')" />
<PropertyGroup>
<PostBuildEvent>copy $(ProjectDir)Model\OliviaDef.cs $(SolutionDir)..\Olivia\includes\Olivia\</PostBuildEvent>
</PropertyGroup>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">

View File

@ -365,13 +365,13 @@ namespace OliviaAddInPro.Services
//Añade al shp exportado la columna de sector y secuencia
HelperGdb.FieldToAdd[] fields = new HelperGdb.FieldToAdd[2];
//campo SECTOR
fields[0].Name = LimpiezaDef.Campos.consulta_sector;
fields[0].Alias = LimpiezaDef.Campos.consulta_sector;
fields[0].Name = ComunDef.CamposCom.consulta_sector;
fields[0].Alias = ComunDef.CamposCom.consulta_sector;
fields[0].Tipo = "LONG";
fields[0].Length = 0;
//campo SECUENCIA
fields[1].Name = LimpiezaDef.Campos.consulta_secuen;
fields[1].Alias = LimpiezaDef.Campos.consulta_secuen;
fields[1].Name = ComunDef.CamposCom.consulta_secuen;
fields[1].Alias = ComunDef.CamposCom.consulta_secuen;
fields[1].Tipo = "LONG";
fields[1].Length = 0;
@ -412,8 +412,8 @@ namespace OliviaAddInPro.Services
{
//context.Invalidate(rowshp);
// modify and execute
modifyOp.Modify(rowshp, LimpiezaDef.Campos.consulta_sector, rowsecto[LimpiezaDef.Campos.consulta_sector]);
modifyOp.Modify(rowshp, LimpiezaDef.Campos.consulta_secuen, rowsecto[LimpiezaDef.Campos.consulta_secuen]);
modifyOp.Modify(rowshp, ComunDef.CamposCom.consulta_sector, rowsecto[ComunDef.CamposCom.consulta_sector]);
modifyOp.Modify(rowshp, ComunDef.CamposCom.consulta_secuen, rowsecto[ComunDef.CamposCom.consulta_secuen]);
rowshp.Store();
//context.Invalidate(rowshp);
}
@ -588,8 +588,8 @@ namespace OliviaAddInPro.Services
int NCAMPS = 2;
string[] camps;
camps = new string[NCAMPS];
camps[0] = LimpiezaDef.Campos.consulta_sector;
camps[1] = LimpiezaDef.Campos.consulta_secuen;
camps[0] = ComunDef.CamposCom.consulta_sector;
camps[1] = ComunDef.CamposCom.consulta_secuen;
return HelperGdb.CheckFiledsSync(pathCapa, camps) == 0;
}
@ -630,7 +630,7 @@ namespace OliviaAddInPro.Services
string path_import = res.Value;
//abre con valor único
string path_lyr = path_import;
var resb = HelperGdb.OpenLayerUniqueValue(path_lyr, LimpiezaDef.Campos.consulta_sector);
var resb = HelperGdb.OpenLayerUniqueValue(path_lyr, ComunDef.CamposCom.consulta_sector);
if (!resb.Value)
{
res.Error.Add("Error al abrir capa "+ path_lyr + " con Valor único. " + resb.Error.FirstOrDefault());
@ -685,7 +685,7 @@ namespace OliviaAddInPro.Services
for(i =0;i<NOPEN;i++)
{
com.ProgrSrc.IncMessage((uint)(60 / NOPEN));
resb = HelperGdb.OpenLayerUniqueValue(path_lyr_arr[i], LimpiezaDef.Campos.consulta_sector, visible_arr[i]);
resb = HelperGdb.OpenLayerUniqueValue(path_lyr_arr[i], ComunDef.CamposCom.consulta_sector, visible_arr[i]);
if (!resb.Value)
break;
}
@ -862,8 +862,8 @@ namespace OliviaAddInPro.Services
//mira a ver si hay que borrar para reemplazar
if (sobreescribe)
{
resp2 = HelperGdb.DeleteFeatureClassSync(GdbFileName, noms_gdb[i]);
if (!resp2.Value)
resp = HelperGdb.DeleteFeatureClassSync(GdbFileName, noms_gdb[i]);
if (resp.Value!=-2 && resp.Value!=1) //-2 porque puede ser que no pueda abrir la capa porque no existe
{
err_st = "Error al sobreescribir la capa " + noms_gdb[i];
break;

View File

@ -74,10 +74,15 @@ namespace OliviaAddInPro.Services.LanzaSrv
//paths de archivos
GeneralDef.EjecGeoParamSep + GeneralDef.GG_pd + GeneralDef.EjecGeoParamIgual + OliviaGlob.Paths.PathData + " " +
GeneralDef.EjecGeoParamSep + GeneralDef.GG_pn + GeneralDef.EjecGeoParamIgual + OliviaGlob.Paths.PathNW + " " +
//nombres de cols de sector y secuencia
GeneralDef.EjecGeoParamSep + GeneralDef.GTO_camp_sector + GeneralDef.EjecGeoParamIgual + ComunDef.CamposCom.consulta_sector + " " +
GeneralDef.EjecGeoParamSep + GeneralDef.GTO_camp_secuencia + GeneralDef.EjecGeoParamIgual + ComunDef.CamposCom.consulta_secuen + " " +
GeneralDef.EjecGeoParamSep + GeneralDef.GTO_camp_objectid + GeneralDef.EjecGeoParamIgual + ComunDef.CamposCom.camp_oid + " " +
//giro max y desv
GeneralDef.EjecGeoParamSep + GeneralDef.GTO_girmax + GeneralDef.EjecGeoParamIgual + LimpiezaDef.OtrosParam.giro_max + " " +
GeneralDef.EjecGeoParamSep + GeneralDef.GTO_desv_max + GeneralDef.EjecGeoParamIgual + LimpiezaDef.OtrosParam.desv_max + " " +
GeneralDef.EjecGeoParamSep + GeneralDef.GTO_desv_max_abs + GeneralDef.EjecGeoParamIgual + LimpiezaDef.OtrosParam.desv_max_abs + " ";
GeneralDef.EjecGeoParamSep + GeneralDef.GTO_girmax + GeneralDef.EjecGeoParamIgual + ComunDef.CamposCom.giro_max + " " +
GeneralDef.EjecGeoParamSep + GeneralDef.GTO_desv_max + GeneralDef.EjecGeoParamIgual + ComunDef.CamposCom.desv_max + " " +
GeneralDef.EjecGeoParamSep + GeneralDef.GTO_desv_max_abs + GeneralDef.EjecGeoParamIgual + ComunDef.CamposCom.desv_max_abs + " ";
//LimpiezaDef.Campos.consulta_sector;
}
/**

View File

@ -61,7 +61,7 @@ namespace OliviaAddInPro.Services.LanzaSrv
else if (modo == ModosEjec.SoloPlanifica)
modo_str = GeneralDef.SockConfTodo;
var conf = ConfigServ.Serv.Leer();
//van ParamLimpN parámetros, sin incluir "CONFIGURACION", si se añaden, incrementar ParamLimpN
//van ParamLimpN parámetros, sin incluir "CONFIGURACION", si se añaden, incrementar ParamRecoN
str = GeneralDef.EjecGeoParamSep + modo_str + " " +
GeneralDef.EjecGeoParamSep + GeneralDef.GR_camp_cap + GeneralDef.EjecGeoParamIgual + conf.capac + " " +
GeneralDef.EjecGeoParamSep + GeneralDef.GR_kgM + GeneralDef.EjecGeoParamIgual + reco.KgMaxVehic + " " +