1 votos

Convirtiendo polígonos 2D a 3D en QGIS/PostGIS

Tengo una capa de edificios en QGIS almacenada en Postgis. La capa es de tipo MultiPolígono aunque estoy bastante seguro de que solo hay 1 geometría (Polígono) por elemento.

introducir descripción de la imagen aquí

Pude crear un campo de altura (altura del edificio) para cada polígono utilizando una capa LIDAR.

Ahora, me gustaría modificar la geometría de la capa y convertir cada edificio de 2D a 3D utilizando este campo de altura.

En QGIS, probé el algoritmo de Procesamiento "Establecer valor Z", pero cuando verifico el valor $Z de cada elemento, obtengo nulo. Si abro la vista en 3D, veo que está totalmente plana.

También probé "Recubrimiento (establecer valor Z desde ráster)" utilizando un ráster creado con las alturas, y obtuve el mismo resultado.

Entonces mi siguiente paso fue hacerlo con PostGIS. Creé la siguiente consulta que primero convierte cada punto a un punto3D, luego crea PoliLíneas3D, y finalmente, Poligonaliza las líneas:

CREATE TABLE "borrarEdif3DPrueba" AS
    WITH points2d AS
        (SELECT id,(ST_DumpPoints(the_geom)).geom AS geom, altura_edificio_max
         FROM "borraEdifConAltura"
        )
    ,
    points3d AS
        (SELECT id, ST_MakePoint(
             st_x(geom),
             st_y(geom),
             altura_edificio_max) AS "geomPoint3D"
             from points2d)
    ,
    edif_line as (SELECT  id, ST_MakeLine("geomPoint3D") AS geom
    FROM points3d
    GROUP BY id)
    ,
    edifpol as (select id, ST_Force3D(ST_setSRID(ST_CollectionExtract(ST_Polygonize(geom),3),25830))::geometry(MultiPolygonZ, 25830) as geom from edif_line group by id)

    SELECT id, geom from edifpol

Importé la capa a QGIS y obtuve el mismo resultado: los valores $Z son nulos y en 3D todo está plano.

1voto

chhh Puntos 1154

Si es solo para visualización, puedes usar el valor del atributo directamente para mostrar los polígonos en 3D, utilizando la configuración de Vista 3D de Estilo de Capa. Para la extrusión, utiliza la anulación controlada por datos y selecciona el atributo de elevación. Entonces los polígonos aparecerán en 3D.

introducir descripción de la imagen aquí

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X