You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you convert -80.00 0.00 to UTM using LLtoUTMUPSObject you end up with a negative northing value which is incorrect. Northing values should always be positive. The unit test misses this since it only checks the easting values.
The text was updated successfully, but these errors were encountered:
I also ran into this and was confused. The LLtoUTM(lat, lon) method also has negative northing values. Apparently northing values in the southern hemisphere are negative, unless "false northing" is applied. This just means a constant of 10,000,000 is applied to the northing value for southern hemisphere values. More on this here: https://www.usgs.gov/faqs/why-do-landsat-scenes-southern-hemisphere-display-negative-utm-values
In the Northern Hemisphere, the UTM zone is a positive value or identified as UTM North. In the Southern Hemisphere, the UTM zone is a negative value or identified as UTM South. UTM North scenes in this convention have a false northing value of 0, while UTM South scenes have a false northing of 10,000,000. This false northing value effectively shifts the negative projection Y coordinates to a positive value.
So I don't think what the code is doing is technically wrong, just unexpected and inconsistent compared to other functions within the package provide/use a northing value. And there is no way to configure whether false northing is applied or not. For both you and I this was unexpected behavior.
The way I fixed this in my application was when converting, if the original latitude was < 0, I added 10,000,000 to the utmObj.northing value. This gave me the result I expected, and I verified the output using a different online coordinate converter tool.
If you convert -80.00 0.00 to UTM using LLtoUTMUPSObject you end up with a negative northing value which is incorrect. Northing values should always be positive. The unit test misses this since it only checks the easting values.
The text was updated successfully, but these errors were encountered: