I've recently come across the semicircle unit that is used to describe a latitude and longitude using the maximum precision allowed by a 32-bit number. The conversion here is given as

  • degrees = semicircles * ( 180 / 2^31 )
  • semicircles = degrees * ( 2^31 / 180 )

However it doesn't explain if this should be used differently for latitude since the maximum allowed number of semicircles is 2^31, and if you substitute this into the equation you get the answer "180 degrees", but latitude only goes up to 90.

Would a different conversion between latitude be used instead? Such as:

  • degrees = semicircles * ( 90 / 2^31 )
  • semicircles = degrees * ( 2^31 / 90 )

If so then you wouldn't be using the 'semicircle' as a unit for latitude, more like a quarter circle in this case.

Has anybody else come across this issue?


The constant 180 would still be used for latitude because the relationship is 1 degree to a half circle. The Max and Min semicircles for latitude will be different (.5 to -.5) vs. Max and Min semicircles for longitude (1.0 to -1.0).


I have problems with @longrider saying that

the relationship is 1 degree to a half circle.

which does not make sense mathematically. And I do not think is accurate. (please elaborate if I am wrong)

This answer is copied-pasted from http://www.logicio.com/HTML/navstopset.htm in case the link breaks.

A semicircle is a unit of location-based measurement on an arc. An arc of 180 degrees is made up of many semicircle units; 2^31 semicircles to be exact. Semicircles that correspond to North latitudes and East longitudes are indicated with positive values; semicircles that correspond to South latitudes and West longitudes are indicated with negative values.

The following formulas show how to convert between degrees and semicircles:

degrees = semicircles * (180 / 2^31)

semicircles = degrees * (2^31 / 180)

This explain better the relationship between degrees and semicircles units. What I take that @longrider wanted to say is that the range of values of a latitude measured in semicircles (or half-circles) is -0.5 to 0.5, while the longitude ones are -1.0 to 1.0. So multiplying by 180 was ok in both cases.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.