Почему геохаши не идеальные квадраты?
Почему геошашки, отображаемые на карте как наглядно-прямоугольные, не оптимизированы для отображения в виде квадратов? Если цель геохеша состоит в том, чтобы разрешить пространственное индексирование и геокверирование с одним свойством, почему геохэш не оптимизирован в квадраты, где это необходимо, чтобы круг, отображаемый радиусом поиска, обрезал наименьшее количество ошибочных результатов?
1 ответ
По сути, проблема заключается в отображении координат на сфере в двумерное пространство. По мере удаления от экватора координаты становятся более "прямоугольными", потому что между физическими различиями больше различий, представленных равными изменениями в градусах широты и градусах долготы. Это нелинейное поведение хорошо объясняется в статье в Википедии. Я включил соответствующую часть здесь:
Поскольку геохеш (в этой реализации) основан на координатах долготы и широты, расстояние между двумя геохешами отражает расстояние в координатах широты / долготы между двумя точками, которое не переводится в фактическое расстояние, см. Формулу Хаверсайна.
Пример нелинейности для системы широта-долгота:
At the Equator (0 Degrees) the length of a degree of longitude is 111.320 km, while a degree of latitude measures 110.574 km, an error of 0.67%. At 30 Degrees (Mid Latitudes) the error is 110.852/96.486 = 14.89% At 60 Degrees (High Arctic) the error is 111.412/55.800 = 99.67%, reaching infinity at the poles.