12
Геоданные и Go Минкин Андрей MadDevs

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

Embed Size (px)

Citation preview

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

Геоданные и GoМинкин Андрей MadDevs

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

Как бы зачем это все?• Интеграция с 2гис (запуск пробок в Бишкеке)• Выдача ближайших водителей• Рисование маршрутов

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

Как интегрировались с 2 гис• https://github.com/paulmach/go.geo• Расчет расстояния от точки до точки• Минимальные границы• Удобно было хранить точки

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

Ближайшие машины• Наивная реализация• Какой-нибудь геоиндекс

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

Требования к геоиндексу• Поиск N ближайших точек• Сбалансированное дерево

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

KD-Tree

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

Минусы KD-tree• Несбалансированное дерево• Поиск только одной ближайшей точки

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

R-tree

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

Плюсы• Поиск N ближайших точек• Сбалансированное дерево

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

Ок, где взять?• https://github.com/dhconnelly/rtreego

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

Вопросы и контакты• https://github.com/maddevsio• https://github.com/gen1us2k

• @gen1us2k