Ráster de georeferencia en plano no horizontal

8

Tenemos datos ráster que se generan a partir de paredes (verticales). Nos gustaría mantener estos datos en una base de datos postgis y tener la referencia espacial codificada "de la manera más precisa".

Actualmente, se guardan al abusar de un CRS métrico y codificar la coordenada z del muro como y, y el desplazamiento desde el lado izquierdo del muro como x. Esto proporciona un sistema de referencia local que funciona para su propósito pero pierde el contexto global.

Para los datos vectoriales es sencillo asignar a cada vértice una coordenada 3D para ubicarlo en el espacio (global). Esto es lo que debe crearse en función de los datos ráster (use una interfaz de usuario SIG para digitalizar áreas de interés en la parte superior de estos muros).

Además, se pueden colocar varios muros uno al lado del otro y debería ser posible visualizarlos en este contexto (es suficiente si solo funciona si tienen el mismo acimut).

Existen algunos enfoques disponibles para abordar esto:

Utilice un CRS personalizado en el espacio vertical, que tiene su origen en una coordenada del mundo real. Sin embargo, dónde exactamente se almacenaría esta "referencia de origen" aún no está claro.

  • Guarde la información en el CRS (¿es eso posible?): Requeriría varios CRS diferentes para cada plano de referencia.
  • Use una clave foránea para una línea (vea líneas rojas en la muestra) - Situación actual, información redundante (¿qué sucede si la longitud de la línea no corresponde al ancho del ráster?)
  • Crear un polígono 3D como plano de referencia: información redundante, ver arriba
  • Cree un punto de origen en la línea, que en combinación con el acimut de la línea puede ser el plano de referencia. ¿Compartirían diferentes paredes el mismo plano de referencia?

Todos los enfoques parecen ser de alguna manera "soluciones" y tienen sus advertencias.

Las dos imágenes a continuación muestran una vista superior de la situación y una composición de varias imágenes de trama frontal. (Está bien si se asignan a un solo plano de referencia)

¿Cuál es la forma más adecuada de almacenar las imágenes ráster verticales en la base de datos sin perder su contexto geográfico en el espacio horizontal y con información de elevación?

Vista superior del plan de la situación, las líneas rojas corresponden a la ubicación del mundo real de los rásteres.

Un conjunto de imágenes ráster ortorectificadas, correspondientes a líneas rojas con el mismo acimut.

Matthias Kuhn
fuente
3
¿Cuál es la pregunta otra vez?
nickves
¿Ha pensado almacenar sus datos en formato NetCDF? No he hecho mucho en esta área, pero es una vía posible, puede almacenar sus datos verticales como una dimensión adicional.
yanes
1
Correcto, estamos en un sitio de preguntas y respuestas :) Pregunta formulada. Si bien todavía tenemos todas las posibilidades abiertas en este proyecto (es decir, NetCDF sería una posibilidad), no quisiera perder todas las ventajas introducidas por una base de datos.
Matthias Kuhn

Respuestas:

1

dudoso es la respuesta elegante, pero suena similar a algo que hicimos, donde comenzamos con secciones transversales escaneadas (rásteres verticales, como sus paredes). Georreferenciamos las imágenes donde el desplazamiento desde el lado izquierdo era la coordenada x, y la altura de la sección x era y. estas coordenadas estaban en el mismo CRS que todos los demás datos del mapa para el área.

polígonos digitalizados

Luego, simplemente digitalizamos los rásteres e incluimos un conjunto de datos de puntos por separado para indicar las verdaderas esquinas de inicio / parada de las secciones transversales

lineas digitalizadas

A partir de ahí, una secuencia de comandos corta puede extraer los vértices de las líneas y, utilizando las esquinas, podríamos transponer los puntos para mostrarlos en un espacio 2D o 3D (nota en 2D: todos los puntos se apilan uno encima del otro en el plano vertical)

Visualización de puntos 3d en 2D

o en algún visor 3D:

ingrese la descripción de la imagen aquí

Si bien no los almacenamos en una base de datos, el concepto debería ser el mismo.

ahora, tal vez hay un gran error en nuestro método, así que me alegraría (bueno, no realmente) escuchar eso también. Si está interesado, podría compartir el script kludgy que utilizamos para transponer los datos.

movimiento fluido
fuente
Creo que ese es el enfoque que tenemos actualmente también. Aparte de los scripts que de hecho suenan interesantes, pero esta pregunta es principalmente sobre el almacenamiento de datos.
Matthias Kuhn
en este caso, el CRS anterior para el área de estudio estaba en UTM. mantuvimos eso para los rásteres verticales. Por supuesto, puede agregar una exageración vertical, solo debe tenerlo en cuenta en la transposición.
fluidmotion
1
Estoy seguro de que no estoy pensando en esto con suficientes métricas: para 'codificar la coordenada z del muro como x, y el desplazamiento desde el lado izquierdo del muro como y', parece opuesto a cómo lo almacenamos. Para mi mente simple, fue fácil colocar la base de la trama de la pared exactamente donde debería estar en el mapa, y en 2D sería como si hubiera caído al suelo. Todo en el mismo CRS?
fluidmotion
no, en realidad es un error tipográfico en mi pregunta :)
Matthias Kuhn
me di cuenta de que no había respondido completamente a tu pregunta. Sí, todo está en el mismo CRS cerca del origen (x: cerca de 0 / a, alrededor de la altitud del sitio). Entonces, para ver los rásteres en lugar del mapa, simplemente usamos "zoom a la extensión de capa". Lo bueno de esto es que en el compositor de impresión una cuadrícula horizontal indicará la altitud.
Matthias Kuhn