<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Buenos días, Natalia:<br>
<br>
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)<br>
<br>
La cosa es utilizar la fórmula directa de Vincenty para calcular
el punto final a partir del inicial, un rumbo y una distancia.<br>
<br>
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:<br>
<br>
<a class="moz-txt-link-freetext" href="https://gist.github.com/jtornero/9f3ddabc6a89f8292bb2">https://gist.github.com/jtornero/9f3ddabc6a89f8292bb2</a><br>
<br>
Sin perjuicio de que puedes obtener otra fuente (en javascript)
muy bien explicada en:<br>
<br>
<a class="moz-txt-link-freetext" href="http://www.movable-type.co.uk/scripts/latlong-vincenty.html">http://www.movable-type.co.uk/scripts/latlong-vincenty.html</a><br>
<br>
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<br>
<br>
Ahora la cosa sería elaborar un script python para:<br>
<br>
1) Cargar los datos csv (o cargar un shp con shapely, desde una
base de datos...)<br>
2) Crear una capa shp de puntos (modulo shapely, por ejemplo)<br>
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.<br>
<br>
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.<br>
<br>
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.<br>
<br>
Espero te vaya dando una idea<br>
<br>
Saludos <br>
<br>
<br>
Jorge Tornero<br>
<br>
<br>
<br>
El 16/09/15 a las 01:00, Schroeder Natalia escribió:<br>
</div>
<blockquote cite="mid:55F8A323.9000705@mendoza-conicet.gob.ar"
type="cite">
<meta http-equiv="content-type" content="text/html;
charset=windows-1252">
Hola,<br>
Mi consulta es la siguiente. <br>
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. <br>
¿Se entiende?<br>
Este es el esquema:<br>
<br>
<img shrinktofit="true"
src="cid:part1.04030705.05010800@gmail.com" alt=""><br>
<br>
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? <br>
¿Alguna idea para solucionar este problema?<br>
Desde ya muchas gracias<br>
Saludos<br>
Natalia
<pre class="moz-signature" cols="72">--
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
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://personal.mendoza-conicet.gob.ar/natalias/">http://personal.mendoza-conicet.gob.ar/natalias/</a></pre>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
QGIS-es mailing list
<a class="moz-txt-link-abbreviated" href="mailto:QGIS-es@lists.osgeo.org">QGIS-es@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-es">http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-es</a>
</pre>
</blockquote>
<br>
</body>
</html>