Методы геохэш полигона?


11

GeoHash - отличный метод для кодирования широты и долготы точки в строку. Это сжато, благодаря использованию цифр + букв, и точность можно настроить, добавив символы в конце.

Я ищу эквивалентный метод для кодирования полигонов, а не точек. Я видел два способа сделать это:

  • geohash все точки многоугольника, затем объединить их, а затем сжать полученную строку, используя классические алгоритмы сжатия текста.
  • ссылаться на все геошашки, включенные в многоугольник. Это метод RecursivePrefixTree - см. Http://www.opensourceconnections.com/2014/04/11/indexing-polygons-in-lucene-with-accuracy/ .

Я хотел бы, чтобы код мог манипулировать людьми, т.е. Ручное копирование не только на машинах в качестве индекса.

Изменить: см. Также обсуждение (на французском языке) на http://seenthis.net/messages/269838 .


Добро пожаловать в GIS SE, вы готовы использовать любую библиотеку python / geo?
artwork21

Ясно да. Но вопрос больше в понятиях и алгоритмах, чем в реализациях.
Сильвен Лесаж

Ответы:




1

С недавним выпуском Google Открытого кода местоположения , был хороший вопрос о Geohash. К сожалению, я не видел что-то о полигонах Geohash.

Поскольку вы ищете различные реализации для решений, похожих на Geohash, посмотрите сравнение различных алгоритмов и решений Google по адресу https://github.com/google/open-location-code/blob/master/docs/comparison.adoc.

Это явно для очков, но это может помочь вам для вашего многоугольника Geohash "квест".


1

Очень простой реализацией было бы выполнение BFS, заполняющей полигон геохэшами. Тогда вы можете рекурсивно разбивать края на более высокую точность.

введите описание изображения здесь

Вот пример Пример BFS


0

Функция PostGIS ST_GeoHash возвращает GeoHash на основе типа входной геометрии. Конечно, любая геометрия, кроме точки, приведет к снижению точности.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.