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); } }
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}"); } }
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); } } }
public static string DoubleConvert_PositiveTests(double check) { return(BinDouble.DoubleToIEEE754(check)); }
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); } }