Я недавно начал работать над личным проектом, включающим географические местоположения, карты (Google Maps V3) и т. Д.
Проект разработан на Python и предназначен для запуска на Google App Engine.
Я узнал, что для того, чтобы найти маркеры / позиции, близкие к позиции, можно использовать алгоритм геохэш (что довольно круто).
Что я не понимаю, так это: допустим, у меня есть все мои местоположения в хранилище данных (вместе с широтой, долготой и геохэшами (с высокой точностью) каждого местоположения.)
Я знаю, что мне следует использовать префикс геохеша (для сопоставления местоположений внутри), но как рассчитать геохеш ограничивающего прямоугольника? Учитывая, что ограничивающая рамка состоит из двух точек, северо-восточной и юго-западной, я не понимаю, как это сделать ..
Для того, чтобы я мог запросить, какие местоположения должны быть возвращены для видимой в настоящее время ограничительной рамки, мне нужен геохэш из видимой / видимой ограничительной рамки - теперь я знаю, что я могу геохэшить центральную позицию на просматриваемая карта, но я не знаю, сколько букв обрезать (чтобы уменьшить точность), чтобы добиться «подгонки» к реальной ограничительной рамке. (Или, может быть, это не так ...?)
Что вы будете делать, когда ограничивающий прямоугольник контейнера с геохэшами? (как в середине видимой области он разделяется между 'dqcjr0' и 'dqcjqb')
Кроме того, давайте предположим, что у меня есть пятибуквенный геохэш, как я могу преобразовать его обратно в видимую ограничивающую рамку? или, другими словами, как мне узнать, что «включено» в хэш, а что в смежных хэшах?
Заранее спасибо за помощь,
Кен.