Archivo de la etiqueta: nueva_funcionalidad

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

Añadido soporte para trabajar con archivos Geomedia Datawarehouse (.mdb)

Campos de la base de datos

Ahora es posible trabajar en DigiNG.NET de forma nativa en archivos .mdb en formato Datawarehouse de Geomedia, sin necesidad de importar o exportar archivos.

No es necesario tener instalada una licencia de Geomedia para poder trabajar con este tipo de archivos. La implementación es nativa, sin librerías de terceros como Geomedia Objects de modo que el rendimiento es óptimo.

Para el usuario es muy sencillo, tan solo tiene que seleccionar en el campo Archivo de dibujo de la pestaña Archivo de dibujo del cuadro de diálogo Nuevo proyecto un archivo con extensión .mdb en formato Datawarehouse de Geomedia.

Si no disponemos de una tabla de códigos, DigiNG.NET añadirá códigos a la tabla de códigos activa en el momento de la carga, pero únicamente en memoria. Si queremos almacenar esa tabla tendremos que hacerlo con la única herramienta disponible para este fin que es el Editor de tablas de códigos que podemos ejecutar en Inicio / Todos los programas / Digi21.net / Digi3D.NET / Digi3D.NET.

DigiNG.NET nos permite tanto crear entidades nuevas como eliminar entidades existentes o modificarlas. Además antes de almacenar una entidad nueva podemos indicar en el panel acoplable campos de la base de datos el valor de los campos que se van a almacenar junto con la geometría, y podemos modificar registros existentes en la base de datos con la orden EDITAR_COD.

Entidades eliminadas

Geomedia no permite indicar si una determinada entidad está eliminada o no.

En Geomedia si se elimina una entidad, desaparece todo rastro de ella. La filosofía de trabajo de usuarios Digi, sin embargo si que permite marcar entidades para poder recuperarlas con posterioridad y para poder realizar un número ilimitado de operaciones deshacer.

Para permitir trabajar con filosofía Digi en archivos de Geomedia, DigiNG.NET añadirá dos tablas a la base de datos: Digi3D_Tablas y Digi3D_Eliminados, donde se almacena información sobre las entidades eliminadas.

Si eliminamos entidades y no comprimimos, al abrir el archivo .mdb con Geomedia, éste mostrará las entidades eliminadas. Para eliminar permanentemente las entidades tendremos que ejecutar la orden comprimir.

Limitaciones

  • DigiNG.NET no es capaz de crear un archivo Geomedia datawarehouse por si mismo. Requiere que utilicemos un archivo de semilla (un archivo .mdb creado por Geomedia que únicamente dispone de las correspondientes tablas) que nos habrá proporcionado el cliente.
  • DigiNG.NET no puede rellenar el campo de clave espacial de Geomedia al ser un algoritmo patentado. Esto no es problema porque DigiNG.NET no lo necesita y el usuario final puede rellenarlo automáticamente con la ejecución de un comando en Geomedia.
  • Por ahora, DigiNG.NET no es capaz de reconocer el sistema de coordenadas de referencia del archivo .mdb, por lo tanto el usuario tiene que indicar manualmente en los campos Sistema de coordenadas de referencia horizontal y vertical de la sección Motor de importación/exportación de la pestaña Archivo de dibujo del cuadro de diálogo Nuevo proyecto.
  • Por ahora no de pueden almacenar entidades de tipo texto.

Añadido soporte para el satélite Pléiades

Digi3D.NET incorpora la posibilidad de cargar imágenes estereoscópicas o monoscópicas del satélite Pléiades.

Las imágenes procedentes de este satélite son imágenes en formato JPEG 2000 de 12 bits de profundidad de color que Digi3D.NET carga a toda velocidad. El usuario puede indicar la proyección en la que desea trabajar, encargándose Digi3D.NET de realizar las correspondientes transformaciones en tiempo real.

Mejoras en las órdenes MOD y MOD_Z con líneas cerradas

DigiNG.NET ha mejorado significativamente el comportamiento de las órdenes MOD y MOD_Z cuando modificamos líneas cerradas y polígonos.
Si modificamos una línea cerrada encontramos dos soluciones. En versiones anteriores de Digi3D, el programa modificaba la línea sin consultar al usuario por cual de las dos soluciones optar, y además si el área afectada en la modificación pasaba por el origen de la línea cerrada, el comportamiento era imprevisible.

DigiNG.NET ha mejorado mucho este comportamiento, pues si detecta que el usuario está modificando una línea cerrada, antes de modificar la línea muestra un cuadro de diálogo titulado Localizadas dos soluciones en el que se le solicita al usuario que seleccione la solución que le interesa. En la parte izquierda del cuadro de diálogo se mostrará la solución con mayor area y en la parte derecha la solución con menor area. La opción seleccionada por defecto en este cuadro de diálogo será siempre la opción con mayor area.

