Возможно, вам будет интересно узнать о Csquares, который кодирует lat, lon в текстовую строку, которую можно вставить в индексированный столбец.
Я перенес общедоступную логику кодирования Csquare в Java и Javascript.
Дайте мне знать, если хотите.
http://www.cmar.csiro.au/csquares/csq-faq.htm#10
ВЫПИСКА
- Что такое c-квадраты и для чего он служит?
C-квадраты означают «Краткая пространственная система запросов и представлений» и представляют собой метод индексации географического положения объектов или данных наблюдений на поверхности земли в простом буквенно-цифровом формате, подходящем для последующий запрос любой текстовой системой или поисковой системой.
, , ,
Кроме того, c-квадраты могут быть определены в широком диапазоне масштабов: от 10 x 10 градусов (около 1000 км) до 5 x 5 градусов (500 км), 1 x 1 градус (100 км), 0,5 x 0,5 градуса (50 км), 0,1 x 0,1 градуса (10 км) и т. Д. В соответствии с требованиями пользователя.
- Кто может извлечь выгоду из использования c-квадратов?
Любой, кто заинтересован в хранении, обмене и извлечении данных или информации с географическим компонентом, кто не хочет переходить на уровень сложности полноценной географической информационной системы (ГИС) просто чтобы иметь возможность искать их данные по географическому положению ...
- Почему бы просто не хранить и не указывать значения широты и долготы с определенным элементом данных?
Отдельные значения широты и долготы могут и в большинстве случаев будут сохраняться с конкретными элементами данных (объектами с географической привязкой). C-квадраты обеспечивают дополнительный уровень функциональности сверх этих «нативных» значений в нескольких отношениях:
(i) система сокращает широту и долготу (двумерную переменную) до одномерной переменной для упрощения индексации и последующего поиска
(ii) система уменьшает избыточность для многоточечных данных, которые находятся в пределах одного квадрата (один код, обозначающий «данные присутствуют», заменяет несколько отдельных значений для информации уровня метаданных) ...