Archivo de la etiqueta: 2011

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.

Cargando ortofotos en DigiNG.NET

DigiNG.NET considera a las ortofotos como un tipo más de archivos de referencia, de modo que podemos cargar una ortofoto mediante la orden CARGA_F (o mediante el menú Archivo/Cargar archivo de referencia…, o pulsando el botón corresponeidnte en la barra de herramientas del panel acoplable Archivos de dibujo) y se descargan con la orden DEJAR (o mediante el menú Archivo/Descargar archivo de referencia… o mediante la opción Descargar este archivo del menú contextual que aparece al hacer clic con el botón derecho del ratón en el nombre de la ortofoto en el panel Archivos de dibujo).

Las órdenes CARGA_RASTER y DEJAR_RASTER han pasado a mejor vida, de modo que no podemos utilizarlas en DigiNG.NET.

Condiciones para poder cargar una ortofoto

DigiNG.NET nos va a permitir cargar ortofotos siempre que se cumplan tres requisitos:a capaz de reconocer el formato de la imagen y siempre que sepa localizar la georeferenciación de la ortofoto.

  1. Que se reconozca la extensión de la imagen.
  2. Que se pueda localizar la geo-referenciación de la imagen.
  3. Que el sistema de coordenadas asignado a la ventana de dibujo sea el mismo que el sistema de coordenadas de la imagen.

Formatos de imagen reconocidos por DigiNG.NET

DigiNG.NET permite cargar imágenes de los siguientes formatos:

Tipo de imagen Extensión del archivo
Imágenes en formato TIFF .tif
Imágenes en formato ECW .ecw
Imágenes en formato JPEG 2000 .jp2
Imágenes en formato MrSID .sid
Imágenes en formato JPEG .jpg
Imágenes en formato BMP .bmp

Geo-referenciación

La ortofoto tiene que estar geo-referenciada, 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.

La geo-referenciación consiste en informar de las coordenadas de las cuatro esquinas de la imagen (o la coordenada del primer pixel de la imagen así como su tamaño y orientación), y del sistema de coordenadas de referencia al que está referida esa coordenada/s.

Algunos formatos de imagen permiten almacenar la geo-referenciación de la imagen dentro del propio archivo, como un metadato.

Los formatos que admiten esa posibilidad son los siguientes:

  • Archivos TIFF (que cuando tienen posicionamiento se denominan GeoTIFF)
  • Archivos ECW
  • Archivos JPEG 2000
  • Archivos MrSID

El resto de formatos de imagen, como son JPEG, BMP no permiten almacenar en la propia imagen la geo-referenciación.

Si la imagen no tiene almacenada internamente información de geo-referenciación (bien porque el formato no lo permite -como por ejemplo .bmp- o porque sencillamente no tiene esa información) se intentará localizar un archivo World File.

El archivo World File se intentará localizar en el mismo directorio que la imagen, con el mismo nombre que esta, pero con una extensión que dependerá de la extensión de la imagen.

Existe un convenio para dar nombre a la extensión de los archivos World File, y consiste en que el archivo World File tenga la extensión formada por el primer y tercer carácter de la extensión de la imagen al que se le concatena una «w» al final (la w es de World).

A continuación tienes una tabla que define las extensiones de los archivos World File que va a intentar cargar DigiNG.NET si la imagen no tiene geo-referenciación:

Tipo de imagen Extensión del archivo World File
Imágenes en formato TIFF (.tif) .tfw
Imágenes en formato ECW (.ecw) .eww
Imágenes en formato JPEG 2000 (.jp2) .j2w
Imágenes en formato MrSID (.sid) .sdw
Imágenes en formato JPEG (.jpg) .jg2
Imágenes en formato BMP (.bmp) .bpw

El inconveniente que tiene el archivo World File es que no especifica el sistema de coordenadas sobre el que está definida la coordenada del centro del primer pixel, y como DigiNG.NET requiere ese dato, en el caso de que la geo-referenciación se extraiga de un archivo World File se va a intentar obtener de un archivo Shapefile Projection Format.

Este es un archivo con extensión .prj que define el sistema de coordenadas sobre el cual está referida la coordenada del archivo World File.
DigiNG.NET intentará localizar ese archivo en el mismo directorio que la imagen y con el mismo nombre, pero siempre con la extensión .prj.

Si no se localiza este archivo, se considerará que la coordenada está referida a un sistema de coordenadas de referencia local.

Una característica muy importante a la hora de cargar la ortofoto es que DigiNG.NET únicamente nos permitirá cargar una ortofoto si su sistema de coordenadas asociado coincide con el activo en la ventana de dibujo. Esto es muy importante: Si estamos visualizando un archivo en proyectadas (por ejemplo ETRS89/UTM Zona 30N) e intentamos cargar una ortofoto en geográficas DigiNG.NET no nos lo va a permitir, y nos mostrará un cuadro de error indicándonos que tenemos que cambiar el sistema de coordenadas de la ventana de dibujo para poder cargar esa ortofoto.

Una vez cargada la ortofoto, esta aparecerá como un archivo más en el panel de Archivos de dibujo.
Si desplegamos la flecha a la izquierda del nombre de la ortofoto, aparecerán las opciones de visualización de la ortofoto:

  • Si cambiamos la propiedad Visible a falso, la ortofoto dejará de visualizarse.
  • Si cambiamos el valor de Opacidad podremos hacer que la ortofoto se visualice transparente (esta opción nos puede venir bien si tenemos varias ortofotos cargadas con solape). Si ponemos aquí un valor 0 la imagen será totalmente transparente y si poner 255 (que es el valor por defecto) será completamente opaca.
  • Si cambiamos el valor de Tipo de interpolación se modificará la forma en la que se muestran los píxeles al alejar la ortofoto o al acercarla. Si seleccionamos la opción Bilineal al acercarnos nos dará la falsa sensación de que la imagen tiene más resolución. Si seleccionamos Vecino más próximo veremos el píxel.

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.

Sistema de coordenadas de la ventana de dibujo

Digi3D 2011 permite que indiquemos la proyección en la que se mostrarán los vectores en la ventana de dibujo.

Para ello, disponemos del campo Sistema de coordenadas horizontal de la ventana de dibujo, en el cuadro de diálogo Nuevo Proyecto, en la pestaña Archivo de Dibujo.

El sistema de coordenadas que seleccionemos indicará la proyección que utilizará el programa para mostrar los vectores en la ventana de dibujo.

Si pulsamos el botón de los tres puntos, aparecerá el cuadro de diálogo Sistema de coordenadas horizontal de la ventana de dibujo que nos permitirá por un lado indicar que queremos que la ventana de dibujo herede el sistema de coordenadas horizontal del primer archivo cargado y por otro nos permitirá seleccionar un sistema de coordenadas de referencia de los que hayamos memorizado previamente.

Si no tenemos ninguno memorizado, siempre podremos localizar uno de entre los enumerados en la base de datos EPSG (incluida con la instalación del programa) pulsando el botón Buscar… y a continuación en Memorizar o pegar una cadena Well Known Text en el campo habilitado para ello y pulsar el botón Memorizar.

Podemos seleccionar tanto sistemas de coordenadas proyectados como geográficos. Cada sistema de coordenadas tiene unas unidades asociadas, de modo que si seleccionamos el sistema de coordenadas proyectado NAD27 / Alaska Albers las unidades de trabajo serán pies americanos, y si seleccionamos ETRS89 / UTM Zone 30N las unidades de trabajo serán metros.

Si seleccionamos un sistema de coordenadas de referencia geográfico, el programa utilizará la proyección Plate Carrée, que básicamente consiste en convertir la tierra en un plano en el que las longitudes crecen hacia el oeste (tomando como origen el meridiano de Greenwich) y las latitudes hacia el norte (tomando como origen el ecuador). Las unidades en los sistemas de coordenadas geográficos son angulares, de modo que las coordenadas que visualizaremos serán Latitud/Longitud en la mayoría de los sistemas de coordenadas geográficos. Si realizamos medidas Digi3D 2011 intentará en la medida de lo posible calcularlas en metros utilizando el método de Sodano (problema inverso de la geodesia) para distancias o utilizando una proyección estereográfica con centro en el centro de la entidad y proyectando la entidad sobre ese plano para cálculos de áreas. En este caso las unidades serán siempre metros.

A pesar de sus limitaciones (medidas y áreas imprecisos) es posible que nos veamos forzados a seleccionar un sistema de coordenadas de referencia geográfico para la ventana de dibujo ya que ciertos importadores, como el importador de Web Map Service o el importador de ortofotos, únicamente nos permitirán cargar archivos si la ventana de dibujo está en un sistema de coordenadas de referencia compatible con el del archivo de dibujo a cargar. Hay muchos servidores Web Map Service que únicamente publican información en el sistema de coordenadas de referencia geográfico WGS84, de modo que si queremos conectarnos con estos servidores tendremos forzosamente que seleccionar WGS84 como sistema de coordenadas horizontal para la ventana de dibujo.

Por último, si queremos saber el sistema de coordenadas de referencia asignado a la ventana de dibujo (tanto si lo hemos indicado implícitamente como si se ha heredado del archivo de dibujo cargado) podemos hacer clic en el botón que sigue a las coordenadas en la barra de herramientas Coordenadas.

A continuación un vídeo en el que se muestra esta funcionalidad

Intercambiando ojos en la ventana fotogramétrica

Digi3D 2011 incorpora una opción en el panel Propiedades de visualización que nos va a permitir intercambiar los ojos en la ventana fotogramétrica si tenemos cargado un modelo estereoscópico.

Esta opción es útil si cargamos un modelo con las imágenes intercambiadas o si disponemos de un sistema de visión estereoscópica en el que la posición de la ventana condiciona si el modelo se visualiza en estereoscopía o en pseudo-estereoscopía.

Si activamos la casilla de verificación Intercambiar ojos en el panel Propiedades de visualización (que puedes hacer aparecer mediante la opción del menú Ventana Fotogramétrica/Propiedades de visualización, el programa intercambiará la imagen izquierda por la derecha.

A continuación un vídeo en el que se ve esta nueva funcionalidad en la práctica.

Asignando un sistema de coordenadas de referencia a un archivo de dibujo nuevo

Digi3D 2011 ahora permite indicar los sistemas de coordenadas de referencia horizontales y verticales en el que estarán referidas las coordenadas de las entidades que se almacenen en un archivo de dibujo nuevo.

Si creamos un archivo de dibujo nuevo, en función de su extensión el programa nos permitirá indicar los dos sistemas de coordenadas de referencia. Digo en función de la extensión pues ciertos formatos de archivo de dibujo no son configurables pues llevan uno asociado de forma implícita, como es el formato .kml de Google Earth, que lleva asociado implícitamente el sistema de coordenadas geográfico WGS 84.

En la siguiente captura puedes ver un recorte de la sección Parámetros de importación/exportación del cuadro de diálogo Nuevo Proyecto, en la pestaña Archivo de dibujo.

Puedes comprobar que el programa pregunta tanto por el sistema de coordenadas horizontal como por el vertical que se asociarán al archivo de dibujo creado.

Si el archivo de dibujo ya existe, el programa hará caso omiso de los parámetros que indiquemos aquí, pues el sistema de coordenadas asociado a un archivo de dibujo es inamovible, ¡incluso si no tiene ninguno asociado!.

Si pulsamos para cambiar un sistema de coordenadas, aparecerá el cuadro de diálogo Sistema de coordenadas horizontal o Vertical, en función del sistema de coordenadas de referencia que estemos seleccionando.

Este cuadro de diálogo nos permite por un lado indicar que el sistema de coordenadas es desconocido pulsando el cuadro de arriba del todo y por otro lado, si conocemos el sistema de coordenadas, nos permite seleccionar uno de la lista de sistemas de coordenadas memorizados.

Si hacemos clic en alguno de los sistemas de coordenadas de referencia memorizados, el programa nos mostrará en la parte inferior del cuadro una cadena Well Known Text que representa el sistema de coordenadas de referencia seleccionado.

Si dispones de archivos ESRI Shapefile con un archivo .prj asociado, siempre puedes importarlo pulsando el botón Importar o abrirlo con un bloc que notas, copiar su contenido y pegarlo en esta ventana, pues los archivos .prj no son más que cadenas Well Known Text que definen proyecciones.

Si el sistema de coordenadas de referencia que estás intentando localizar no está memorizado en la ventana Sistemas de coordenadas de referencia memorizados ni dispones de ninguna cadena Well Known Text con el sistema de coordenadas, siempre puedes pulsar el botón Buscar….

El programa mostrará el cuadro de diálogo Buscar sistema de coordenadas de referencia horizontal o vertical, que nos permitirá buscar un sistema de coordenadas de referencia de entre los enumerados en la base de datos EPSG Geodetic Parameter Dataset, que es una base de datos con parámetros estandarizados de todos los sistemas de coordenadas imaginables.

Si aceptamos el cuadro de diálogo, se modificará la cadena Well Known Text del cuadro de diálogo anterior. Si queremos memorizar el sistema de coordenadas siempre podemos pulsar el botón Memorizar, y si queremos eliminar algún sistema de coordenadas de la lista de sistemas de coordenadas memorizados, tan solo tendremos que seleccionarlo y pulsar el botón Eliminar.

Una vez cargado el archivo de dibujo podemos comprobar su sistema de coordenadas de referencia asociado mediante una de las dos opciones que aparecen en el menú contextual que aparece al hacer clic con el botón derecho del ratón en el nombre del archivo en el panel archivos de dibujo.

El programa mostrará el sistema de coordenadas horizonta/vertical asociado al archivo de dibujo si es que lo tiene o una ventana indicando si el archivo de dibujo no tiene asociado un sistema de coordenadas de referncia.

A continuación tienes un vídeo donde se muestra esto en la práctica.

Mejoras en la comunicación de errores en Digi3D 2011

Hasta ahora, al ejecutar Digi3D 2011, si se localizaba un error al cargar alguna extensión, el programa mostraba un cuadro de diálogo al usuario indicando que se había localizado un error al cargar dicha extensión.

De hecho, como el instalador del programa instala una extensión para comunicarse con los ratones Stealth 3D Mouse, y esta extensión requiere que el equipo tenga instalado el driver de ese ratón para poder cargar, en equipos que no tenían el driver instalado se mostraba un cuadro de diálogo indicando que no se había podido cargar esa extensión.

Esto en realidad no es un error, símplemente Digi3D 2011 informaba al usuario que no se había podido cargar esa extensión, nada más. Tan solo había que aceptar el cuadro de diálogo y continuar, sin embargo (sobre todo los usuarios nuevos) percibían ese mensaje como un error.

De modo que hemos modificado el programa para que comunique los errores de forma no intrusiva, utilizando el log (diario) de Windows.

El log de Windows es un repositorio donde las aplicaciones pueden almacenar información de error, mensajes, advertencias,…

Para analizar el log de Windows podemos utilizar el Visor de eventos (en inglés). Puedes ejecutar el visor de eventos pulsando el botón de Windows y tecleando Eventos en Windows 7. En Windows XP lo tienes en Herramientas Administrativas.

El instalador de Digi3D 2011 crea un log específico para Digi3D con el título Eventos de Digi3D. Si tu sistema operativo es Windows XP, este log aparecerá directamente en la rama Visor de sucesos(local). Si utilizas Windows 7 este log aparecerá en la rama Registros de aplicaciones y servicios..

En la siguiente captura de pantalla puedes ver cómo Digi3D 2011 está comunicando que no se ha podido cargar el módulo _Digi3D.ADS40Sensor.dll

Y a continuación tienes un vídeo en el que te explico esto con un ejemplo práctico, desconfigurando Digi3D haciendo modificaciones en el registro y comprobando cómo se comporta la versión anterior a la publicada el (me imagino que 24 de abril de 2012).

Mostrar paso de curvas

Digi3D 2011 incorpora una nueva funcionalidad que nos va a ayudar a incrementar la producción a la hora de digitalizar curvas de nivel.

Consiste en una nueva orden que, al activarse, muestra tanto en la ventana fotogramétrica como en la ventana de dibujo una animación indicando por qué parte de una determinada línea debe cruzarse la curva de nivel que se está digitalizando. El objetivo de esta orden es que el operador realice una aproximación a la línea en cuestión adecuada a la forma de la curva de nivel, y el evitar el tener que utilizar el modo de búsqueda 12 (aunque este sistema no es en absoluto incompatible con el modo de búsqueda 12).

Realmente son dos órdenes: una para configurar los parámetros (que no son otros que la tolerancia permitida y los códigos de las líneas sobre las cuales queremos ver la animación).

Se ha incorporado a la barra de herramientas Tentativo un botón que permite activar y desactivar esta funcionalidad así como un menú desplegable que nos permite configurar los parámetros anteriormente mencionados.

Si quieres ejecutar estas dos órdenes manualmente (en un archivo de macroinstruciones por ejemplo), aquí tienes las órdenes:

Nombre Parámetros Descripción
configurar_mostrar_paso_curvas [tolerancia] [código1]..[códigoN]

Esta orden admite etiquetas, de modo que si tenemos varios códigos agrupados con la etiqueta #Caminos, podemos poner #Caminos y la orden tendrá en cuenta todos estos códigos.

Permite especificar la tolerancia (que define el ancho de la animación) y los códigos de las líneas que se analizarán y sobre las cuales se mostrarán las animaciones.
mostrar_paso_curvas
  • Sin parámetros cambia de activado/desactivado
  • =1 Activado
  • =0 Desactivado
Activa/Desactiva la visualización de las animaciones.

Esta herramienta únicamente funciona si se cumplen las siguientes situaciones:

  1. Tenemos abierto un modelo fotogramétrico.
  2. Tenemos abierto un archivo de dibujo.
  3. Tenemos bloqueada la Z de la ventana fotogramétrica FIJAZ=1
  4. Tenemos activada la orden MOSTRAR_PASO_CURVAS