[postgis-users] Is azimuth accurate
Tom Glancy
Tom.Glancy at dnr.state.mn.us
Wed Jul 23 12:45:56 PDT 2008
Greetings!
The PostGIS azimuth function seems to use a simple arctan function to determine azimuth. If you convert your coordinates to a projected coordinate system and then run the query, your results will be much closer to the FCC site's results.
Here is a quick conversion to UTM Zone 31:
select degrees(azimuth(
'POINT(634714.442133176 5802006.052402816)',
'POINT(634731.2410598891 5801981.648284801)'
));
which yields an azimuth of 145.457858825445. Points in the center of the UTM zone, or a more suitable projection would give better results.
Regards,
Tom
---------------------------------------
Tom Glancy
Minnesota Department of Natural Resources
St. Paul, MN 55155-4025
---------------------------------------
>>> Shane Wegner <shane-postgis at csy.ca> 7/23/2008 10:50 AM >>>
Hello all,
We have encountered a bit of a puzzle and are trying to
figure out why Postgis's azimuth function differs from
those on the web including the geocalc php class.
I checked with the official FCC site:
http://www.fcc.gov/mb/audio/bickel/DDDMMSS-decimal.html
http://www.fcc.gov/mb/audio/bickel/distance.html
Using the following coordinates:
Lat A:
52.3517733
52? 21' 6.3828"
Lon A:
4.9779616
4? 58' 40.6626"
Lat B:
52.3515499
52? 21' 5.58"
Lon B:
4.9781983
4? 58' 41.5122"
FCC site results:
Distance between
N Latitude 52 21 6.38, E Longitude 4 58 40.66 (Point 1)
and
N Latitude 52 21 5.58, E Longitude 4 58 41.51 (Point 2)
is:
0.030 kilometers; 0.018 miles
Azimuth from point 1 to point 2 = 147.36?
Azimuth from point 2 to point 1 = 327.36?
GeoCalc.class results (no rounding):
The distance between:
Point A (Latitude 52.3517733 and longitude 4.9779616)
and
Point B (Latitude 52.3515499 and longitude 4.9781983)
is:
0.0295893693401 km, 0.018 miles, Great Circle formula, and
0.0296323390621 km, 0.018 miles, Accurate Ellipsoid
formula.
Point B is at 147.089942074 degrees, or to the southeast by
south, from
point A.
And PostGis:
gps=> select
degrees(azimuth(
'POINT(4.9779616 52.3517733)',
'POINT(4.9781983 52.3515499)'
)),
Distance_sphere(
'POINT(4.9779616 52.3517733)',
'POINT(4.9781983 52.3515499)'
);
degrees | distance_sphere
------------------+-----------------
133.344225772517 | 29.589241096272
(1 row)
So one function reports 147 degrees angle and PostGis is
reporting 133 degrees. Just wondering which is correct and
why the reported difference?
Shane
_______________________________________________
postgis-users mailing list
postgis-users at postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20080723/ded32301/attachment.html>
More information about the postgis-users
mailing list