GlobeCoordinateValue use floats to represent latitude, longitude, and precision. Floats are used in fields internally, as well as in the array representation returned by getArrayValue(), which in turn is used by serialize() to build JSON a JSON string.
serialize() and json_encode() both rely on serialize_precision ini setting http://php.net/manual/de/ini.core.php#ini.serialize-precision.
The getHash() method of GlobeCoordinateValue in turn relies on serialize().
This means that the same GlobeCoordinateValue will return different hashes depending on the value of serialize_precision.
This can make tests fail for no obvious reasons, and it means the hashes we expose in our JSON dumps, in the API, and in our RDF mapping cannot be reproduced reliably, even using our own code.
Related issue: {T116683}