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

More Related Content

More from Mad Devs

More from Mad Devs (20)

Mad Stream - 7 habits of highly awesome developers. Speaker - Anatoliy Fedorenko
Mad Stream - 7 habits of highly awesome developers. Speaker - Anatoliy FedorenkoMad Stream - 7 habits of highly awesome developers. Speaker - Anatoliy Fedorenko
Mad Stream - 7 habits of highly awesome developers. Speaker - Anatoliy Fedorenko
 
Mad Stream: "Что можно напечатать на 3d принтере, помимо еще одного 3d принте...
Mad Stream: "Что можно напечатать на 3d принтере, помимо еще одного 3d принте...Mad Stream: "Что можно напечатать на 3d принтере, помимо еще одного 3d принте...
Mad Stream: "Что можно напечатать на 3d принтере, помимо еще одного 3d принте...
 
Maв Stream: "Факт карты на службек у ПМа", спикер – Дмитрий Кононенко
Maв Stream: "Факт карты на службек у ПМа", спикер – Дмитрий КононенкоMaв Stream: "Факт карты на службек у ПМа", спикер – Дмитрий Кононенко
Maв Stream: "Факт карты на службек у ПМа", спикер – Дмитрий Кононенко
 
Лайфхаки менеджмента на удаленке от Дмитрия Кононенко
Лайфхаки менеджмента на удаленке от Дмитрия КононенкоЛайфхаки менеджмента на удаленке от Дмитрия Кононенко
Лайфхаки менеджмента на удаленке от Дмитрия Кононенко
 
Mad Talks. Astashov_splitbrain
Mad Talks. Astashov_splitbrainMad Talks. Astashov_splitbrain
Mad Talks. Astashov_splitbrain
 
Flutter vs Native App Development
Flutter vs Native App DevelopmentFlutter vs Native App Development
Flutter vs Native App Development
 
Mad Talks. Marketing tips for tech companies
Mad Talks. Marketing tips for tech companiesMad Talks. Marketing tips for tech companies
Mad Talks. Marketing tips for tech companies
 
The paradox of choice in design
The paradox of choice in designThe paradox of choice in design
The paradox of choice in design
 
Git and Github for Beginners
Git and Github for Beginners Git and Github for Beginners
Git and Github for Beginners
 
How to hire freelancers
How to hire freelancersHow to hire freelancers
How to hire freelancers
 
Ethereum blockchain
Ethereum blockchainEthereum blockchain
Ethereum blockchain
 
"Outside In". Web application testing.
"Outside In". Web application testing."Outside In". Web application testing.
"Outside In". Web application testing.
 
Asynchrony in python exists and why should you use it
Asynchrony in python exists and why should you use itAsynchrony in python exists and why should you use it
Asynchrony in python exists and why should you use it
 
Ethereum: аспекты разработки смарт-контрактов
Ethereum: аспекты разработки смарт-контрактовEthereum: аспекты разработки смарт-контрактов
Ethereum: аспекты разработки смарт-контрактов
 
Why we sleep. Michael Ivashenko
Why we sleep. Michael IvashenkoWhy we sleep. Michael Ivashenko
Why we sleep. Michael Ivashenko
 
Удаленное управление приложением и его аналитика
Удаленное управление приложением и его аналитикаУдаленное управление приложением и его аналитика
Удаленное управление приложением и его аналитика
 
Автоматизация рабочих процессов и повышение лояльности заказчиков в ремоут к...
 Автоматизация рабочих процессов и повышение лояльности заказчиков в ремоут к... Автоматизация рабочих процессов и повышение лояльности заказчиков в ремоут к...
Автоматизация рабочих процессов и повышение лояльности заказчиков в ремоут к...
 
Практическое использование Tensorflow
 Практическое использование Tensorflow Практическое использование Tensorflow
Практическое использование Tensorflow
 
Распространенные ошибки, которые приведут проект к провалу
Распространенные ошибки, которые приведут проект к провалуРаспространенные ошибки, которые приведут проект к провалу
Распространенные ошибки, которые приведут проект к провалу
 
Пошаговое введение заказчика в проект Советы по коммуникации, инструменты длﰀ...
Пошаговое введение заказчика в проект Советы по коммуникации, инструменты длﰀ...Пошаговое введение заказчика в проект Советы по коммуникации, инструменты длﰀ...
Пошаговое введение заказчика в проект Советы по коммуникации, инструменты длﰀ...
 

Геоданные и Go / Geodata and Golang