En los gráficos, se dibuja la entidad sin modificar en color gris, y la solución en color rojo, de modo que es muy sencillo ver la modificación que se va a realizar a la geometría.

Polígonos

Si modificamos el contorno extesior de un polígono, y este tiene huecos, el programa no mostrará el cuadro de diálogo y se quedará con la solución que hace que todos los huecos sigan siendo huecos del polígono.
Si la modificación es tán grande que excluye algún hueco del polígono no se permitirá realizar la modificación.

Niveles automáticos

La siguiente captura de pantalla muestra una imagen satelital radiométricamente muy pobre, ya que es muy oscura y además tiene poco contraste:

Si analizamos el histograma de la imagen (captura obtenida de Photoshop Elements)…


…podemos comprobar gráficamente las dos afirmaciones anteriores:

  1. La imagen es muy oscura ya que la mayoría de los píxeles están a la izquierda de la gráfica, que es donde están los colores oscuros.
  2. La imagen tiene muy poco contraste, ya que la mayoría de los píxeles están agrupados.

Podríamos pensar que se puede mejorar la imagen cambiando el brillo, contraste y gama), pero no conseguiríamos una imagen óptima, ya que la solución no consiste en mover el histograma o expandirlo por igual, sino en ecualizarlo. Para ello, disponemos de la herramienta Niveles Automáticos del panel Propiedades de la imagen que puedes hacer aparecer en el menú Ventana fotogramétrica/Propiedades de la imagen.

Si activamos esta casilla el programa mejorará los niveles (brillo/contraste) de la imagen automáticamente como puedes ver en la siguiente captura de pantalla:

Parece magia ¿no? Es prácticamente imposible foto-interpretar nada en la imagen que encabeza esta entrada en el blog, sin embargo en esta última captura se puede foto-interpretar cualquier accidente sin ningún problema.

Para conseguir realizar esta operación, Digi3D.NET necesita conocer el histograma de la imagen, y para calcular el histograma de la imagen hay que analizar el 100% de los píxeles de esta (para saber cuántos píxeles tienen intensidad 0, cuántos tienen intensidad 1, cuántos 2,… cuántos 255 para los canales rojo, verde y azul) y como hay que analizar el 100% de los píxeles de la imagen, pues lógicamente hay que cargar la imagen completa, lo que significa que la primera vez que activemos esta casilla el programa tardará un poquito (aparecerá una barra de progreso indicando que se está analizando el histograma).

Cuando se termine de analizar el histograma se generará un archivo en el mismo directorio que la imagen, con el mismo nombre pero con extensión .imageProperties, que es un archivo que almacena esta información, de manera que la siguiente vez que activemos la casilla para esta imagen ya no será necesario cargarla entera y por lo tanto el proceso será inmediato.

Rellenos con texturas

DigiNG.NET permite que seleccionemos una textura como relleno en líneas cerradas, polígonos y topologías.
Si quieres añadir una textura como relleno, tan solo tendrás que seguir los siguientes pasos:

SeleccionandoUnBitmapDeRelleno

  1. Crear/comprar/localizar en internet la textura que deseas utilizar como fondo.
  2. Asegurarte de que el tamaño de esta es múltiplo de una potencia de 2, es decir 2,8,16,32,64,128,256,512,1024,…
  3. Copiarla en tu directorio de símbolos.
  4. Editar la tabla de códigos y en el código en cuestión cambiar el valor de la propiedad Rellenar a Si.
  5. Seleccionar la textura a utilizar en el campo Bitmap de relleno.

