[QGIS-es] trasladar posición de un punto en base a azimuth y distancia

Schroeder Natalia natalias en mendoza-conicet.gob.ar
Mie Sep 16 04:56:47 PDT 2015


Muchas gracias Jorge!
Voy a explorar tus ideas, suenan muy bien
un saludo!
Natalia

El 16/09/2015 a las 04:07 a.m., Jorge Tornero - Listas escribió:
> Buenos días, Natalia:
>
> Se me ocurre una solución relativamente sencilla, aunque fuera de QGIS 
> (aunque desde luego, creo que sería relativamente fácil y sencillo 
> hacerlo a través de la consola python, que los expertos hablen)
>
> La cosa es utilizar la fórmula directa de Vincenty para calcular el 
> punto final a partir del inicial, un rumbo y una distancia.
>
> Una implementación en Python de esa fórmula de Vincenty la tomé 
> prestada en su momento para hacer el plugin Transectizer. Puedes 
> tomarla del plugin (función vinc_pt del archivo transectizer.py), o 
> del sitio original del código (hay un enlace en mi código). Yo he 
> puesto una versión 'lista para usar' de la función en un gist:
>
> https://gist.github.com/jtornero/9f3ddabc6a89f8292bb2
>
> Sin perjuicio de que puedes obtener otra fuente (en javascript) muy 
> bien explicada en:
>
> http://www.movable-type.co.uk/scripts/latlong-vincenty.html
>
> Lo primero te guardas tus puntos en un csv con: Lat_origen, 
> lon_origen, rumbo_destino, distancia_destino (OJO, Vincenty asume 
> coordenadas en lat/lon y es preciso que te asegures de usar valores de 
> radio de elipsoide y achatamiento apropiados) Y que el uso de Vincenty 
> es apropiado para tu aplicación, en esto otra gente de la lista podría 
> ayudar
>
> Ahora la cosa sería elaborar un script python para:
>
> 1) Cargar los datos csv (o cargar un shp con shapely, desde una base 
> de datos...)
> 2) Crear una capa shp de puntos (modulo shapely, por ejemplo)
> 3) para cada punto de tu csv, obtener las nuevas coordenadas del punto 
> de destino usando la función vinc_pt y añadirlo como nuevo punto a la 
> capa que has creado.
>
> Estoy seguro que estos 3 pasos se pueden hacer desde la consola de 
> python de QGIS sin mayor problema, tomando directamente los puntos 
> desde tu capa.
>
> Y todo esto sin prejuicio de que, si las distancias que vas a mover 
> los puntos son pequeñas y tus requerimientos lo permiten, lo mismo 
> puedes olvidarte de Vincenty y echar mano de cálculos sencillos y 
> listo. También puedes mirar dentro del código del plugin 'Azimuth and 
> distance' y ver qué funciones usa para hacer los cálculos y tratar de 
> aprovechar ese código para el cálculo de la posición final.
>
> Espero te vaya dando una idea
>
> Saludos
>
>
> Jorge Tornero
>
>
>
> El 16/09/15 a las 01:00, Schroeder Natalia escribió:
>> Hola,
>> Mi consulta es la siguiente.
>> Necesito re-posicionar puntos en un mapa, es decir, para cada punto 
>> tengo la distancia desde la posición inicial hacia la nueva posición 
>> final (una linea) y el ángulo al Norte (Azimuth) de esa linea, y lo 
>> que quiero es conocer las coordenadas X e Y de esa nueva posición, 
>> para poder llevar ese punto a su nueva posición. Y son muchos puntos 
>> (mas de 1000) como para hacerlo manualmente.
>> ¿Se entiende?
>> Este es el esquema:
>>
>>
>>
>> Según entiendo la herramienta Azimuth and Distance va 'dibujando' 
>> puntos partiendo de azimuths and distances, pero guiándose por el 
>> punto inmediatamente anterior como referencia. Y no me sirve, porque 
>> yo necesito que me tome los puntos intependientemente, no en relación 
>> al inmediatamente anterior, porque mis puntos son observaciones 
>> independientes. ¿Es así o estoy entendiendo mal la herramienta?
>> ¿Alguna idea para solucionar este problema?
>> Desde ya muchas gracias
>> Saludos
>> Natalia
>> -- 
>> Natalia M. Schroeder
>> Laboratorio de Interacciones Ecológicas (LIE)
>> Instituto Argentino de Investigaciones de las Zonas Áridas (IADIZA), CONICET
>> CC 507, CP 5500, Mendoza, Argentina.
>> TE: +54-261-5244166
>> http://personal.mendoza-conicet.gob.ar/natalias/
>>
>>
>> _______________________________________________
>> QGIS-es mailing list
>> QGIS-es en lists.osgeo.org
>> http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-es
>
>
>
> _______________________________________________
> QGIS-es mailing list
> QGIS-es en lists.osgeo.org
> http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-es

-- 
Natalia M. Schroeder
Laboratorio de Interacciones Ecológicas (LIE)
Instituto Argentino de Investigaciones de las Zonas Áridas (IADIZA), CONICET
CC 507, CP 5500, Mendoza, Argentina.
TE: +54-261-5244166
http://personal.mendoza-conicet.gob.ar/natalias/

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.osgeo.org/pipermail/qgis-es/attachments/20150916/e6bfb46c/attachment-0002.html>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: no disponible
Type: image/png
Size: 4138 bytes
Desc: no disponible
URL: <http://lists.osgeo.org/pipermail/qgis-es/attachments/20150916/e6bfb46c/attachment-0002.png>


Más información sobre la lista de distribución QGIS-es