2 votos

Desplazar/mover polígonos en una dirección específica QGIS

Quiero desplazar/mover los polígonos en la dirección norte-noroeste y realizar esta tarea 3 veces. Puedo hacerlo manualmente pero sería una aproximación y quiero que coincidan exactamente. Los polígonos son de 100m de largo y 5m de ancho, por lo que se debe mover con 25m tres veces.

first polygon grid

second polygon offset grid

6voto

Anton8000 Puntos 165

Puede transformar Affine dos veces, con traslación del eje x -9.57 ( sin(22.5)*25 ) y el eje y 23,10 ( cos(22.5)*25 )

enter image description here

4voto

Subroto Biswas Puntos 1

Eche un vistazo a la herramienta array (of) translated features . Puede introducir cuántas veces desea copiar y mover los objetos, así como la distancia a lo largo de los ejes X e Y. Esto último puede requerir algo de trigonometría por su parte para calcular la distancia exacta. Esto último puede requerir algo de trigonometría por tu parte para calcular la distancia exacta, pero una expresión como parte de la anulación definida por datos podría ayudarte.

1voto

chhh Puntos 1154

Utilice la siguiente expresión con Generador de geometría o Geometría por expresión para desplazar polígonos. Uso de la función project() se puede definir la distancia/ángulo, evitando así la trigonometría. Defina la distancia, la dirección (ángulo, acimut) y el número de veces que deben desplazarse los polígonos.

Desplazar los polígonos 3 veces para 25m (25, 50 y 75 m) en dirección NNW (337,5 grados desde el norte): enter image description here

collect_geometries(
    array_foreach (
        generate_series (1,3),  -- number of times the polygons are shifted
        with_variable(
            'shift',
            @element,
            make_polygon(
                make_line(
                    array_foreach(
                        generate_series (1, num_points($geometry)),
                        project( 
                            point_n(nodes_to_points($geometry), @element),
                            25*@shift,  -- distance to shift the polygons
                            radians(337.5)  -- azimuth (angle)/direction the polygons should be shifted
                        )
                    )
                )
            )
        )
    )
)

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