Archivo del Autor: joseangelmt

Dos modos de trabajo: dos interfaces de usuario

DigiNG.NET permite trabajar con dos paradigmas de codificación distintos:

  1. Podemos trabajar con el paradigma de código único (como en versiones anteriores o como hacen los programas de CAD y SIG del mercado)
  2. Podemos trabajar con el novedoso sistema de multi-codificación.

Cuando liberamos Digi3D.NET, decidimos realizar un cambio en el interfaz de usuario que permitiera trabajar con multi-codificación.

Este cambio consistió en eliminar la barra de herramientas Código y en la aparición en escena de un nuevo panel acoplable denominado Códigos Activos.

Panel de códigos activos mostrando dos códigos simultáneamente: Muro y carretera estatal

Panel de códigos activos mostrando dos códigos simultáneamente: Muro y carretera estatal

Este panel permite seleccionar una serie de códigos que serán los que se asignen a las entidades que se van a digitalizar.

Por ejemplo, en esta captura podemos comprobar que tenemos seleccionados como códigos activos el código 040523 (muro) y el código 060126 (carretera estatal), de modo que si digitalizamos una nueva geometría, ésta será simultáneamente un muro y una carretera estatal.

Este panel dispone además de una barra de herramientas propia que nos permite añadir códigos a la lista de códigos, eliminar los códigos seleccionados en la lista de códigos, buscar un nuevo código, clonar los códigos de una geometría existente o añadir a la lista de códigos activos los códigos de una geometría existente.

Este panel de códigos es muy cómodo y es increíble si trabajamos con multi-codificación, pero tiene dos problemas:

  1. Ocupa más espacio que la antigua barra de herramientas Código.
  2. Su aparición provocó la desaparición de la barra de herramientas Código lo que es chocante para usuarios de Digi3D que llevan 20 años trabajando con el programa.

Varios usuarios que no trabajan con un modelo de datos de multi-codificación han solicitado la posibilidad de recuperar la antigua barra de herramientas códigos y como resultado tenemos una actualización de Digi3D.NET con la siguiente característica:

En el menú Herramientas/Configuración/DigiNG tenemos una nueva opción titulada Interfaz de multi-codificación que por defecto viene configurada con la opción Si.

Barra de herramientas mostrando como código activo el código  (curva de nivel fina)

Barra de herramientas mostrando como código activo el código (curva de nivel fina)

Si la cambiamos a No, tras reiniciar el programa comprobaremos que aparece la barra de herramientas Código que nos va a permitir seleccionar un único código. El panel acoplable Códigos activos sigue existiendo si activamos esta opción, pero deshabilitado, así que somos libres de cerrarlo para que no ocupe espacio en la aplicación.

Si activamos esta barra se pierden las características de multi-codificación de Digi3D.NET, así que no podremos seleccionar más de un código a asignar a las nuevas geometrías.

Cargando archivos MDS en formato TIFF

DigiNG permite cargar archivos (mediante la orden CARGA_F) con extensión .TIF que representan o una ortofoto o un modelo digital de superficies.

  • Si el archivo cargado representa una imagen, esta se mostrará en la ventana de dibujo como cualquier archivo de referencia normal. Si desplegamos las opciones del archivo en el panel Archivos de dibujo podremos activar/desactivar la visualización de la imagen así como el tipo de interpolación al interpolar/extrapolar.
  • Si por el contrario el archivo cargado representa un modelo digital de superficies, no se visualizará información en la ventana de dibujo, sin embargo podremos utilizarlo como fuente de coordenadas Z para órdenes como CAL_ORTO o para los flags que puedes encontrar en el menú Ventana fotogramétrica/Proyectar la coordenada Z usando los MDT cargados o el menú MDT/Proyectar la coordenada Z al mover sobre un MDT cargado.

Los MDS tienen que estar geo-referenciados, lo que significa que en algún sitio tiene que aparecer información que le haga saber al programa la posición de la imagen así como su orientación y tamaño.

Si el MDS está almacenado en un archivo GeoTiff, no será necesario ningún archivo adicional (siempre y cuando el archivo GeoTiff informe tanto de la posición/tamaño de la imagen como del sistema de coordenadas).
Si no es un archivo GeoTiff, será necesario un archivo .tfw (más información en World File para la geo-referenciación y un archivo .prj (más información en Shapefile Projection Format)

Es decir, exactamente igual que al cargar una ortofoto en DigiNG pero con una diferencia: Los sistemas de coordenadas de referencia de la ventana de dibujo y del archivo MDS no tienen por qué coincidir. Pueden ser distintos siempre y cuando exista alguna transformación de uno al otro.

DigiNG.NET permite cargar archivos MDS en Tiff de 32 bits y de 64 bits.

Si quieres aprender más sobre este tema, lee la entrada ¿El TIFF contiene una imagen o por el contrario contiene un MDT/MDS? en el blog de desarrollo de Digi3D.NET.

Novedades con archivos LIDAR (.las)

DigiNG mostrando un modelo LIDAR

Hoy presentamos dos novedades importantes relacionadas con archivos LIDAR:

  • Ya es posible visualizar en la ventana de dibujo las nubes de estos archivos de dibujo. Hasta ahora únicamente se podían visualizar en la ventana fotogramétrica.
  • Ahora los archivos LIDAR se consideran un modelo digital del terreno, lo que significa que Digi3D.NET puede utilizarlos para proyectar en tiempo real o para calcular una ortofoto.

    Gracias a este punto, es posible restituir monoscópicamente con uno (o varios) archivos .las cargados bajo la ortofoto o la foto.

Se han añadido varias opciones para controlar la visualización de los archivos LIDAR tanto en el cuadro de diálogo Configuración como en el panel acoplable Archivos de dibujo.

En el cuadro de diálogo Configuración tenemos una nueva opción titulada Importador/Exportador de archivos LIDAR (*.las) con las siguientes opciones:

Variable Descripción Valor por defecto
Mostrar por defecto en ventana de dibujo Si se activa, cuando se cargue un archivo LIDAR, este se mostrará inmediatamente en la ventana de dibujo. Podremos ocultarlo con posterioridad mediante las opciones del archivo en el panel Archivos de dibujo Desactivado
Consumir memoria de la tarjeta gráfica Si está activo, se almacenarán los puntos que se muestran en la ventana de dibujo en la memoria de la tarjeta gráfica. Esto puede hacer que se consuma la memoria de la tarjeta (por ahora Digi3D.NET no optimiza la carga de puntos), pero hará que la visualización sea inmediata. Si se deshabilita, no se consumirá memoria de la tarjeta gráfica pero los zooms serán más lentos. Activado
Mostrar por defecto en la ventana fotogramétrica Si se activa, cuando se cargue un archivo LIDAR, este se mostrará inmediatamente en la ventana fotogramétrica. Podremos ocultarlo con posterioridad mediante las opciones del archivo en el panel Archivos de dibujo Desactivado

Podemos controlar la visualización de los archivos LIDAR cargados mediante el panel Archivos de dibujo. Si desplegamos el menú de opciones del archivo .las aparecen varias opciones que nos van a permitir activar/desactivar la visualización de un determinado archivo LIDAR tanto en la ventana fotogramétrica como en la ventana de dibujo, además de poder indicar el color con el que se visualizarán los puntos en función de la categoría en la que esté clasificado.

Propiedades archivo LIDAR en el panel Archivos de Dibujo

Una vez cargado el archivo LIDAR (o los archivos, puedes cargar simultánemanete tantos como quieras), podemos activar la opción del menú Ventana fotogramétrica/Proyectar la coordenada Z usando los MDTs cargados. De esta manera podremos restituir monoscópicamente con la garantía de estar utilizando una coordenada Z válida. Activar esta opción no relentiza el programa ya que la proyección se realiza mediante algoritmos que permiten el movimiento en tiempo real.

Si no vas a utilizar la ventana fotogramétrica, sino que vas a realizar edición de una cartografía existente en la ventana de dibujo, puedes activar la opción del menú MDT/Proyectar la coordenada Z al mover sobre un MDT cargado.

Además ahora se pueden utilizar los archivos LIDAR para calcular ortofotos. Ya no es necesario cargar un archivo .MDT de MDTopX para calcular la ortofoto si tienes archivos LIDAR de la zona (aunque el rendimiento a la hora de calcular una ortofoto es muy superior si los modelos digitales del terreno son archivos de MDTopX que si son archivos LIDAR).

Cálculo de ortofotos con Digi3D.NET

Cuadro de diálogo Calcula Ortofoto

Digi3D.NET permite calcular ortofotos mediante la orden CAL_ORTO.

Esta orden ha evolucionado con respecto a versiones anteriores de Digi3D, incorporando las siguientes novedades:

  1. Multi-procesamiento. El cálculo de la ortofoto se realiza en paralelo, de manera que cuantos más núcleos dispongamos más rápido se calculará la ortofoto. En la captura de pantalla que encabeza esta entrada, puedes ver que el cuadro de diálogo de cálculo de ortofotos permite indicar el número de hilos de ejecución con los que se realizará el cálculo. El desplegable varía en función del número de procesadores que disponga el ordenador donde se está ejecutando la orden. En la captura de pantalla puedes ver que se ha seleccionado 12 hilos de ejecución. Esto significa que si lo comparamos con versiones anteriores de Digi3D o de OrthoBatch, el cálculo de la ortofoto se generará 12 veces más rápido en la misma máquina.
  2. GeoTIFF. La ortofoto se va a crear en el mismo sistema de coordenadas que la ventana de dibujo. Como Digi3D.NET sabe en todo momento el sistema de coordenadas de la ventana de dibujo, va a almacenar esa información en la cabecera del GeoTIFF junto con la geo-referenciación de la ortofoto. De esta manera, cualquier programa que permite cargar ortofotos (como Digi3D.NET, GlobalMapper) no es necesario siquiera generar un archivo .Tfw asociado.
  3. Canal alfa. Podemos indicar si queremos que se genere un canal de transparencia que es un mecanismo estándar para los píxeles que están fuera de la orfototo (fuera del modelo digital del terreno o de la imagen original) en vez del sistema que utilizan Digi3D 2007 y OrthoBatch de indicar que un determinado color se debe considerar como transparente. Así programas como Photoshop considerarán los píxeles transparentes como transparentes.
  4. Tamaño de las teselas. La imagen resultante va a estar teselada (con tiles), de esta manera los programas que carguen nuestra ortofoto podrán optimizar la memoria. El cuadro de diálogo de cálculo de ortofotos nos va a permitir indicar el tamaño de las teselas.
  5. Niveles piramidales. Podemos también indicar si queremos que se generen niveles piramidales, el nivel piramidal máximo y si queremos o no que estén auto-contenidos dentro de la propia imagen.
  6. Geo-referenciación adicional. Además podemos indicar si queremos que se generen archivos de geo-referenciación adicionales. Los archivos GeoTIFF ya están geo-referenciados, pero es posible que queramos activar la generación de archivos Tiff World File para programas como versiones anteriores de Digi3D que no sean capaces de leer GeoTIFF. Además tenemos la opción de generar una capa de superposición para Google Earth, de modo que al hacer doble clic sobre el archivo de la capa, se abrirá Google Earth y nos mostrará nuestra flamante ortofoto.

A continuación tienes un vídeo en el que puedes ver todo esto en acción.

Control de bordes: detectar_continuidad_limite

Digi3D.NET incorpora herramientas que nos van a permitir detectar continuidad de geometrías entre bordes.

Muchas veces nos interesa localizar líneas que llegan al marco de hoja y que no continuan en la hoja adyacente. La orden detectar_continuidad_limite nos va a ayudar a realizar esta tarea.

Este orden recibe como parámetro el código de las líneas que forman el límite por el cual queremos detectar discontinuidades y analiza todas las entidades visibles (activas con las órdenes ON y OFF) y que no tienen continuidad.

El resultado final es una serie de tareas en el Panel de tareas de Digi3D.NET que nos mostrarán los distintos errores localizados.

Puedes ver un vídeo en el que se explica cómo se ha desarrollado esta funcionalidad en la siguiente dirección: Detectar continuidad límite.

A continuación tienes un vídeo en el que se muestra en funcionamiento esta orden:

Guardando la tabla de códigos activa

Digi3D.NET mostrando el menú de opciones Guardar Tabla de códigos

Digi3D.NET permite guardar la tabla de códigos con la que estás trabajando mediante la opción del menú Archivo/Herramientas/Guardar tabla de códigos.

Esta opción es muy útil si estás trabajando con una tabla de códigos generada automáticamente por Digi3D.NET, tal y como se explica en el post Trabajar sin tabla de códigos.

Al seleccionar esta opción, Digi3D.NET mostrará un cuadro de diálogo Guardar como que te permitirá almacenar la tabla de códigos en un archivo. De esta manera podrás modificarla (como asignar colores, restricciones a los campos de base de datos, asignar parámetros de traducción, …) con el editor de tablas de códigos.

Marcando los vértices de las entidades seleccionadas

Digi3D.NET mostrando los vértices de una una línea seleccionada como circunferencias con un ancho de 5 píxeles y con color verde claro.

Digi3D.NET mostrando los vértices de una una línea seleccionada como circunferencias con un ancho de 5 píxeles y con color verde claro.

Digi3D.NET permite que configuremos los parámetros de visualización de las marcas que se insertan sobre cada vértice de las entidades seleccionadas por el usuario.

Al seleccionar una entidad, Digi3D.NET muestra una animación para indicar el sentido en el que se digitalizó (dibujando partes de la entidad seleccionada en color blanco y partes en color rojo, que se van desplazando para generar un efecto de animación), así como unas marcas que indican la ubicación de los vértices que forman la entidad seleccionada. De esta manera el usuario sabe si está cerca o lejos de un vértice.

El usuario es libre de configurar la apariencia de estas marcas. Para ello, tan solo tiene que cambiar la configuración en el cuadro de diálogo Configuración, en la sección Vértices de entidades seleccionadas disponemos de las siguientes opciones:

Campo Descripción Valor por defecto
Tipo de marca Indica el tipo de marca que queremos nos muestre Digi3D.NET sobre cada vértice.

Podemos seleccionar entre las siguientes opciones:

  • No mostrar ninguna marca
  • Mostrar un cuadrado
  • Mostrar un triángulo
  • Mostrar un círculo
Cuadrado
Tamaño Indica el semi-ancho en píxeles de la marca a utilizar. 5 píxeles
Color Indica el color con el que se dibujará la marca. Azul sólido (sin transparencia) #0000FFFF

Trabajar sin tabla de códigos

Nuevo Proyecto

Cuadro de diálogo Nuevo proyecto mostrando el campo Tabla de códigos vacío.

Hemos añadido una nueva funcionalidad a Digi3D.NET que va a permitirte cargar cualquier archivo de dibujo sin necesidad de crear previamente una tabla de códigos.

Si en el cuadro de diálogo Nuevo Proyecto, en la pestaña Archivos de dibujo dejamos en blanco el campo Tabla de códigos, al cargar un archivo de dibujo, el importador correspondiente se encargará crear una tabla de códigos en memoria con los códigos extraídos del propio archivo de dibujo.

Si el archivo de dibujo que estamos cargando es un archivo auto-contenido en una base de datos, como Shapefile o Geomedia Datawarehouse, esta tabla de códigos incorporará además el esquema de la base de datos, de forma que al seleccionar un código como activo, en el panel de propiedades Campos de la base de datos Digi3D.NET nos mostrará los campos a añadir en la base de datos cuando almacenemos una entidad nueva.

En un futuro cercano tendremos una orden que almacene esa tabla de códigos para poder luego modificarla con el programa Editor de Tablas de Códigos.

Mejoras de usabilidad en la orientación relativa

La primera acción que debemos realizar en Digi3D.NET a la hora de medir una orientación relativa es seleccionar en el cuadro de diálogo Orientación relativa que aparece acoplado en la parte derecha de la ventana fotogramétrica el esquema que le indica fotocoordenadas (referidas a la cámara izquierda) donde corregir los paralajes.

La instalación de Digi3D.NET incorpora varios esquemas por defecto:

  • Von Gruber para cámaras aéreas analógicas
  • Von Gruber para cámara aérea Vexcel Ultra CAM D.

La diferencia entre estos dos esquemas es que el primero está pensado para imágenes con un tamaño aproximado de 112×112 mm. y el segundo para imágenes con un tamaño aproximado de 65×100 mm.

Si seleccionamos un esquema equivocado es posible que el programa intente corregir paralajes fuera de la imagen (si la imagen es más pequeña que el esquema seleccionado) o al revés, que el programa intente corregir paralajes en el centro de la foto. Esto puede no ser un problema si realizamos la orientación relativa manualmente, pero si la realizamos automática por correlación, es posible que esta falle.

Hasta ahora, si nos llegaba una cámara con un tamaño nuevo, teníamos que editar la base de datos de esquemas para añadir un esquema válido para las cámaras con ese tamaño determinado, pero con la nueva característica que hemos añadido ya no va a ser necesario.

Parte del cuadro de diálogo "Orientación Relativa" con el esquema "Von Gruber calculado con porcentajes" seleccionado

Parte del cuadro de diálogo «Orientación Relativa» con el esquema «Von Gruber calculado con porcentajes» seleccionado

Hemos añadido un nuevo tipo de esquema denominado Von Gruber calculado con porcentajes que como su nombre indica calcula las fotocoordenadas donde corregir los paralajes en función de unos porcentajes que indiquemos en la configuración del programa y del tamaño de la imagen.

De esta manera el programa calculará automáticamente las zonas donde corregir los paralajes independientemente del tamaño de las imágenes. Esta mejora hará que incrementemos nuestra productividad.

Los porcentajes aplicados por defecto si seleccionamos esta opción serán 10% en horizontal y 20% en vertical, pero somos libres de cambiarlos en las dos nuevas opciones que han aparecido en el cuadro de diálogo Herramientas/Configuración/Orientación relativa, en los campos Porcentaje horizontal Von Gruber y Porcentaje vertical Von Gruber que puedes ver en la siguiente captura de pantalla.

Cuadro de diálogo Configuración mostrando las opciones de porcentajes Horizontal y Vertical de Von Gruber

Cuadro de diálogo Configuración mostrando las opciones de porcentajes Horizontal y Vertical de Von Gruber

Mejorado el soporte de base de datos en el Editor de Tablas de Códigos

Hasta ahora, en Digi3D.NET las opciones del menú Herramientas/Base de datos/Importar esquema de una base de datos Geographics o Herramientas/Base de datos/Importar esquema de una base de datos CATDBS del Editor de Tablas de Códigos únicamente eran capaces de conectarse con bases de datos cuyo proveedor fuera accesible desde el cuadro de diálogo Data Link Properties de Windows.

No todos los proveedores de base de datos añaden opciones en el cuadro de diálogo Data Link Properties de modo que si tenemos una base de datos que no añada opciones en ese cuadro de diálogo, como bases de datos en formato Microsoft SQL Server Compact no podríamos utilizar estas opciones para importar el esquema.

Cadena de conexión

En la nueva versión del programa, al seleccionar cualquiera de estas dos opciones ya no se muestra directamente el cuadro de diálogo Data Link Properties, sino que se muestra el cuadro de diálogo Cadena de Conexión que nos va a permitir teclear la cadena de conexión manualmente o (pulsando el botón de los tres puntos) mostrar el cuadro de diálogo Data Link Properties

Si quieres aprender el formato de las cadenas de conexión para bases de datos Microsoft SQL Server Compact visita la entrada Conectando con bases de datos SQL Server Compact en el blog de Digi3D en profundidad.