Блог - GPX

Leaflet - базовая настройка карты + gpx

Всем привет! Сегодня раскажу о работе с библиотекой для отображения карт Leaflet. Примеры из статьи доступны на github: https://github.com/antonshell/leaflet_examples. Библитека может быть полезна, например, для отображения карт на сайте. В частности для отображения gpx треков. Преимущество перед google/yandex maps в том, что leaflet - это открытая библиотека и предоставляет больше возможностей для настройки/расширения. Главный недостаток в том, что придется настраивать все самому. Из коробки может выглядеть не так красиво, как google maps, зато есть множество возможностей расширения функционала.

Leaflet - создание карты путешествий

Всем привет! Сегодня будем делать карту путешествий с помощью leaflet - показывать на карте много gpx треков. Примеры из статьи доступны на github: https://github.com/antonshell/leaflet_examples.

Архитектура GPS трекера

Не так давно сделал любопытное техническое задание. Задача - описать архитектуру gps трекера. Конкретно - умного ошейника для собак. Нужно было описать работу серверной части. Предусмотреть запись активности, запись gpx трека, возможность просмотра статистики. Добавить возможность получения текущего местоположения, получение списка устройств в указанной области, отправку push уведомлений. Также нужно было продумать реализацию функционала совместных прогулок.

Задание не предполагает написания кода. Но, тем не менее, оказалось достаточно сложным и интересным. Не очень понравилось, что предлагается полностью продумать вообще всю архитектуру проекта. В какой-то момент даже возникло предположение, что работодатель хочет составить архитектуру силами соискателей. Но, после более детальлного изучения вакансии, отбросил эту мысль.

Сама задача интересная. В тестовом задании описал простейшее решение. Фактически, используется не самое оптимальное решение "в лоб".

Создатели тестового задания предполагали использование геотемпорального индекса. Похоже, что термин придуман ими же. В интернете не нашел его определения. Основная идея в том, что данные местоположения разбиваются на небольшие секции. Разбиение происходит по timestamp и координатам. Фактически, шардирование. В результате поиск осуществляется в конкретном шарде. В некоторых случаях может понадобиться переключение между шардами.

Тестовое задание приняли. Прошел техническое собеседование. Правда, работать в эту компанию в итоге не пошел. Зато остались приятные впечатления от тестового задания.

Пример доступен на github.

Задание: https://github.com/antonshell/gpx-tracker-architcture/blob/master/SPECIFICATION.md

Мое решение: https://github.com/antonshell/gpx-tracker-architcture

На этом пока все. Спасибо за внимание!