Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Converting Latitude/Longitude values(DMS+Compass Direction format) to corresponding Decimal Point values in Android

I am working on an Java android project and have the following issue. I Searched so much but still I have the problem of converting the Latitude/Longitude values that are in DMS format (Eg: 38°2'56''N, 122°9'28''W) for their corresponding Decimal Degrees format.

Example values that need to be converted for their corresponding decimal degrees format.

38°49'59''N, 26°56'59''E

38°2'56''N, 122°9'28''W

34°52'58''S, 56°10'58''W

Thank you

like image 354
JibW Avatar asked Oct 27 '25 04:10

JibW


2 Answers

All you're doing when you convert DMS to decimal degrees is dividing by 60. Divide S by 60, add it to M, divide that result by 60, then add it to D.

The second part deals with the direction that the coordinates point. Picture a pair of axes with compass directions in their correct locations (i.e., up is N, right is E, down is S, left is W). This means that any decimal degree value corresponding to a DMS value that pointed either S or W is going to be negative.

38°2'56''N, 122°9'28''W -> 38.048889, -122.157778

like image 170
Glendon Trullinger Avatar answered Oct 28 '25 17:10

Glendon Trullinger


D°M'S''

  1. Divide S by 60 and get X
  2. Find Y by adding X to M
  3. Divide Y by 60 to get F
  4. Answer = D + F

SUMMARY

TO CONVERT FROM DMS TO DEGREE

Degrees = D + ((S/60)+M)/60

Where D and M and S are the values that compose the DMS format : D°M'S''

like image 36
Sherif elKhatib Avatar answered Oct 28 '25 19:10

Sherif elKhatib