Необходимо найти алгоритм преобразования координат в число (signed Long)
Есть некий алгоритм преобразования координат в Long и обратно. Как я понял он основан на перемешивании битов. Наиболее близкий результат дает преобразование Мортона. Но тем не менее итоговый результат отличается. Вот пример:
Координаты - Результат работы алгоритма
0.0, 0.0 4611686018427371520 Мортон выдает такое число -4611686018427387904
-180.0, 90.0 -8454757700450246656
0.0, 90.0 -6917529027641122816
180.0, 90.0 -2305843009213751296
0.0, 180.0 -4611686018427437056
180.0, -90.0 6917529027641057280
0.0, -90.0 2305843009213685760
-180.0, -90.0 768614336404561920
0.0,-180.0 1537228672809123840
Некоторые координаты для проверки
37.868082,55.249924 -3932076971063411469
Если сделать обратное преобразование алгоритмом Мортона, то число -4611686018427387904 дает координаты: 0.000011, 0.000011 но лни отличаются от 0.0, 0.0
Помогите определить алгоритм преобразования.
Очень надеюсь на помощь сообщества