Как реализовать определение местонахождения камеры и интеграцию с приложением для отображения координат
Что проверяют
Умеете ли вы разложить расплывчатое требование на части: откуда берутся координаты, как они доезжают до системы и кто их потребляет. Следом обычно спрашивают, что делать, если в камере нет GPS, и какая точность нужна бизнесу.
Как отвечать
Начните с уточняющих вопросов: что за камеры (стационарные IP-камеры, видеорегистраторы, носимые), как часто они перемещаются, какая нужна точность и кто смотрит на карту. От ответов зависит источник координат:
- встроенный GNSS-модуль: камера сама отдаёт широту и долготу, типично для регистраторов и носимых камер. На открытом месте точность в пределах нескольких метров, в помещении сигнала нет;
- ввод при монтаже: для стационарной камеры монтажник ставит точку на карте или приложение берёт координаты телефона в момент установки. Дёшево и достаточно, если камера не двигается;
- сервер видеонаблюдения: координаты уже лежат в карточке камеры, их забирают по API;
- геолокация по IP или базовым станциям: точность от сотен метров до километров, годится только как грубая подсказка.
Дальше опишите контракт. Сообщение о позиции содержит camera_id, lat, lon в WGS84, accuracy_m, source и timestamp. Для стационарных камер хватит REST-вызова при изменении позиции, для движущихся нужен поток: MQTT или WebSocket с оговорённой частотой.
На стороне отображения зафиксируйте нефункциональные требования: допустимую задержку, кластеризацию маркеров при сотнях камер, пометку «данные устарели» и поведение, когда позиция неизвестна. Если камера носимая, её координаты это местоположение конкретного сотрудника, то есть персональные данные с требованиями к согласию и хранению.
Где спотыкаются
Сразу уходят в код мобильного SDK. Координаты телефона не равны координатам камеры, а от аналитика ждут требований и контракта, а не вызова API.
Путают порядок координат. В GeoJSON принят порядок «долгота, широта», а люди и многие API пишут «широта, долгота». Если не зафиксировать это в спецификации, камеры из Москвы окажутся в Сомали.
Не описывают отсутствие данных: у сообщения нет времени и точности, и карта уверенно показывает позицию недельной давности как текущую.