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

Jorge Tornero - Listas jtorlistas en gmail.com
Mie Sep 16 04:57:13 PDT 2015


Es en la línea de lo sugerido por A. Neumann en la otra lista (QGIS-users)

Ya nos cuentas la solución!!

Saludos, Jorge

El 16/09/15 a las 13:56, Schroeder Natalia escribió:
> 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/
>
>
> _______________________________________________
> QGIS-es mailing list
> QGIS-es en lists.osgeo.org
> http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-es

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.osgeo.org/pipermail/qgis-es/attachments/20150916/75b354f7/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/75b354f7/attachment-0002.png>


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