Распределение фотографий с гео-тэгами по папкам по правилам
Распределение фотографий с гео-тэгами по папкам по правилам
Людьми делаются фото объектов на смартфоны с гео-тэгами (видимо только координаты).
Эти фотографии автоматически заливаются в дропбокс (Dropsync) в соответствующие папки. Папки имеют имена ответственных людей. Так настроены смартфоны.
Есть документ с адресами объектов. Скорее всего это будет либо xls, либо csv файл. Объем базы - до 100 адресов, вряд ли более.
CSV конфиг содержит следующие поля (колонки):
ID объекта (вручную),
Ответственный 1 (вручную),
Ответственный 2 (вручную),
Ответственный 3 (вручную),
Адрес объекта (вручную, адрес может быть записан немного коряво, не обязательно 1 в 1 как яндекс его отображает) или из 3.2.2)
Координаты (из 1 или из 3.2.2)
Адрес папки, где лежат фотографии по этому объекту (при появлении нового объекта, создаётся)
Пример файла конфига: https://www.dropbox.com/s/03ivos8delyj99g/config_geo.xlsx?dl=0
Пример фотографий с гео-метками: https://www.dropbox.com/s/041piy6iulhs7hk/%D0%A4%D0%BE%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%B8%20%D1%81%20geo%20%D0%BC%D0%B5%D1%82%D0%BA%D0%B0%D0%BC%D0%B8.zip?dl=0
Нужно написать скрипт, который будет просматривать залитые фотографии и автоматически сортировать (создавать и складывать в папки) + вести лог о синхронизации.
Режим полуавтоматический, т.е. запускается скрипт - только тогда происходит работа.
Что делает скрипт предварительно:
1.1. Все объекты, которые хранятся в CSV, переводит в координаты (видимо через Яндекс API https://tech.yandex.ru/maps/geocoder/ ), если этого еще не было сделано (пусто в ячейке с координатами).
1.2. Назначает (прописывает в поле “Адрес папки” путь) и создаёт эти папки, если их нет. Туда будут стекаться фотографии по отдельным адресам.
Разбираем содержимое изначальных папок с фото.
2. Просматриваем всю папку и формируем блок из фотографий, которые имеют 1) одну дату создания 2) имеют одну и ту же или похожую гео-метку (я думаю там будет одна и та же метка 1 в 1, но не факт)
3. Смотрим гео-метку, сопоставляем с координатами объектов в csv файле.
Находим ближайший адрес по координатам из CSV (просто расстояние находим между точками)
Предлагаем пользователю скрипта ближайший адрес из CSV.
Форма такая примерно:
Адрес #подставляем адрес# / #ID# / #Ответственный#?
Кнопки:
“Да / Другой адрес”
3.1 Если Да, то остаётся определенный адрес
3.2 Если выбран "другой адрес", должен всплыть список всех адресов, отсортированный по удаленности.
3.2.2 Там же пусть будет поле "добавить новый адрес". При добавлении нового адреса запрашивается ID / Адрес объекта / Ответственный 1 / Ответственный 2.
Далее - 1.1 и 1.2, т.е. определяются координаты и назначается папка.
После того, как адрес подтвержден
4.1 Фотографии перемещаются в папку /Адрес папки/Создаваемая поддиректория с названием “Дата снимков + Название изначальной папки (т.е. из какой DropBox папки производится перенос) + Адрес объекта.”
Предварительно делается проверка, не существует ли уже папки с этим именем. Если существует, предлагать перезаписать, либо
4.2 Заполняется лог о проделанной работе, что-то в таком духе:
Кто - название папки, из которой изначально загружались фотографии.
Добавить в настройки скрипта - адреса папок, из которой изначально должны загружаться фотографии прорабов.
Указать “корневую папку”, куда складируются все папки, отсортированные по адресам.
Полезные статьи: расстояние между точками, зная координаты http://www.html5rocks.com/en/tutorials/geolocation/trip_meter/
А именно вот эта формула:
ТЗ:
https://docs.google.com/document/d/1Zu8TPt91HiX99XdHF3Sq2eK3pSmEcdgbeiPeHQL8etk/edit
Бюджет 3000 руб.