Exemplo n.º 1
0
        private static void Main(string[] args)
        {
            if (args.Length < 2)
            {
                Console.Error.WriteLine("Error, no has indicado suficientes parámetros.");
                Console.Error.WriteLine("El formato es el siguiente: ExtraerEntidadesDeArchivos [archivo .bin a generar] [codigo 1]...[código n].");
                return;
            }

            var di       = new DirectoryInfo(Directory.GetCurrentDirectory());
            var archivos = di.GetFiles("*.bind");

            using (var archivoSalida = new BinDouble(args[0]))
            {
                foreach (var archivo in archivos)
                {
                    using (var archivoEntrada = new BinDouble(archivo.Name))
                    {
                        Console.WriteLine($"Analizando el archivo: {archivo.Name}");

                        var entidades = from entidad in archivoEntrada
                                        where entidad.TieneAlgúnCódigo(args.Skip(1))
                                        select entidad;

                        foreach (var entidad in entidades)
                        {
                            archivoSalida.Add(entidad.Clone());
                        }
                    }
                }
            }
        }
        private static void Main(string[] args)
        {
            if (args.Length < 4)
            {
                Console.Error.WriteLine("Error: No se han especificado parámetros.");
                Console.Error.WriteLine("El formato es: EliminaCodigoDeArchivoBin.exe [tabla de códigos] [archivo de entrada] [archivo de salida] [código a eliminar]");
                Console.Error.WriteLine("Ejemplo: EliminaCodigoDeArchivoBin.exe digiBCA.Tab.xml 29091711.bin salida.bin 201");
                return;
            }

            try
            {
                using (var archivoEntrada = new BinDouble(args[1]))
                {
                    using (var archivoSalida = new BinDouble(args[2], false))
                    {
                        foreach (var entidad in archivoEntrada)
                        {
                            var clonada = entidad.Clone();

                            // Eliminamos todos los códigos de la entidad clonada
                            clonada.Codes.Clear();

                            // Añadimos únicamente los códigos cuyo nombre no coincida con el pasado por parámetros
                            foreach (var código in entidad.Codes)
                            {
                                if (código.Name == args[3])
                                {
                                    continue;
                                }

                                clonada.Codes.Add(código);
                            }

                            if (entidad.Codes.Count == 0)
                            {
                                continue; // No almacenamos la entidad, pues al quitarle el código indicado por parámetros se ha quedado sin códigos. Era el único que tenía.
                            }
                            archivoSalida.Add(clonada);
                            Console.Write("*");
                        }
                    }
                }
            }
            catch (Exception excepción)
            {
                Console.Error.WriteLine("Se localizó el siguiente error:");
                Console.Error.WriteLine(excepción.Message);
            }
        }
        private static void Main(string[] args)
        {
            if (args.Length < 3)
            {
                Console.Error.WriteLine("Error: No se han especificado parámetros.");
                Console.Error.WriteLine("El formato es: MuestraAtributosBBDDGeometriasArchivoBinD.exe [tabla de códigos] [base de datos.mdb] [archivo bin a enumerar]");
                Console.Error.WriteLine("Ejemplo: MuestraAtributosBBDDGeometriasArchivoBinD.exe prueba.Tab.xml prueba.mdb prueba.bind");
                return;
            }

            try
            {
                var tabla = DigiTab.Load(args[0]);

                var parámetrosbbdd = new DatabaseConnectionProperties
                {
                    ConnectionString = $"Provider=Microsoft.ACE.OLEDB.16.0;Data Source={args[1]};Persist Security Info=False",
                    DataModel        = "CATDBS"
                };

                using (var archivoEntrada = new BinDouble(args[2], parámetrosbbdd, tabla))
                {
                    foreach (var entidad in archivoEntrada)
                    {
                        var atributos = archivoEntrada.GetDatabaseAttributes(entidad);

                        foreach (var código in entidad.Codes)
                        {
                            foreach (var clave in atributos[código.Name])
                            {
                                Console.WriteLine($"{clave.Key}: {clave.Value}");
                            }
                        }

                        Console.Write("-----------------");
                    }
                }
            }
            catch (Exception excepción)
            {
                Console.Error.WriteLine("Se localizó el siguiente error:");
                Console.Error.WriteLine(excepción.Message);
            }
        }
