Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Обработка геоданных в Go

462 views

Published on

Слайды с митапа про Go на highload++ 2016

Published in: Engineering
  • Be the first to comment

Обработка геоданных в Go

  1. 1. Геоданные и Go Минкин Андрей MadDevs
  2. 2. Как бы зачем это все? • Интеграция с 2гис (запуск пробок в Бишкеке) • Выдача ближайших водителей • Рисование маршрутов
  3. 3. Как интегрировались с 2 гис • https://github.com/paulmach/go.geo • Расчет расстояния от точки до точки • Минимальные границы • Удобно было хранить точки
  4. 4. Ближайшие машины • Наивная реализация • Какой-нибудь геоиндекс
  5. 5. Требования к геоиндексу • Поиск N ближайших точек • Сбалансированное дерево
  6. 6. KD-Tree
  7. 7. Минусы KD-tree • Несбалансированное дерево • Поиск только одной ближайшей точки
  8. 8. R-tree
  9. 9. Плюсы • Поиск N ближайших точек • Сбалансированное дерево
  10. 10. Ок, где взять? • https://github.com/dhconnelly/rtreego
  11. 11. А что есть еще? • https://github.com/nfleet/via • https://github.com/hailocab/go-geoindex • https://github.com/azr/kdtree • https://github.com/maddevsio/ariadna
  12. 12. Вопросы и контакты • https://github.com/maddevsio • https://github.com/gen1us2k • @gen1us2k

×