[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