Exemplo n.º 4
0
        private static void Main(string[] args)
        {
            if (args.Length < 4)
            {
                Console.Error.WriteLine("Error: No se han especificado parámetros.");
                Console.Error.WriteLine("El formato es: Bind2Shape.exe [tabla de códigos] [base de datos.mdb] [archivo bin a traducir] [carpeta de salida]");
                Console.Error.WriteLine("Ejemplo: Bind2Shape.exe prueba.Tab.xml prueba.mdb prueba.bind shapefiles");
                return;
            }

            try
            {
                var tabla = DigiTab.Load(args[0]);

                var parámetrosbbdd = new DatabaseConnectionProperties
                {
                    ConnectionString =
                        $"Provider=Microsoft.ACE.OLEDB.16.0;Data Source={args[1]};Persist Security Info=False",
                    DataModel = "CATDBS"
                };

                using (var archivoEntrada = new BinDouble(args[2], parámetrosbbdd, tabla))
                    using (var archivoSalida = new Shp(args[3], tabla, () => archivoEntrada.Wkt))
                    {
                        foreach (var entidad in archivoEntrada)
                        {
                            try
                            {
                                var clonada = entidad.Clone();
                                archivoSalida.Add(clonada, archivoEntrada.GetDatabaseAttributes(entidad));
                                Console.Write("+");
                            }
                            catch (Exception excepción)
                            {
                                Console.Error.WriteLine($"Se localizó el siguiente error: {excepción.Message}");
                            }
                        }
                    }
            }
            catch (Exception excepción)
            {
                Console.Error.WriteLine($"Se localizó el siguiente error: {excepción.Message}");
            }
        }
Exemplo n.º 5
0
        static void Main(string[] args)
        {
            if (args.Length < 2)
            {
                Console.Error.WriteLine("Error: No se han especificado parámetros.");
                Console.Error.WriteLine("El formato es: ListarArchivosReferenciaEnBinD.exe [tabla de códigos] [archivo bind]");
                Console.Error.WriteLine("Ejemplo: EliminaCodigoDeArchivoBin.exe digiBCA.Tab.xml 29091711.bin salida.bin 201");
                return;
            }

            var tabla = DigiTab.Load(args[0]);

            using (var bin = new BinDouble(args[1], tabla))
            {
                foreach (var reference in bin.ReferenceFiles)
                {
                    Console.WriteLine(reference);
                }
            }
        }
Exemplo n.º 6
0
 public static string DoubleConvert_PositiveTests(double check)
 {
     return(BinDouble.DoubleToIEEE754(check));
 }
Exemplo n.º 7
0
        private static void TransformaArchivo(string[] args)
        {
            try
            {
                ConicSensor sensorOriginal = new ConicSensor();
                sensorOriginal.Load(args[0], args[2], false);

                ConicSensor sensorNuevo = new ConicSensor();
                sensorNuevo.Load(args[1], args[2], false);

                double paralajeAlarma = double.Parse(args[5]);

                using (BinDouble archivoOriginal = new BinDouble(args[3]))
                {
                    using (BinDouble archivoNuevo = new BinDouble(args[4], 0, true, true))
                    {
                        int índiceEntidad = 0;
                        foreach (var entidad in archivoOriginal)
                        {
                            double paralajeEntidad;
                            var entidadTransformada = Transforma(sensorOriginal, sensorNuevo, entidad, out paralajeEntidad);
                            archivoNuevo.Add(entidadTransformada);

                            if (Math.Abs(paralajeEntidad) >= paralajeAlarma)
                            {
                                Console.WriteLine(string.Format("{0}\t{1}"),
                                    índiceEntidad,
                                    paralajeEntidad);
                            }
                        }
                    }
                }

                Console.ReadLine();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }