Rotación de archivos vectoriales (*.shp) en una hoja de cálculo mediante una transformación afín

En un artículo precedente, se procedió a la rotación de vectoriales en GRASS-QGIS con v.transform. El módulo v.transform realiza una transformación afín sobre un vectorial, es decir, un desplazamiento, escalamiento o rotación; si es el caso. Para hacer algo similar en una hoja de cálculo tenemos que disponer de las coordenadas de los puntos del archivo vectorial, las coordenadas del eje de rotación y el ángulo a ser rotado.

Para probar el procedimiento se utilizó el vectorial cuenca donde en QGIS, con Vectorial -> Herramientas de geometría -> Extraer nodos, se obtuvo el cuenca_puntos de la siguiente imagen:

El archivo cuenca_puntos se importó a GRASS-QGIS donde se le crearon las columnas (x,y) y se le adicionaron sus respectivas coordenadas con los comandos siguientes:

v.db.addcol map=cuenca_puntos layer=1 columns="x double precision,y double precision"
v.to.db map=cuenca_puntos option=coor columns=x,y

Se abrió directamente el archivo dbf de cuenca_puntos y se copió la información necesaria a esta hoja de cálculo:

rotaciones

que sirve de plantilla para ejecutar las rotaciones; tal como se encuentra a continuación:

La hoja de cálculo transforma las coordenadas de los puntos como si el origen estuviese en el eje de rotación y efectúa la rotación de los puntos (en el sentido de las agujas del reloj) según un ángulo establecido para este origen. Finalmente, restituye las coordenadas de los puntos al sistema de coordenadas inicial. Los resultados se copiaron a un archivo de texto como el siguiente:

punto	x	y
1	639731.837577387	1005200.22069874
2	627197.968621817	1025465.79515429
3	622084.779997606	1046398.11172247
4	632550.434564209	1070843.95514829
5	645006.625153522	1089710.65383974
6	665151.262694107	1100229.68306209
7	679345.843517489	1100894.25445434
8	687711.304539127	1093719.20775055
9	697918.301157753	1085220.36713669
10	714927.261776934	1070449.16524505
11	712889.707408732	1046609.59547414
12	688962.613106175	1010131.42230662
13	667530.346401376	993320.069534544
14	652028.174142708	994452.767756846
15	639731.837577387	1005200.22069874

y se añadieron a QGIS como una capa de texto con Capa -> Añadir capa de texto delimitado (delimitadores seleccionados: tabulador). El resultado se encuentra en la siguiente imagen:

El vectorial tipo polígono que aparece en la imagen es el cuenca_rot_60 que se produjo aquí:

Rotación de vectoriales en GRASS-QGIS con v.transform

señalando que el procedimiento llevado a cabo con la hoja de cálculo funciona como se esperaba. Si se quiere obtener el vectorial tipo polígono a partir de puntos con QGIS se puede usar la extensión Points2One.

Esta entrada fue publicada en SIG. Guarda el enlace permanente.

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s