I have a puzzler with postgis and ST_Azimuth.
I have a table of points (taken from country borders, and run through the QChainage plugin). I want to find the azimuth from a fixed point (15.0,50.0) to each chainage point.
What I want to do is this;
select st_azimuth( st_setsrid( st_makepoint(0,0), 4326 ) , ST_translate(geom,ST_x(geom)-15.0,ST_y(geom)-50.0) ) as azimuth from qqq3lines order by azimuth asc To do this, I created a unit vector - a line from (0,0) to (0,1), and rotate it by the azimuth, then take the end point.
select st_asewkt( st_endpoint( st_rotate( -- unit vector, facing north st_makeline( st_setsrid(st_makepoint(0,0),4326), st_setsrid(st_makepoint(0,1),4326) ), -- rotate by azimuth between central point and this point st_azimuth( st_setsrid( st_makepoint(0,0), 4326 ) , ST_translate(geom,ST_x(geom)-15.0,ST_y(geom)-50.0) ) ) ) ) as pt from qqq3lines But when I plot this in QGIS, I only seem to get a 'fan', a limited range of angles. I was expecting a more complete circle.
The same things happen if I try to do this with custom QGIS python function in the field calculator, using the QGSPoint.azimuth(QGSPoint) method.
What am I doing wrong?
أكثر...
I have a table of points (taken from country borders, and run through the QChainage plugin). I want to find the azimuth from a fixed point (15.0,50.0) to each chainage point.
What I want to do is this;
- create a circle centred on NULL island (0,0)
- points form a circle of radius one degree
- angles corresponding to azimuth.
select st_azimuth( st_setsrid( st_makepoint(0,0), 4326 ) , ST_translate(geom,ST_x(geom)-15.0,ST_y(geom)-50.0) ) as azimuth from qqq3lines order by azimuth asc To do this, I created a unit vector - a line from (0,0) to (0,1), and rotate it by the azimuth, then take the end point.
select st_asewkt( st_endpoint( st_rotate( -- unit vector, facing north st_makeline( st_setsrid(st_makepoint(0,0),4326), st_setsrid(st_makepoint(0,1),4326) ), -- rotate by azimuth between central point and this point st_azimuth( st_setsrid( st_makepoint(0,0), 4326 ) , ST_translate(geom,ST_x(geom)-15.0,ST_y(geom)-50.0) ) ) ) ) as pt from qqq3lines But when I plot this in QGIS, I only seem to get a 'fan', a limited range of angles. I was expecting a more complete circle.

The same things happen if I try to do this with custom QGIS python function in the field calculator, using the QGSPoint.azimuth(QGSPoint) method.
What am I doing wrong?
أكثر...