# How should the bounds of decimal and degree coordinates be programmatically handled in respect to hemispheres? [closed]

Are the bounds inclusive of 0, 90/180?

Many systems and libraries simply clamp it to from -n to +n without considering zero. In many of these cases the handling of 0 is arbitrary (which hemisphere it lands on for example). In other cases -0 is supported (which offers more even distribution).

Some descriptions suggest that 0 doesn't really exist, values simply move closer to it but never reach it, however some implementations include 0.

If it's down to the person implementing the system which system is preferred?

1. 0 < n < max
2. 0 <= n < max
3. 0 < n <= max
4. 0 <= n <= max

Given the even options should 0 be negative or fall on a specific hemisphere?

I can't answer my own question as it's locked...

https://en.wikipedia.org/wiki/Signed_zero

From a programming perspective, standards wise signed zero is an anomaly, it is an artifact that is often ignored and not supported directly by programming languages. It's also mathematically broken. The different between -0 and 0 is still 0.

An algorithm wont care about human representation and segments.

Given a coordinate in the range -90 to 90, it will most likely have 90 added to it and then possible another 180 depending on hemisphere.

Thus simplifying things to two values of 0..360 (an internal representation simplifed as much as possible, removing the sign entirely would be preferable for machine use) starting at point 0. As far as the machine is concerned there are no such thing as hemispheres, it is a presentation concern.

This does still become a problem for humans, where which hemisphere 0 lands on is still arbitrary.

Problems can also arise where machines talk to one another using coordinate systems then contain a format intended for humans (they specify hemisphere).

However it's very unlikely for something to land exactly on 0,0 and the precision loss is usually so small that it very rarely, almost never, manifests as a real problem. Many systems will add some extra precision to either eliminate the problem by isolating it to within a tiny fragment of least significance or to slow it's accumulation.

Whatever method is used involving hemispheres, it should be well defined enough to convert both ways without precision loss (such as > being used for output but < on input).

Hemisphere replaces the sign. As it makes no sense for coordinates of exactly zero, the obvious option is to leave it out. As with the floating point representation, it's an artifact that can be ignored.

## closed as too broad by BERA, Dan C, aldo_tapia, whyzar, nmtokenDec 14 '17 at 15:48

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

• I think this is an interesting question (+1). Although someone has voted to close as too broad (probably because it has 3 questions) common sense suggests a useful answer could address all points without needing to deviate at all from the main subject (i.e. what is the standard, if any?). Imagine if Q was split in 3 questions; the content would be fragmented making it difficult for us readers to search and get the big picture about the standard. – Andre Silva Dec 14 '17 at 14:58
• You also have to think about storage, processing, and display. -0 is probably fine for storage or processing, but might look weird if displayed. Processing could send values over n--do you immediately force them to n? Why are you leaving out negatives? Longitude can run -360 to 0, -180 to +180 or 0 to 360. Laittude is -90 to 90. – mkennedy Dec 14 '17 at 18:53
• I agree, I think this is an important question. It should be researched, considered, discussed and answered. – flurbius Dec 14 '17 at 22:15
• I think you don't need to care about this. Coordinate 0,0 is at sea. By tide, derivation and wind movements you will never be at 0,0 and always fall in some hemisphere. Jokes apart, I think will be correct to say `0º 0' 0'' N` or `0º 0' 0'' S` – Magno C Dec 15 '17 at 12:30
• There are basically no use cases where this will ever be a problem. Statistically the chances of ever having to work with a coordinate positioned directly at (0,0) that this question really isn't worthy considering. And because coordinate values almost always contain a large number of sig figs, you're much more likely to have something like (0.000001, 0.000001) etc. This is like the ultimate "what if" question that doesn't really add value to anything and isn't worth much consideration from a fundamental GIS perspective. – onakua Dec 15 '17 at 21:55