ros-geographic-info / geographic_info

ROS packages for geographic information
http://ros.org/wiki/geographic_info
60 stars 61 forks source link

UTM and Euclidean geometry #19

Closed mattbrown11 closed 7 years ago

mattbrown11 commented 7 years ago

Hey, great package. Just wanted to make a comment about something I read in the ROS package information

"Being a Mercator projection, these coordinates permit local navigation using Euclidean geometry"

Respectfully, I do not believe that this is strictly true, and the approximation to Cartesian diverges as you move away from the UTM zone center.

jack-oquin commented 7 years ago

In practice the errors are small enough not to affect local navigation significantly. Global navigation is a separate issue. It may require using lat/long or ECEF.

What better wording would you suggest?

mattbrown11 commented 7 years ago

I have been working through some of these considerations for a current project. Though, I am by no means an expert. Consider the following example (numbers below) of my concerns with using UTM demonstrated with somewhat arbitrary latitude/longitude. To summarize, one issue is that north is not exactly in the direction of true north (difference of 2 degrees in the case below). Though, this is not actually due to a breakdown from Cartesian. The breakdown from Cartesian manifests as a scale error on the order of 1-2 parts per thousand. In most cases, this probably doesn't matter, though. I guess the only rewording would be to add "closely approximates Euclidean geometry."

Example Displacement lat2/lon2: 44, -84 UTM easting/northing: 259473.68, 4876249.13 lat1/lon1: 44.02, -84 UTM easting/northing: 259554.57, 4878470.60 assumption: height about ellipsoid does not change

This yields a UTM displacement vector of 80.89m east and 2221.47m north (2.1 degree error from true north), which has total length 2222.94m. This angular error is not really due to a breakdown from Cartesian, though, because if you put a truly Cartesian east/north/up coordinate system at the zone center (53,-81), you get a displacement vector of <66.622, 2108.94, 686.33>, which has length 2218.82m. The total Euclidean distance of the displacement is off by 0.18% due to scale warping.

jack-oquin commented 7 years ago

Thanks for the suggestion. I updated the ROS wiki page for geodesy, with a "close approximation" of your suggested wording. :smile:

Please review to see if it's OK. If not, feel free to edit the wiki page yourself.