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?
fuente
Respuestas:
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.
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
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)
o en algún visor 3D:
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.
fuente