Algunas modificaciones finales
parent
83d5231ab4
commit
28cdbeeab5
|
|
@ -1,11 +1,11 @@
|
|||
<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="1.0" desktopVersion="2.8.29751">
|
||||
<AddInInfo id="{10742570-cf59-42f2-bea2-2a38002a06ee}" version="3.0" desktopVersion="2.8.29751">
|
||||
<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>08/07/2021 12:28:02, 2021</Date>
|
||||
<Date>08/07/2022 12:00:00, 2022</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 -->
|
||||
|
|
|
|||
|
|
@ -2043,31 +2043,44 @@ namespace OliviaAddInPro.Helper
|
|||
return res;
|
||||
}
|
||||
//comprueba si extiste ya el dataset
|
||||
var task1 = CheckDataset(gdb, datasetName);
|
||||
task1.Wait();
|
||||
if (task1.Result)
|
||||
bool repite = false;
|
||||
bool crea = false;
|
||||
int idat = 1;
|
||||
int r = 2;
|
||||
while(r==2)
|
||||
{
|
||||
//comprueba si tiene la misma referencia espacial
|
||||
var r = CheckSpatRefDataset(gdb, datasetName, spatref).Result;
|
||||
if (r==0)
|
||||
var task1 = CheckDataset(gdb, datasetName);
|
||||
task1.Wait();
|
||||
if (task1.Result)
|
||||
{
|
||||
res.Value = 0; //no hay nada que crear, existe y coincide la spatial ref
|
||||
return res;
|
||||
}
|
||||
else if(r==2)
|
||||
{
|
||||
//crea un nuevo dataset y avisa
|
||||
datasetName = datasetName + "_1";
|
||||
datasetNameOut = datasetName;
|
||||
//comprueba si tiene la misma referencia espacial
|
||||
r = CheckSpatRefDataset(gdb, datasetName, spatref).Result;
|
||||
if (r == 0)
|
||||
{
|
||||
res.Value = 0; //no hay nada que crear, existe y coincide la spatial ref
|
||||
//return res;
|
||||
}
|
||||
else if (r == 2)
|
||||
{
|
||||
//existe ese nombre, pero con otra ref espacial
|
||||
//crea un nuevo dataset y avisa
|
||||
datasetName = string.Format("{0}_{1}",datasetName,idat);
|
||||
datasetNameOut = datasetName;
|
||||
idat++;
|
||||
}
|
||||
else//r==1
|
||||
{
|
||||
//ha dado error al comprobar
|
||||
res.Value = 1;
|
||||
res.Error.Add("Errores al crear el Dataset " + datasetName);
|
||||
//return res;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//ha dado error al comprobar
|
||||
res.Value = 1;
|
||||
res.Error.Add("Errores al crear el Dataset " + datasetName);
|
||||
return res;
|
||||
}
|
||||
}
|
||||
r = 3; //no existe, lo crea con ese nombre
|
||||
};
|
||||
if (r!=3)
|
||||
return res;
|
||||
//no existe, lo crea
|
||||
var task = ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run((Func<Respuesta<bool>>)(() =>
|
||||
{
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
|
|
@ -148,18 +148,39 @@ namespace OliviaAddInPro.Model
|
|||
|
||||
}
|
||||
/**
|
||||
* Restaura el nombre original del campo si se ha truncado a 10 car al exportar a shp
|
||||
* Devuelve los campos característicos de la capa
|
||||
*/
|
||||
public override string[] GetCamposRestaura()
|
||||
public override string[] GetCampos(string capa=null)
|
||||
{
|
||||
string[] camps = {
|
||||
LimpiezaDef.Campos.consulta_entidad,
|
||||
LimpiezaDef.Campos.consulta_mecan,
|
||||
LimpiezaDef.Campos.consulta_observ,
|
||||
LimpiezaDef.Campos.consulta_anch_tip,
|
||||
LimpiezaDef.Campos.consulta_tipolo,
|
||||
/*LimpiezaDef.Campos.consulta_sector,
|
||||
LimpiezaDef.Campos.consulta_secuen */};
|
||||
string[] camps=null;
|
||||
var capa_ = !string.IsNullOrEmpty(capa) ? capa : CapaElems;
|
||||
if (string.IsNullOrEmpty(capa_))
|
||||
{
|
||||
ErrStr = "Error al comprobar campos en la capa.";
|
||||
return camps;
|
||||
}
|
||||
GeometryType tipo = HelperGdb.GetGeomType(capa_);
|
||||
if (tipo == GeometryType.Polyline)
|
||||
{
|
||||
int NCAMPS = 5;
|
||||
camps = new string[NCAMPS];
|
||||
camps[0] = LimpiezaDef.Campos.consulta_entidad;
|
||||
camps[1] = LimpiezaDef.Campos.consulta_mecan;
|
||||
camps[2] = LimpiezaDef.Campos.consulta_observ;
|
||||
camps[3] = LimpiezaDef.Campos.consulta_anch_tip;
|
||||
camps[4] = LimpiezaDef.Campos.consulta_tipolo;
|
||||
}
|
||||
else if (tipo == GeometryType.Point)//es mobiliario, con el tipo vale
|
||||
{
|
||||
int NCAMPS = 1;
|
||||
camps = new string[NCAMPS];
|
||||
camps[0] = LimpiezaDef.Campos.consulta_entidad;
|
||||
}
|
||||
else
|
||||
{
|
||||
ErrStr = "Error al comprobar campos en la capa.";
|
||||
}
|
||||
|
||||
return camps;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -99,6 +99,9 @@ namespace OliviaAddInPro.Model
|
|||
[Browsable(false)]
|
||||
public string path_exe { get; set; }
|
||||
|
||||
[Browsable(false)]
|
||||
public string path_manual { get; set; }
|
||||
|
||||
[Browsable(false)]
|
||||
public string path_temp { get; set; }
|
||||
|
||||
|
|
@ -234,6 +237,20 @@ namespace OliviaAddInPro.Model
|
|||
[DisplayName("Campo Secuencia")]
|
||||
[Description("Nombre del campo Secuencia donde se indica el orden en que se trata el ámbito dentro de su sector")]
|
||||
public string consulta_secuen { get; set; }
|
||||
|
||||
[Category("General")]
|
||||
[PropertyOrder(5)]
|
||||
[DisplayName("GDB para Importación")]
|
||||
[Description("Gdb en la que se importarán los resultados de la ejecución")]
|
||||
[Editor(typeof(PropertyGridFilePickerGDB), typeof(PropertyGridFilePickerGDB))]
|
||||
public string Path_Gdb_Import { get; set; }
|
||||
|
||||
[Category("General")]
|
||||
[PropertyOrder(5)]
|
||||
[DisplayName("Carpeta para listados (CSV)")]
|
||||
[Description("Carpeta en la que se guardarán los listados en CSV de la planificación")]
|
||||
[Editor(typeof(PropertyGridFilePickerFolder), typeof(PropertyGridFilePickerFolder))]
|
||||
public string Path_Guarda_Csv { get; set; }
|
||||
#endregion
|
||||
|
||||
#region 02CamposLimp
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ using OliviaAddInPro.Helper;
|
|||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using System.IO;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace OliviaAddInPro.Model
|
||||
{
|
||||
|
|
@ -45,6 +46,7 @@ namespace OliviaAddInPro.Model
|
|||
public static string PathWork; //<Path del directorio de trabajo
|
||||
public static string PathCfg; //<Path de la configuración general
|
||||
public static string PathExeOlivia; //<Path del ejecutable de OliviaTask
|
||||
public static string PathManualOlivia; //<Path del Manual de Olivia
|
||||
public static string PathTemp; //<Path temporal de generación de archivos intermedios
|
||||
public static string DirData; //<Dir donde están los shapefiles data y nw
|
||||
public static string PathData; //<Path del shp con datos a planificar, ya filtrados e intersecados con las zonas y niveles
|
||||
|
|
@ -55,6 +57,10 @@ namespace OliviaAddInPro.Model
|
|||
public static string PathGdbNw; //<Path de la gdb referente a la red de carreteras de TOMTOM
|
||||
public static string PathSimbVSM; //<Path de la galeria de estilos aplicada por VSM
|
||||
public static string PathSimbESRI; //<Path de la galeria de estilos de ESRI
|
||||
|
||||
//paths import
|
||||
public static string PathGdbImport; //<Path de la gdb en la que se guardan los resultados
|
||||
public static string PathGuardCsv; //<Path para guardar CSV de la planificación
|
||||
};
|
||||
public struct Conexion
|
||||
{
|
||||
|
|
@ -228,8 +234,6 @@ namespace OliviaAddInPro.Model
|
|||
DockpaneRecogidaViewModel.Show();
|
||||
//SetFlagTipEjec(TiposEjecucion.Reco);
|
||||
ViewSetFlagTipEjec(TiposEjecucion.Reco);
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -243,8 +247,6 @@ namespace OliviaAddInPro.Model
|
|||
DockpaneConfigViewModel.Show();
|
||||
SetFlagTipEjec(TiposEjecucion.Props);
|
||||
ViewSetFlagTipEjec(TiposEjecucion.Props);
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -278,6 +280,22 @@ namespace OliviaAddInPro.Model
|
|||
camps[3] = ComunDef.CamposNW.cons_fow;
|
||||
return HelperGdb.CheckFileds(OliviaGlob.Paths.PathGdbNw, camps) == 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Comprueba que no es null y existe
|
||||
*/
|
||||
public static bool CompruebaExistePath(string path)
|
||||
{
|
||||
if (string.IsNullOrEmpty(path))
|
||||
return false;
|
||||
|
||||
var dir = Path.GetDirectoryName(path);
|
||||
if (string.IsNullOrEmpty(dir) || !Directory.Exists(path))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Devuelve una lista de las ips locales
|
||||
*/
|
||||
|
|
@ -362,20 +380,45 @@ namespace OliviaAddInPro.Model
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Abre el pdf del manual de ayuda
|
||||
*/
|
||||
public static void OpenManual()
|
||||
{
|
||||
string[] archivos = null;
|
||||
|
||||
try
|
||||
{
|
||||
if (!File.Exists(OliviaGlob.Paths.PathManualOlivia))
|
||||
HelperGlobal.ponMsg("No se encuentra el archivo " + OliviaGlob.Paths.PathManualOlivia);
|
||||
else
|
||||
{
|
||||
System.Diagnostics.Process.Start(OliviaGlob.Paths.PathManualOlivia);
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
HelperGlobal.ponMsg("Error al abrir el manual de ayuda " + OliviaGlob.Paths.PathManualOlivia);
|
||||
return;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Inicializa los nombres por defecto de las variables, para debug por si no hay instalador
|
||||
*/
|
||||
public static void IniDefault()
|
||||
{
|
||||
|
||||
var c = ConfigServ.Serv.Leer();
|
||||
Paths.PathCfg = "";
|
||||
Paths.PathWork = c.path_work;
|
||||
Paths.PathExeOlivia = c.path_exe;
|
||||
Paths.PathManualOlivia = c.path_manual;
|
||||
Paths.DirData = c.path_data;
|
||||
Paths.PathTemp = c.path_temp;
|
||||
c.PathCartela = c.PathCartela;
|
||||
|
||||
Paths.PathGdbImport = c.Path_Gdb_Import;
|
||||
Paths.PathGuardCsv = c.Path_Guarda_Csv;
|
||||
|
||||
HelperGlobal.create_folder(Paths.DirData);
|
||||
HelperGlobal.create_folder(Paths.PathTemp);
|
||||
|
||||
|
|
|
|||
|
|
@ -157,9 +157,9 @@ namespace OliviaAddInPro.Model
|
|||
}
|
||||
|
||||
/**
|
||||
* Restaura el nombre original del campo si se ha truncado a 10 car al exportar a shp
|
||||
* Devuelve los campos característicos de la capa
|
||||
*/
|
||||
public override string[] GetCamposRestaura()
|
||||
public override string[] GetCampos(string capa=null)
|
||||
{
|
||||
string[] camps = {
|
||||
RecogidaDef.campos_def.cons_id,
|
||||
|
|
|
|||
|
|
@ -197,7 +197,7 @@ namespace OliviaAddInPro.Model
|
|||
/**
|
||||
* Restaura el nombre original del campo si se ha truncado a 10 car al exportar a shp
|
||||
*/
|
||||
public virtual string[] GetCamposRestaura()
|
||||
public virtual string[] GetCampos(string capa=null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
|
@ -213,7 +213,7 @@ namespace OliviaAddInPro.Model
|
|||
if (fc == null)
|
||||
return resp;
|
||||
////////////////////////////////////////////////////////
|
||||
string[] camps = GetCamposRestaura();
|
||||
string[] camps = GetCampos();
|
||||
|
||||
ObservableCollection<string> fields = HelperGdb.GetFieldsSync(fc);
|
||||
HelperGdb.Free(fc);
|
||||
|
|
|
|||
|
|
@ -173,6 +173,9 @@
|
|||
<Compile Include="View\Comun\MarchandoUnaDe.xaml.cs">
|
||||
<DependentUpon>MarchandoUnaDe.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\Configuracion\PropertyGridFilePickerFolder.xaml.cs">
|
||||
<DependentUpon>PropertyGridFilePickerFolder.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\Configuracion\PropertyGridFilePickerLine.xaml.cs">
|
||||
<DependentUpon>PropertyGridFilePickerLine.xaml</DependentUpon>
|
||||
</Compile>
|
||||
|
|
@ -250,6 +253,10 @@
|
|||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="View\Configuracion\PropertyGridFilePickerFolder.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="View\Configuracion\PropertyGridFilePickerLine.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
|
|
@ -323,9 +330,6 @@
|
|||
<LastGenOutput>Resource1.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AddInContent Include="Images\config.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AddInContent Include="DarkImages\GenericButtonGreen16.png" />
|
||||
</ItemGroup>
|
||||
|
|
@ -351,7 +355,6 @@
|
|||
<Resource Include="Images\openfolder.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AddInContent Include="Images\config2.png" />
|
||||
<AddInContent Include="Images\reco2.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
|
@ -360,6 +363,9 @@
|
|||
<ItemGroup>
|
||||
<AddInContent Include="Images\config2_olv.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Images\help16Pro.png" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!--
|
||||
PackageAction can be:
|
||||
|
|
|
|||
|
|
@ -8,9 +8,9 @@ using System.Runtime.InteropServices;
|
|||
[assembly: AssemblyTitle("OliviaAddInPro")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Acme")]
|
||||
[assembly: AssemblyCompany("VSM - Narvaling")]
|
||||
[assembly: AssemblyProduct("OliviaAddInPro")]
|
||||
[assembly: AssemblyCopyright("Copyright © Acme 2021")]
|
||||
[assembly: AssemblyCopyright("Copyright © VSM 2022")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
|
|
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
[assembly: AssemblyVersion("3.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("3.0.0.0")]
|
||||
|
|
|
|||
|
|
@ -15,7 +15,9 @@ namespace OliviaAddInPro.Services
|
|||
private static string pathConfigDef = "C:\\Olivia\\olv.conf";
|
||||
private static ConfigServ configServ=null;
|
||||
private static string nameDirWork = "%dir_work%";
|
||||
public const string OlvRegKey = "SOFTWARE\\Narvaling\\Olivia";
|
||||
public const string OlvRegKey = "SOFTWARE\\Narvaling\\Olivia_3_0";
|
||||
public const string OlvRegName = "workdir";
|
||||
public const string OlvConfigName = "olv.conf";
|
||||
|
||||
public static ConfigServ Serv
|
||||
{
|
||||
|
|
@ -28,10 +30,12 @@ namespace OliviaAddInPro.Services
|
|||
|
||||
public OliviaConf Leer()
|
||||
{
|
||||
OliviaConf res = null;
|
||||
OliviaConf res = Default();
|
||||
try
|
||||
{
|
||||
res= JsonConvert.DeserializeObject<OliviaConf>(File.ReadAllText(GetPathConfig()));
|
||||
var path_cfg = GetPathConfig();
|
||||
path_cfg = Path.Combine(path_cfg, OlvConfigName);
|
||||
res = JsonConvert.DeserializeObject<OliviaConf>(File.ReadAllText(path_cfg));
|
||||
}catch(Exception e)
|
||||
{
|
||||
var ee = e;
|
||||
|
|
@ -49,6 +53,7 @@ namespace OliviaAddInPro.Services
|
|||
|
||||
|
||||
res.path_exe = pon_path_absoluto(res.path_exe, res.path_work);
|
||||
res.path_manual = pon_path_absoluto(res.path_manual, res.path_work);
|
||||
res.path_temp = pon_path_absoluto(res.path_temp, res.path_work);
|
||||
res.path_data = pon_path_absoluto(res.path_data, res.path_work);
|
||||
return res;
|
||||
|
|
@ -57,6 +62,7 @@ namespace OliviaAddInPro.Services
|
|||
public void Guardar(OliviaConf conf)
|
||||
{
|
||||
conf.path_exe = pon_path_relativo(conf.path_exe, conf.path_work);
|
||||
conf.path_manual = pon_path_relativo(conf.path_manual, conf.path_work);
|
||||
conf.path_temp = pon_path_relativo(conf.path_temp, conf.path_work);
|
||||
conf.path_data = pon_path_relativo(conf.path_data, conf.path_work);
|
||||
|
||||
|
|
@ -67,10 +73,13 @@ namespace OliviaAddInPro.Services
|
|||
conf.Path_Eje_via = pon_path_relativo(conf.Path_Eje_via, conf.path_work);
|
||||
|
||||
string jsonString = JsonConvert.SerializeObject(conf);
|
||||
File.WriteAllText(GetPathConfig(), jsonString);
|
||||
var path_cfg = GetPathConfig();
|
||||
path_cfg = Path.Combine(path_cfg, OlvConfigName);
|
||||
File.WriteAllText(path_cfg, jsonString);
|
||||
|
||||
conf.path_exe = pon_path_absoluto(conf.path_exe, conf.path_work);
|
||||
conf.path_temp = pon_path_absoluto(conf.path_temp, conf.path_work);
|
||||
conf.path_manual = pon_path_absoluto(conf.path_manual, conf.path_work);
|
||||
conf.path_data = pon_path_absoluto(conf.path_data, conf.path_work);
|
||||
conf.PathGdbGen = pon_path_absoluto(conf.PathGdbGen, conf.path_work);
|
||||
conf.PathSimbVSM = pon_path_absoluto(conf.PathSimbVSM, conf.path_work);
|
||||
|
|
@ -109,7 +118,7 @@ namespace OliviaAddInPro.Services
|
|||
str = null;
|
||||
if (rkprg.ValueCount > 0)
|
||||
{
|
||||
str = (String)rkprg.GetValue("path_cfg");
|
||||
str = (String)rkprg.GetValue(OlvRegName);
|
||||
if (!string.IsNullOrEmpty(str))
|
||||
return str;
|
||||
}
|
||||
|
|
@ -125,6 +134,7 @@ namespace OliviaAddInPro.Services
|
|||
var path = GetPathConfig();
|
||||
if(!string.IsNullOrEmpty(path))
|
||||
{
|
||||
path = Path.Combine(path, OlvConfigName);
|
||||
c.path_work = Path.GetDirectoryName(path) + "\\";
|
||||
}
|
||||
|
||||
|
|
@ -148,9 +158,12 @@ namespace OliviaAddInPro.Services
|
|||
c.buffer_export = 1000;
|
||||
|
||||
c.path_exe=@"%dir_work%bin\OliviaTasks.exe";
|
||||
c.path_manual= @"%dir_work%Manual_Olivia_3_0.pdf";
|
||||
c.path_temp = @"%dir_work%temp\";
|
||||
c.path_data=@"%dir_work%data\";
|
||||
c.Path_Eje_via = @"%dir_work%Datos\gdbs\TomTom_Q4_2015.gdb\TomTom_Q4_2015___nw";
|
||||
c.Path_Gdb_Import = "";
|
||||
c.Path_Guarda_Csv = "";
|
||||
/*c.eje_via = "TomTom_Q4_2015___nw";
|
||||
c.municipios = "TomTom_Q4_2015___a8";*/
|
||||
|
||||
|
|
|
|||
|
|
@ -692,7 +692,13 @@ namespace OliviaAddInPro.Services
|
|||
string datasetNameOut = string.Empty;
|
||||
var resp = HelperGdb.CreateDataset(GdbFileName, tratamiento, spatRefData, out datasetNameOut);
|
||||
string err_spatref = "Atención, no coincide la proyección de las FeatureClass del Dataset ya creado con la del FeatureClass a importar";
|
||||
if (resp.Value == 1)
|
||||
if(resp.Value==0)
|
||||
{
|
||||
//avisa
|
||||
HelperGlobal.ponMsg("Se importan los archivos en "+ GdbFileName+"\\"+ datasetNameOut);
|
||||
tratamiento = datasetNameOut;
|
||||
}
|
||||
else if (resp.Value == 1)
|
||||
{
|
||||
res.Error.Add("Error al crear el Dataset para importar " + tratamiento);
|
||||
return res;
|
||||
|
|
@ -790,7 +796,7 @@ namespace OliviaAddInPro.Services
|
|||
resp2 = com.RestauraNomCampos(GdbFileName + "\\" + dataset + "\\" + noms_gdb[0]);
|
||||
if (!resp2.Value)
|
||||
{
|
||||
err_st = "Error al renombrar campos " + noms_gdb[i];
|
||||
err_st = "Error al renombrar campos " + noms_gdb[0];
|
||||
if (resp2.HasError)
|
||||
err_st += " " + resp2.Error.First();
|
||||
res.Error.Add("Errores en la importación: " + err_st);
|
||||
|
|
|
|||
|
|
@ -212,7 +212,11 @@ namespace OliviaAddInPro.Services
|
|||
out auxi, out nombre);
|
||||
|
||||
//string Path = HelperGdb.SaveFileDlg(Title, DirData, inst.ServCom.EXT_CSV, Filter);
|
||||
string Path = HelperGdb.SaveFileDlg(Title, DirData, null, ArcGIS.Desktop.Catalog.ItemFilters.folders);
|
||||
string Path = string.Empty;
|
||||
if (OliviaGlob.CompruebaExistePath(OliviaGlob.Paths.PathGuardCsv))
|
||||
Path = OliviaGlob.Paths.PathGuardCsv;
|
||||
else
|
||||
Path = HelperGdb.SaveFileDlg(Title, DirData, null, ArcGIS.Desktop.Catalog.ItemFilters.folders);
|
||||
|
||||
if (string.IsNullOrEmpty(Path) || Path.Length == 0)
|
||||
{
|
||||
|
|
@ -238,18 +242,23 @@ namespace OliviaAddInPro.Services
|
|||
{
|
||||
var res = new Respuesta<string>() { Value = string.Empty };
|
||||
//Lanza ventana para elegir gdb a la que importar resultados
|
||||
bool sal = true;
|
||||
string GdbFileName="";
|
||||
do
|
||||
if (OliviaGlob.CompruebaExistePath(OliviaGlob.Paths.PathGdbImport))
|
||||
GdbFileName = OliviaGlob.Paths.PathGdbImport;
|
||||
else
|
||||
{
|
||||
sal = true;
|
||||
//repite por si se ha equivocado hasta que elige la gdb
|
||||
GdbFileName = HelperGdb.OpenFileDialog(HelperGdb.TiposOpenFileDlg.OpenGdb,"", "Seleccionar GDB a la que importar los resultados");
|
||||
if(string.IsNullOrEmpty(GdbFileName))
|
||||
sal= HelperGlobal.ponMsg("¿Desea cancelar el proceso de importación?",
|
||||
MessageBoxImage.Question, "OLIVIA", MessageBoxButton.YesNo);
|
||||
} while (!sal);
|
||||
bool sal = true;
|
||||
do
|
||||
{
|
||||
sal = true;
|
||||
//repite por si se ha equivocado hasta que elige la gdb
|
||||
GdbFileName = HelperGdb.OpenFileDialog(HelperGdb.TiposOpenFileDlg.OpenGdb, "", "Seleccionar GDB a la que importar los resultados");
|
||||
|
||||
if (string.IsNullOrEmpty(GdbFileName))
|
||||
sal = HelperGlobal.ponMsg("¿Desea cancelar el proceso de importación?",
|
||||
MessageBoxImage.Question, "OLIVIA", MessageBoxButton.YesNo);
|
||||
} while (!sal);
|
||||
}
|
||||
if (string.IsNullOrEmpty(GdbFileName) || !Directory.Exists(GdbFileName))
|
||||
{
|
||||
res.Error.Add("Se ha cancelado la importación de resultados. Se cancela la elección de GDB.");
|
||||
|
|
|
|||
|
|
@ -20,6 +20,8 @@ namespace OliviaAddInPro.Services
|
|||
|
||||
public LimpiezaServ(Limpieza _limp)
|
||||
{
|
||||
if (_limp == null)
|
||||
_limp = OliviaGlob.Limp;
|
||||
limp = _limp;
|
||||
}
|
||||
/**
|
||||
|
|
@ -147,33 +149,14 @@ namespace OliviaAddInPro.Services
|
|||
*/
|
||||
public bool CompruebaCamposLimp(string pathCapa)
|
||||
{
|
||||
string[] camps;
|
||||
GeometryType tipo = HelperGdb.GetGeomType(pathCapa);
|
||||
if (tipo == GeometryType.Polyline)
|
||||
string[] camps = limp.GetCampos(pathCapa);
|
||||
int res = 1;
|
||||
if ((camps == null) || (HelperGdb.CheckFileds(pathCapa, camps) != 0))
|
||||
{
|
||||
int NCAMPS = 5;
|
||||
camps = new string[NCAMPS];
|
||||
camps[0] = LimpiezaDef.Campos.consulta_entidad;
|
||||
camps[1] = LimpiezaDef.Campos.consulta_mecan;
|
||||
camps[2] = LimpiezaDef.Campos.consulta_observ;
|
||||
camps[3] = LimpiezaDef.Campos.consulta_anch_tip;
|
||||
camps[4] = LimpiezaDef.Campos.consulta_tipolo;
|
||||
}
|
||||
else if (tipo == GeometryType.Point)//es mobiliario, con el tipo vale
|
||||
{
|
||||
int NCAMPS = 1;
|
||||
camps = new string[NCAMPS];
|
||||
camps[0] = LimpiezaDef.Campos.consulta_entidad;
|
||||
}
|
||||
else
|
||||
{
|
||||
ErrStr = "Error al comprobar campos en la capa.";
|
||||
ErrStr = HelperGdb.OutStr;
|
||||
return false;
|
||||
}
|
||||
int res = HelperGdb.CheckFileds(pathCapa, camps);
|
||||
if (res != 0)
|
||||
ErrStr = HelperGdb.OutStr;
|
||||
return res==0;
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
* Lee la gdb y devuelve el array de ámbitos en función de si hay en la gdb o no
|
||||
|
|
|
|||
|
|
@ -17,6 +17,8 @@ namespace OliviaAddInPro.Services
|
|||
|
||||
public RecogidaServ(Recogida _reco)
|
||||
{
|
||||
if (_reco == null)
|
||||
_reco = OliviaGlob.Reco;
|
||||
reco = _reco;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,14 @@
|
|||
<UserControl x:Class="OliviaAddInPro.View.Configuracion.PropertyGridFilePickerFolder"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:OliviaAddInPro.View.Configuracion"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="450" d:DesignWidth="800"
|
||||
x:Name="TheControl">
|
||||
<DockPanel>
|
||||
<Button x:Name="PickFileButton" Content="…" Click="PickFileButton_Click" DockPanel.Dock="Right" Width="15" />
|
||||
<TextBox Text="{Binding ElementName=TheControl, Path=Value}" />
|
||||
</DockPanel>
|
||||
</UserControl>
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
using Microsoft.Win32;
|
||||
using OliviaAddInPro.Helper;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
using Xceed.Wpf.Toolkit.PropertyGrid;
|
||||
using Xceed.Wpf.Toolkit.PropertyGrid.Editors;
|
||||
using static OliviaAddInPro.Helper.HelperGdb;
|
||||
|
||||
namespace OliviaAddInPro.View.Configuracion
|
||||
{
|
||||
/// <summary>
|
||||
/// Lógica de interacción para PropertyGridFilePicker.xaml
|
||||
/// </summary>
|
||||
public partial class PropertyGridFilePickerFolder : ITypeEditor
|
||||
{
|
||||
public PropertyGridFilePickerFolder()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
public string Value
|
||||
{
|
||||
get { return (string)GetValue(ValueProperty); }
|
||||
set { SetValue(ValueProperty, value); }
|
||||
}
|
||||
|
||||
// Using a DependencyProperty as the backing store for Value. This enables animation, styling, binding, etc...
|
||||
public static readonly DependencyProperty ValueProperty =
|
||||
DependencyProperty.Register("Value", typeof(string), typeof(PropertyGridFilePickerFolder), new PropertyMetadata(null));
|
||||
|
||||
|
||||
|
||||
public FrameworkElement ResolveEditor(PropertyItem propertyItem)
|
||||
{
|
||||
Binding binding = new Binding("Value");
|
||||
binding.Source = propertyItem;
|
||||
binding.Mode = propertyItem.IsReadOnly ? BindingMode.OneWay : BindingMode.TwoWay;
|
||||
BindingOperations.SetBinding(this, ValueProperty, binding);
|
||||
return this;
|
||||
}
|
||||
|
||||
private void PickFileButton_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
OpenFileDialog fd = new OpenFileDialog();
|
||||
var st = HelperGdb.SaveFileDlg("Seleccione carpeta", null, null, ArcGIS.Desktop.Catalog.ItemFilters.folders);
|
||||
if (!string.IsNullOrEmpty(st))
|
||||
{
|
||||
Value = st;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -57,9 +57,9 @@
|
|||
SelectedItem="{Binding SelectedOption}">
|
||||
</frameworkControls:TabIndicator>
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Row="1">
|
||||
<ContentPresenter Content="{Binding CurrentSubPanelPage}"/>
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Row="1">
|
||||
<ContentPresenter Content="{Binding CurrentSubPanelPage}"/>
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Row="2" Margin="0,20,0,0">
|
||||
<ContentPresenter Name="PaneEjecutar">
|
||||
<ContentPresenter.Content>
|
||||
|
|
@ -77,5 +77,12 @@
|
|||
</ContentPresenter.Content>
|
||||
</ContentPresenter>
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Row="3" Margin="0,70,10,0">
|
||||
<Button x:Name="button_help" Content="" Margin="274,0,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Width="16" Height="16" BorderThickness="0" RenderTransformOrigin="16.875,0.375" Click="button_help_Click">
|
||||
<Button.Background>
|
||||
<ImageBrush ImageSource="../../Images/help16Pro.png"/>
|
||||
</Button.Background>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ using System.Windows.Media.Imaging;
|
|||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
using OliviaAddInPro.Helper;
|
||||
using OliviaAddInPro.Model;
|
||||
|
||||
|
||||
namespace OliviaAddInPro
|
||||
|
|
@ -49,5 +50,10 @@ namespace OliviaAddInPro
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
private void button_help_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
OliviaGlob.OpenManual();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -63,18 +63,25 @@
|
|||
<ContentPresenter Name="PaneEjecutar">
|
||||
<ContentPresenter.Content>
|
||||
<StackPanel Orientation="Vertical">
|
||||
<Grid Margin="0,10,0,0" Height="40 ">
|
||||
<Grid Margin="0,10,0,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="30"/>
|
||||
<ColumnDefinition Width="150"/>
|
||||
<ColumnDefinition Width="120"/>
|
||||
<ColumnDefinition Width="100"/>
|
||||
<ColumnDefinition Width="100"/>
|
||||
<ColumnDefinition Width="100"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button x:Name="button_secto" Grid.Column="1" Height="40 " Style="{DynamicResource Esri_Button}" Content="Sectorizar" Margin="10,0,10,0" Click="button_secto_Click" FontStretch="Condensed"/>
|
||||
<Button x:Name="button_planif" Grid.Column="2" Height="40 " Style="{DynamicResource Esri_Button}" Content="Planificar" Margin="10,0,10,0" Click="button_planif_Click"/>
|
||||
<Button x:Name="button_secto" Grid.Column="1" Style="{DynamicResource Esri_Button}" Content="Sectorizar" Margin="10,0,10,0" Click="button_secto_Click"/>
|
||||
<Button x:Name="button_planif" Grid.Column="2" Style="{DynamicResource Esri_Button}" Content="Planificar" Margin="10,0,10,0" Click="button_planif_Click"/>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</ContentPresenter.Content>
|
||||
</ContentPresenter>
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Row="3" Margin="0,70,10,0">
|
||||
<Button x:Name="button_help" Content="" Margin="0,0,0,0" HorizontalAlignment="Right" VerticalAlignment="Top" Width="16" Height="16" BorderThickness="0" RenderTransformOrigin="16.875,0.375" Click="button_help_Click">
|
||||
<Button.Background>
|
||||
<ImageBrush ImageSource="../../Images/help16Pro.png"/>
|
||||
</Button.Background>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ using System.Windows.Media.Imaging;
|
|||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
using OliviaAddInPro.Helper;
|
||||
|
||||
using OliviaAddInPro.Model;
|
||||
|
||||
namespace OliviaAddInPro
|
||||
{
|
||||
|
|
@ -43,11 +43,16 @@ namespace OliviaAddInPro
|
|||
if (DataContext is PaneRecogidaViewModel mod)
|
||||
{
|
||||
if (mod.PaneSub1.CapaAbierta)
|
||||
mod.Ejecuta(OliviaAddInPro.Services.ModosEjec.Planifica);
|
||||
mod.Ejecuta(OliviaAddInPro.Services.ModosEjec.SoloPlanifica);
|
||||
else
|
||||
HelperGlobal.ponMsg("No se ha seleccionado ninguna capa de Recogida");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void button_help_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
OliviaGlob.OpenManual();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue