Archivo por meses: mayo 2014

Transformador Universal de Coordenadas

Transformador Universal de Coordenadas

Presentamos el programa Transformador Universal de Coordenadas.

Este programa nos va a permitir transformar coordenadas de cualquier sistema de referencia de coordenadas origen a cualquier sistema de referencia de coordenadas destino. Tan solo tendremos que indicar los sistemas de referencia de coordenadas origen, destino y pegar las coordenadas a transformar en la parte inferior izquierda del programa. El resultado aparecerá inmediatamente en la parte inferior derecha para que lo copies y pegues donde te interese.

Puedes ver la ayuda del programa en su página de la ayuda online de Digi3D.NET.
Puedes aprender a transformar coordenadas elipsoidales a ortométricas utilizando el programa Transformador Universal de Coordenadas en la sección de preguntas frecuentes en la ayuda online de Digi3D.NET, en Transformando coordenadas Z de elipsoidales a ortométricas.

Puedes ver el programa en acción en el siguiente vídeo:

[youtube:http://youtu.be/6CAMbGvBMCc%5D

Mejoras de usabilidad al especificar el SRC asociado a un archivo de dibujo

Hasta ahora, Digi3D.NET solicitaba el sistema de referencia de coordenadas asociado a un archivo de dibujo independientemente de que el archivo ya tuviera asignado uno o no.

Digi3D.NET solicitando el SRC del archivo de dibujo independientemente de si éste tiene o no uno ya asignado

Digi3D.NET solicitando el SRC del archivo de dibujo independientemente de si éste tiene o no uno ya asignado

En la captura de pantalla anterior puedes comprobar que el programa siempre solicitaba el sistema de referencia de coordenadas del archivo. Si te fijas en la descripción que aparece abajo, se indica que este parámetro se utilizará únicamente en caso de que Digi3D.NET tenga que crear el archivo de dibujo, pues si éste ya existía, se hace caso omiso de lo que ponga el usuario aquí y prevalece el SRC asignado al archivo de dibujo ya creado.

Eso podía llevar a confusión, de modo que hemos decidido cambiar esta funcionalidad.
Ahora el programa pregunta por el SRC únicamente si el archivo no tiene ya uno asignado tal y como puedes ver en el vídeo de a continuación.

[youtube:http://youtu.be/8aMUyDMOJic%5D

Memorizando la transformación de coordenadas a utilizar entre dos sistemas de referencia de coordenadas

En ocasiones Digi3D.NET localiza más de una transformación de coordenadas cuando está buscando transformaciones entre dos sistemas de referencia de coordenadas.
Si sucede esto, Digi3D.NET mostrará un cuadro de diálogo invitándonos a seleccionar la operación que queremos utilizar de entre la lista de operaciones localizadas.

Esta operación se repetirá cada vez que se intente localizar la transformación entre esos dos sistemas de referencia de coordenadas.
Si no queremos que Digi3D.NET nos pregunte constantemente la operación a realizar, podemos indicarle a éste que memorice la opción que hemos seleccionado. Para ello tendremos que activar la casilla «Memorizar esta transformación» que aparece al final del cuadro de diálogo.

En el siguiente vídeo puedes ver en acción esta funcionalidad.

[youtube:http://youtu.be/5muAeIc6zME%5D

Agrupando y desagrupando automáticamente entidades por multi-codificación

Digi3D.NET incorpora herramientas que van a permitirnos agrupar múltiples geometrías duplicadas en una única geometría con multi-codificación y viceversa, convertir todas las geometrías localizadas con múltiples códigos en geometrías con un único código.

Para agrupar geometrías duplicadas en una única geometría con multi-codificación tenemos que seleccionar la opción del menú Análisis geométricos/Agrupar entidades duplicadas/Entidades visibles.
Para desagrupar geometrías con múltiple codificación en múltiples geometrías con un único código tenemos que seleccionar la opción del menú Análisis geométricos/Desagrupar entidades

En el siguiente vídeo puedes ver esta funcionalidad en acción:

[youtube:http://youtu.be/vDXgEgufY8I%5D

Cambios en la orden FIJAZ para permitir bloquear la Z en sensores con Z elipsoidal

Los sensores ADS 40/80, VM Quasi-panoramic (cámara A3) y satelitales trabajan en el sistema de coordenadas de referencia WGS 84 3D (código EPSG:4979). La coordenada Z para estos sensores es siempre elipsoidal, de modo que si no utilizamos una orientación absoluta que tenga asignado un sistema de coordenadas de referencia con un sistema vertical ortométrico, al bloquear la coordenada Z estaremos bloqueando ésta en el sistema elipsoidal.

Cuando el operador bloquea la coordenada Z, habitualmente quiere que se bloquee en una coordenada Z ortométrica. Como estos sensores en particular trabajan con coordenada Z elipsoidal, en realidad la coordenada Z sí que se debe mover, ya que se debe transformar de esa coordenada Z ortométrica bloqueada por el usuario en su correspondiente coordenada Z elipsoidal, así que el comportamiento esperado al bloquear la coordenada Z al cargar un modelo de los sensores indicados anteriormente es que ésta se mueva en función del modelo de geoide seleccionado para la transformación.

¿Cómo podemos hacer para que la coordenada Z de estos sensores sea ortométrica y no elipsoidal?

Una opción es realizar una orientación absoluta cuyos puntos de apoyo estén en un sistema de coordenadas virtual ortométrico, como por ejemplo: ETRS89 / UTM Zone 30N + REDNAP Península.

Si no tenemos puntos de apoyo la cosa no es tan sencilla, pues no tenemos puntos que medir.

Hemos realizado una modificación a la orden de FIJA_Z. Hasta ahora esta orden bloqueaba la coordenada Z en la coordenada que tuviera la ventana fotogramétrica cuando se activaba. Ahora no es así, ahora ésta se va a bloquear en la coordenada Z que tenga la ventana de dibujo. Si la ventana de dibujo tiene asociado un sistema de coordenadas vertical ortométrico (digamos por ejemplo que la ventana de dibujo está en el sistema ETRS89 / UTM Zone 30N + REDNAP Península), al activar el bloqueo de Z, Digi3D.NET realizará el siguiente algoritmo:

  1. La ventana fotogramétrica recibe un movimiento por parte del usuario. Digamos Latitud,Longitud,h
  2. Como está activado el bloqueo de Z, se transforma esa coordenada al sistema de coordenadas de la ventana de dibujo, dando como resultado X,Y,Z.
  3. Se sustituye la coordenada Z por la de la Z bloqueada dando como resultado X,Y,Zbloqueo.
  4. Se vuelve a transformar al sistema de coordenadas de la ventana fotogramétrica, dando como resultado Latitud,Longitud,Zelipsoidal para la Z de bloqueo.
  5. Se muestran las imágenes de esas coordenadas en la ventana fotogramétrica.

De esta manera el sistema de coordenadas vertical en el que se bloquea la ventana fotogramétrica está definido por la ventana de dibujo y no por la ventana fotogramétrica. Si en la ventana de dibujo estamos trabajando en coordenadas geográficas 3D (con Z elipsoidal) significa que queremos hacer curvas de nivel con coordenadas Z elipsoidales, por lo tanto el punto transformado final no variará la coordenada Z. Si por el contrario en la ventana de dibujo indicamos un sistema de coordenadas vertical ortométrico, el bloqueo se realizará en coordenadas ortométricas.

[youtube:http://youtu.be/1wEuFCUCKDs%5D

Novedades en el cálculo de orientaciones absolutas

Gráfico mostrando los sistemas geocéntrico y topocéntrico

Gráfico mostrando los sistemas geocéntrico y topocéntrico

El cálculo de orientaciones absolutas en Digi3D.NET se puede realizar en tres sistemas de coordenadas distintos:

  1. En un sistema local.
  2. En un sistema topocéntrico.
  3. En un sistema geocéntrico.

La orientación absoluta es una transformación matemática bidireccional que transforma una coordenada A (o coordenada Terreno) en una coordenada B (o coordenada Modelo) mediante un Helmert de 7 parámetros (consiste en aplicar un factor de escala único en los tres ejes, una rotación y una traslación). Cuando hacemos una orientación absoluta en Digi3D.NET en un modelo fotogramétrico, consideramos A una coordenada de los puntos de apoyo y B una coordenada medida en la ventana fotogramétrica. Si la ventana fotogramétrica tiene cargado un modelo de cámara cónica al que le acabamos de hacer una orientación relativa, estas coordenadas serán del tipo (X foto, Y foto, -focal) y si la ventana tiene cargado un modelo satelital por ejemplo estas coordenadas serán del tipo (Latitud, Longitud, Altitud (elipsoidal)).

Esta transformación es únicamente un escalado, giro y traslación, por lo que no se realiza ninguna transformación de sistema de coordenadas, lo que significa que las coordenadas A (o terreno) medidas deben estar en el mismo sistema de coordenadas que las coordenadas B (o modelo) medidas a la hora de realizar el cálculo de la orientación absoluta.

El problema es que en ocasiones no coinciden los sistemas de coordenadas de las coordenadas de los puntos de apoyo y el de la ventana fotogramétrica sobre la que estamos midiendo.

El nuevo cuadro de diálogo de selección de archivo de puntos de apoyo solicita al usuario el sistema de coordenadas de referencia de los puntos de apoyo.

El nuevo cuadro de diálogo de selección de archivo de puntos de apoyo solicita al usuario el sistema de coordenadas de referencia de los puntos de apoyo.

Si hacemos una orientación absoluta en una imagen satelital, las coordenadas A (o terreno) del punto de apoyo que estamos midiendo estarán en el sistema de coordenadas de referencia que indiquemos al cargar el archivo de puntos de apoyo, sin embargo las coordenadas B (o modelo) que generamos al digitalizar el punto estarán en el sistema de coordenadas de la imagen satelital, que son coordenadas geográficas en WGS 84.

Por lo tanto Digi3D.NET tiene que localizar un sistema de coordenadas de referencia común para realizar la transformación Helmert de 7 parámetros. A este sistema vamos a denominarlo sistema intermedio.

Veamos los pasos que sigue Digi3D.NET para transformar una coordenada Terreno a Modelo con una determinada orientación absoluta:

Terreno -> Sistema intermedio -> Helmert de 7 parámetros -> Modelo

y al revés:

Modelo -> Sistema intermedio -> Helmert de 7 parámetros -> Terreno

Como puedes comprobar el Helmert de 7 parámetros siempre se realiza en el sistema intermedio.

Selección del sistema Intermedio

Vamos a ver ahora el criterio que sigue Digi3D.NET para decidir y crear el sistema intermedio. Esta decisión se toma en función de los sistemas de coordenadas de la ventana fotogramétrica y de los puntos de apoyo:

Sistema de coordenadas de la ventana fotogramétrica Sistema de coordenadas de los puntos de apoyo Sistema intermedio resultante
Desconocido Desconocido El sistema intermedio es un sistema desconocido. Las operaciones Terreno<->Sistema intermedio y Sistema intermedio<->Modelo no realizan ninguna transformación.

Al hacer una orientación absoluta en estas condiciones, se considera que la tierra es plana y por lo tanto los cálculos no se ven afectados por proyección, curvatura ni factor de escala.

Este es el caso en el que se calculaban las orientaciones absolutas con las versiones Digi3D 2000, Digi3D 2002, Digi3D 2005 y Digi3D 2007 (en este caso, si se seleccionaba como sistema de coordenadas rectangular a la hora de medir la orientación absoluta).

Desconocido Sistema de coordenadas conocido, como por ejemplo WGS 84 o ETRS89 / UTM Zone 30N Este es el típico caso del modelo de cámara cónica en el que hemos realizado una orientación relativa (por lo tanto las coordenadas modelo en el fotocentro de la cámara izquierda serán (0,0,-focal) y en el que realizamos una orientación absoluta con puntos de apoyo en un determinado sistema de coordenadas de referencia.

En este caso Digi3D.NET crea un sistema de coordenadas topocéntrico, que es un sistema cartesiano 3D que tiene tres ejes perpendiculares (U, V y W) cuyo origen es tangente a la tierra en un determinado punto. El eje U está orientado con el este, el V con el norte y el W crece según la regla de la mano derecha. Es el sistema de color azul en la imagen que aparece al comienzo de este post.

Se considera como origen del sistema topocéntrico las coordenadas geocéntricas del primer punto medido (Digi3D.NET transforma las coordenadas del punto de apoyo del primer punto medido a geocéntricas para poder realizar esta operación).

Sistema de coordenadas conocido, como por ejemplo WGS 84 o ETRS89 / UTM Zone 30N Desconocido Esta situación se da por ejemplo si en la ventana fotogramétrica tenemos una imagen satelital y queremos hacer una orientación con puntos de apoyo locales o desconocidos.

En este caso Digi3D.NET crea un sistema de coordenadas topocéntrico, que es un sistema cartesiano 3D que tiene tres ejes perpendiculares (U, V y W) cuyo origen es tangente a la tierra en un determinado punto. El eje U está orientado con el este, el V con el norte y el W crece según la regla de la mano derecha. Es el sistema de color azul en la imagen que aparece al comienzo de este post.

Se considera como origen del sistema topocéntrico las coordenadas geocéntricas del primer punto medido (Digi3D.NET transforma las coordenadas del punto medido en la ventana fotogramétrica a geocéntricas para poder realizar esta operación).

Sistema de coordenadas conocido, como por ejemplo WGS 84 o ETRS89 / UTM Zone 30N Sistema de coordenadas conocido, como por ejemplo WGS 84 o ETRS89 / UTM Zone 30N En este caso podrías pensar que no es necesario realizar ninguna transformación, pero si, pues los sistemas podrían no ser ortogonales. Si en ambas ventanas tenemos WGS 84 por ejemplo, las unidades medidas son ángulos y no coordenadas. No podemos realizar una orientación absoluta para ajustar ángulos. Por lo tanto la orientación absoluta se calcula en coordenadas geocéntricas. Es el sistema de color rojo en la imagen que aparece antes de esta tabla.

Para realizar el cálculo se transforman las coordenadas de los puntos de apoyo a coordenadas geocéntricas (por lo tanto se tiene en cuenta la proyección si el sistema de coordenadas de los puntos de apoyo es proyectado, como ETRS89 / UTM Zone 30N, la curvatura de la tierra y el factor de escala. Lo mismo se hace para las coordenadas medidas en la ventana fotogramétrica y por último se realiza el Helmert de 7 parámetros en el sistema geocéntrico.

Este es el sistema ideal, pues se tiene en consideración las distintas proyecciones tanto de los puntos de apoyo por un lado como la del sistema de la ventana fotogramétrica por otro.

¿Cómo seleccionamos el sistema de coordenadas de referencia en la ventana fotogramétrica?

Léete la entrada Cambios en los sistemas de coordenadas de referencia de los sensores.

¿Dónde y cuándo se tienen en cuenta estas transformaciones?

Supongamos que la ventana de dibujo está mostrando los vectores en un sistema de coordenadas A, y que la ventana fotogramétrica tiene asignado un sistema de coordenadas B.

Si no hay ninguna orientación absoluta de por medio, Digi3D.NET a la hora de proyectar vectores en la ventana fotogramétrica, tan solo tiene que transformar las coordenadas de los vectores del sistema de coordenadas A al sistema de coordenadas B. Cuando el usuario desplaza la ventana fotogramétrica (mediante el ratón o topomouse o manivelas), ésta le envía las coordenadas a la ventana de dibujo transformándolas previamente del sistema B al sistema A.

Si hay una orientación absoluta de por medio, la orientación absoluta tiene su propio sistema de coordenadas de referencia, que podría ser C,
de modo que la transformación Ventana de dibujo -> Ventana fotogramétrica sigue los siguientes pasos:

Sistema A -> Sistema C -> Sistema B.

Y al revés, cuando la ventana fotogramétrica tiene que informarle a la ventana de dibujo de una coordenada, transforma la coordenada siguiendo los siguientes pasos:

Sistema B -> Sistema C -> Sistema A.

¿Cómo puedo saber el sistema de coordenadas que tiene asignada la orientación absoluta?

Puedes utilizar la opción del menú Ventana fotogramétrica/Ver información. Esto hará que aparezca en el panel de resultados el sistema de coordenadas de referencia asignado a la orientación y a la ventana fotogramétrica.