Si dibujamos una línea cerrada con ese código, o un polígono (y siempre que tengamos el flag RELLENAR a verdadero, DigiNG.NET nos mostrará la línea rellena con la textura. La textura se repetirá indefinidamente hasta rellenar la entidad en cuestión.

Si el polígono tiene huecos, estos no se rellenarán con la textura.

Visualizar puntuales como una imagen

DigiNGMostrandoTexturasPuntuales

DigiNG.NET nos permite seleccionar una imagen para representar un puntual. Gracias a esta característica podemos mejorar mucho el aspecto de nuestros mapas.

Para hacer que un puntual se represente con una imagen tenemos que seguir estos pasos:

  1. Copiar la imagen que queremos utilizar en el directorio de símbolos de DigiNG.NET (aquel que indicas en la pestaña Archivo de dibujo en el cuadro de diálogo Nuevo proyecto.
  2. Crear un estilo en la tabla de códigos cuyo símbolo sea la imagen que nos interese.
  3. Indicar en el código en cuestión que el estilo a utilizar es el estilo que tiene seleccionada la imagen.
  4. Activar el patrón.

Si al cargar una tabla de códigos se localiza en el directorio de símbolos alguna imagen con un formato de entre los soportados por DigiNG.NET (.bmp, .tif, .jpg, .j2p, .ecw, .sid) esta imagen se cargará automáticamente en la memoria de texturas de la tarjeta gráfica.
Como la memoria de texturas de la tarjeta gráfica no es infinita, te recomiendo utilizar texturas pequeñas. Además, esta memoria es una memoria especial, ya que únicamente se pueden cargar texturas cuyo ancho o alto sea un número potencia de 2, lo que quiere decir que si por ejemplo tenemos una textura de 1025×640 píxeles, la memoria a solicitar a la tarjeta gráfica será 2048×1024, por lo que se desaprovechará mucha memoria innecesariamente.

Puedes crearte tu mismo las texturas a utilizar mediente programas como Paint, Paint.NET (el que yo suelo utilizar habitualmente), o herramientas profesionales como PhotoShop o The Gimp o tomando alguna fotografía de un objeto real. DigiNG.NET admite además canal alpha, así que puedes hacer huecos dentro de la textura jugando con este valor.

Si no quieres perder el tiempo creando texturas, te recomiendo que compres texturas a empresas que hacen texturas profesionalmente como en DOSCH Design que tienen texturas de distintos tipos de árboles a vista de pájaro por solo 69€ y es la que he utilizado en la capura de pantalla que encabeza este post.

Configurando tres ratones en Digi3D 2011

En este post te voy a enseñar cómo configurar tres ratones en Digi3D. Verás que puede ayudarte mucho a incrementar la productividad con Digi3D.

Si no dispones de unas manivelas o de un topomouse y quieres utilizar la ventana fotogramétrica puedes utilizar el ratón del ordenador.

Para capturar el ratón en la ventana fotogramétrica tienes dos opciones: o pulsando la barra espaciadora o haciendo clic con el ratón en la ventana fotogramétrica.
Si quieress liberar el ratón (para utilizarlo en la ventana de dibujo, o para entrar en los menús, seleccionar una barra de herramientas o cambiar de aplicación,…) tendrás que pulsar la barra espaciadora del teclado para liberarlo.

Si vas a trabajar con un modelo estereoscópico, mi recomendación es que te compres un trackball que utilizarás para el movimiento de la coordenada Z. El mejor trakball a día de hoy es el Logitech Marble® Mouse que puedes adquirir por unos 30€ en cualquier gran almacén o tienda de informática.

Pero si dispones de un tercer ratón, puedes incrementar la productividad, ya que puedes marcar la casilla de verificación titulada «Este ratón se utilizará exclusivamente para la ventana fotogramétrica» en los dos ratones que vas a utilizar para la ventana fotogramétrica y no marcar esa casilla para el tercer ratón. De esta manera, cuando muevas cualquiera de los dos ratones que has indicado se utilizarán exclusivamente en la ventana fotogramétrica, esta los capturará automáticamente, y cuando muevas el otro ratón (el que no has indicado que se utilizará de forma exclusiva) podrás utilizarlo para entrar en los menús o cambiar de programa.

Valores separados por comas (CSV)

Uno de los importadores de archivos de dibujo que implementa Digi3D 2011 es el importador de valores separados por comas (o archivos CSV). Estos archivos tienen la extensión .csv o archivos .txt.

Los archivos de valores separados por comas se caracterizan por ser archivos de texto (pueden ser ASCII, UTF-8, UTF-16, UNICODE), pero de texto, que tienen valores separados por algún carácter especial, que no tiene por que ser una coma. En el ejemplo del vídeo del final de esta entrada, el archivo (aunque no lo digo en el vídeo) es un archivo UTF-8, y el separador es el tabulador.

Estos archivos están compuestos por tantas líneas como registros, y cada una de las líneas tiene el mismo número de valores.

El importador de archivos CSV nos va a permitir visualizar rápidamente el contenido de estos archivos mostrando el campo que desee el usuario en unas coordenadas que se extraen del propio archivo, lo que significa que estos archivos al menos deben de tener un campo para extraer la coordenada X y otro para la coordenada Y. La coordenada Z tiene menos importancia si lo que estamos visualizando es toponimia. Si las coordenadas del archivo son geográficas, deberá existir al menos un campo para la latitud y otro para la longitud.

Si el archivo CSV no tiene cabecera, tendremos que crear una, pues es fundamental para que Digi3D 2011 nos muestre una ventana en el panel de archivos de dibujo que nos permita seleccionar el campo a visualizar en la ventana de dibujo.

En el video de a continuación podrás ver cómo crear un archivo CSV, cargarlo en Digi3D 2011 y a continuación cómo descargar un archivo del sitio Geonames con información acerca de todas las poblaciones de España. De este sitio podemos descargar también otro archivo con todos los códigos postales de España o de cualquier país del mundo.