Как люди помогают технологиям в Яндекс Картах / Хабр
На днях пользователи Яндекс Карт получили возможность актуализировать данные о доступности организаций. Например, можно указать, оборудован ли пандусом вход в парикмахерскую или есть ли в торговом центре специализированный туалет. Для начала мы попросили пешеходов Яндекса разметить первые 400 тысяч организаций в 73 городах.
Я Данис Гаязов из внутреннего сервиса Crowd, команды полевого краудсорсинга. Полевого, потому что мы работаем «в поле», то есть не в офисе. Сегодня по случаю запуска я расскажу, зачем Картам пешеходы и как они помогали и помогают делать сервисы более полезными.
Результат работы пешехода на заре проекта схем ТЦ
Согласитесь, во время поездки или прогулки неприятно уткнуться в шлагбаум, забор или любое другое препятствие, не обозначенное на карте. Как его обойти, чтобы не заплутать — понять сложно. Приходится двигаться наобум и терять время на поиски.
Чтобы такие ситуации происходили реже, а карты городов стали удобнее и ближе к реальности, сотни людей ежедневно ходят по улицам, аэропортам, ТЦ и вокзалам в своих городах. Мы называем их пешеходами.
Как в Картах появились пешеходы
Наша база организаций ежедневно пополняется и обновляется. Информация поступает разными способами: с помощью ML обработки данных с панорам и зеркал, с официальных сайтов, от пользователей Карт и от представителей самих компаний. Однако у многих организаций нет ни сайта, ни публично доступного телефона, ни геопривязки. Компания существует, но аудитория Карт о ней ничего не знает.
Отправлять сотрудников «в поля», чтобы они собрали нужные данные, было бы неправильно. Да и не во всех городах такое возможно. Однако сама идея полевых исследований показалась нам интересной, и мы решились на эксперимент.
Сначала мы несколько раз в год нанимали людей в разных городах, чтобы они проверяли информацию об организациях, которые есть на Картах.
Но вскоре поняли: такие проверки должны быть регулярными, потому что данные быстро устаревают.Весной 2017 года в Казани вышел на работу первый «пешеход»: человек, который в буквальном смысле слова пешком ходил к интересующим нас объектам и присылал требуемую информацию о них.
Первый пешеход в Казани
Эксперимент оказался удачным, и мы решили расширить штат полевых сотрудников. В апреле пешеходов стало трое, в мае — десять, а уже к концу года разнообразные задания выполняли две сотни пешеходов в разных городах. Быстрый рост произошёл из-за удобства формата и разнообразия открывшихся перед нами возможностей. Пешеходы помогли нам собирать не только сведения о компаниях в любом районе любого города, но и много других данных, включая картографические.
Почему это важно? Попробую объяснить. Вы наверняка понимаете, что для построения маршрута в Яндекс Картах сервису нужно знать сетку дорог. Для каждого типа маршрута — своя сетка. Автомобильный включает в себя все виды дорог — от внутриквартальных проездов до магистралей.
Нанести на карту все доступные пешеходам пути — непростая задача. Во-первых, их действительно много — только в окрестностях вашего дома, скорее всего, более десятка тропинок. Во-вторых, о большинстве из них, в отличие от автомобильных дорог, знают только местные жители. Как же тогда появляются эти тропинки на картах? Благодаря пешеходам. Они лично проходят эти маршруты, а потом наносят их на карту. Проходы сквозь дворы, дорожки в парках, тропинки — всё это добавляется в базу Карт и используется для построения маршрутов. Работа масштабная: только за первый год пешеходы прошли 130 тысяч километров.
Как работают пешеходы
Пешеходы мобильны: могут дойти до нужного места, чтобы получить интересующую нас информацию. Например, уточнить график работы организации, расположение входа, наличие пандуса, номер телефона вашей любимой кофейни или обувной мастерской.
Пешеходы — очень важные для нас помощники, поэтому мы не гоняем их по всему населённому пункту, чтобы собрать информацию. Города поделены на части: кварталы, микрорайоны, торговые центры. Каждый пешеход обходит свой участок, проверяя имеющиеся данные и добавляя новые.
На старте проекта работа была организована просто: пешеход посещал место и передавал нам информацию.
Изначально наш проект представлял собой большой geoJSON-файл, который хранился на сервере и содержал в себе геометрию всех заданий для обхода. Для управления этим файлом мы написали простую HTML-страницу, где можно было работать с полигонами: просматривать, создавать, изменять и удалять.
Но с ростом проекта мы поняли, что это решение не покрывает всех наших потребностей. Из основных проблем:
- Нестабильная работа. Наша инфраструктура на тот момент располагалась не в облаках, а на отдельной машине, которая иногда сбоила. Каждый такой сбой приводил к тому, что мы не могли вовремя назначить пешеходу полигон. Возникали простои в работе.
- Отсутствие многопользовательского режима. Веб-страница при загрузке скачивала geoJSON целиком, специалист выполнял в нём нужные операции и загружал обновлённый файл обратно на сервер. Если двое специалистов вносили изменения одновременно, то сохранялись только самые поздние.
- Жёсткая привязка инфраструктуры к конкретному сервису . Мы могли использовать этот инструмент только для Карт. Избавившись от такого ограничения, мы могли бы помочь любым сервисам, которым нужны данные об офлайне.
- Невозможность развиваться и добавлять новые функции. Архитектура не предполагала каких-либо изменений и каждый раз приходилось лепить «костыли», чтобы изменить хоть что-то.
Мы обратились за помощью к коллегам, которые помогают строить Толоку и другие инструменты для сбора оценок. Они за три месяца написали нам полноценный бэкенд с базой данных, удобный API для работы с ней и другие нужные функции (но полноценный фронтенд всё-таки пришлось делать самим). Когда MVP был готов, мы приступили к важному этапу, длившемуся не меньше полугода — интеграции в существовавшие процессы и полному переезду на новое серверное решение. Также добавили то, чего не было в предыдущей системе: многопользовательский доступ; чтобы координатор одного города не мог управлять и назначать полигоны в другом городе; поиск по полигонам и много других изменений. И в декабре 2019 года мы полностью закончили работу над новой системой.
От организаций к лавочкам и схемам ТЦ
После модернизации мы смогли эффективнее использовать возможности пешеходов, а заодно увеличили их количество. Сейчас пешеходы обходят вверенную им территорию, собирая данные. Они:
- Актуализируют информацию об организациях:
- Проставляют входы в организации.
- Делают фотографии фасадов.
- Уточняют названия, адреса, телефоны, сайты, время работы организаций.
- Собирают информацию о Wi-Fi, ИНН, ОГРН, меню, доступности городской среды для маломобильных людей.
- Добавляют отсутствующие организации со сбором всех перечисленных выше атрибутов, специализацией, а также датой открытия организации.
- Исправляют ошибки в имеющихся у нас адресных данных.
- Добавляют на карту заборы, шлагбаумы, лестницы, скамейки, пандусы и так далее.
- Собирают информацию о нумерации подъездов в жилых домах.
- Определяют зону видимости электронных билбордов.
Детализация карт помогает спланировать велопрогулку или оптимально рассчитать маршрут движения курьера. Благодаря пешеходам можно увидеть, как срезать путь и не наткнуться на огороженную территорию или шлагбаум. Кроме того, банально удобно знать, где в парке можно присесть на скамейку и в каких заведениях есть пандусы для родителей с колясками и людей на инвалидных колясках. С 2019-го мы стали показывать внутренние планы крупных ТЦ, вокзалов и аэропортов. Об этом стоит рассказать подробнее.
Отдельно про торговые центры
Сориентироваться внутри здания порой труднее, чем на улице, особенно если это многоэтажный торгово-развлекательный комплекс. Без схемы не обойтись.
Мы начали со схем 29 крупных торговых центров в Москве и ближайшем Подмосковье, а затем отправились в крупные ТЦ в городах-миллионниках. Пешеходы шли на объекты с распечатанными на бумаге поэтажными схемами зданий из Карт. Они проверяли правильность расположения стен, организаций и разных объектов инфраструктуры — лифтов, туалетов, стоек информации. Обновленные схемы сканировали и передавали картографам для чистовой отрисовки.
Сейчас у нас есть подробные схемы около 1000 торговых центров, вокзалов и аэропортов. На них можно найти всё: от магазинов и ресторанов до стоек с газировкой. С помощью таких схем легко спланировать поход в ТЦ — не придётся гадать, на каком этаже искать нужный магазин или блуждать по галереям в поисках туалета.
Но согласитесь, когда схема рисуется от руки, это не очень похоже на технологичное решение Яндекса. Надо было что-то менять, и с этим «помогла» пандемия. Когда торговые центры по всей стране закрылись почти на три месяца, мы полностью переработали концепцию и разработали более совершенное решение: пешеходы получили возможность делать пометки об изменениях на карте в своих смартфонах. Эти пометки автоматически выгружаются в виде гипотез в Народную карту — сервис, позволяющий пользователям самостоятельно рисовать карты и уточнять их. Гипотезы проверяют, а потом добавляют пометки в базу данных Карт и наносят на схему здания.
Так процесс актуализации схем пошёл в разы быстрее. Сначала пешеходы обошли все крупные торговые центры, вокзалы и аэропорты в городах-миллионниках, а затем начали проходить все города, принося на Карты миллионы новых объектов из реального мира.
Как мы добились полноты и качества собираемых данных
Казалось бы, всё просто. Пешеходы записывают информацию и передают её нам, после обработки на Картах появляется новый объект. Но возникает вопрос контроля. Как определить, что пешеход действительно собрал всю информацию и ничего не придумал?
В крупных городах, где много пешеходов и заданий для них, мы могли контролировать качество поступающей информации, делая выборки и самостоятельно перепроверяя отдельные полигоны. В городах поменьше это невозможно: там работает 1–2 пешехода, и проверять каждого вручную — слишком сложно и долго.
Нужно было понять, как пешеходы обходят полигоны, что может стать метрикой качества и как её автоматизировать. Мы исходили из того, что необходимым условием хорошей полноты добавлений организаций является качественный и полный обход полигона.
Так появилась метрика «доходимости», которая считается на основе логов обхода территории. Доходимость — это соотношение двух площадей: участка полигона, который действительно обошёл пешеход, и того, который он должен был исследовать. Чем тщательнее пешеход прошёл свой участок карты, тем выше доходимость обхода.
В качестве исходных данных мы взяли информацию о перемещении пешеходов (во время обхода полигонов) из AppMetrica и геометрию домов из базы Карт. А полигоны замостили сеткой из квадратов, размер которых подобрали экспериментально.
В область, которую нужно было исследовать, попадают все квадраты с домами, так как пешеход должен обойти все дома полигона. В область, которую фактически обошёл пешеход, записываем все квадраты, на которые попали треки пешехода.
В итоге мы получили реальную информацию о том насколько тщательно пройдена вся территория. Теперь для городов без координатора используем эту метрику.
Помимо сбора данных мы готовим и визуализацию обхода каждого полигона на карте, что помогает при работе с пешеходами. Дополнительным плюсом новой метрики стала скорость получения обратной связи. Ведь ранее, чтобы увидеть полноту обхода, нам приходилось ждать результатов повторного обхода координатора.
Сейчас пешеходов уже несколько сотен в 80 городах и пяти странах. За четыре года работы они прошли сотни тысяч километров.
Мы активно работаем над повышением детализации Карт, привлекая новых пешеходов, развиваем и готовим новые проекты, уже далеко не всегда связанные со справочными данными и картами.
Яндекс.Карты с редактором на вашем сайте / Русскоязычное сообщество MODX
Многим знакомо дополнение mapex для работы с яндекс.картами www.createit.ru/blog/modx/2012/mapex-2-0-yandex-maps-for-modx-revolution/, оно было создано еще в 2012 году и тех пор оставалось практически в таком же виде.
Некоторое время назад я принял решение о его дальнейшем развитии, в связи с чем значительно переписал, выложил исходники на github, написал документацию. Ну и раз пошла такая пьянка =), что в последнее время появилось много интересующихся этой темой, я себя поторопил и решил все выложить.
Платно или бесплатно?
Я планирую сделать этот компонент платным с небольшой ценой, выложив на modstore.pro/, чтобы оставалась мотивация для его развития.
Если вы считаете, что платить тут не за что — исходники открыты. Кроме того, в сети без проблем можно найти пакет с прошлой версией компонента, который тоже более чем работоспособен.
Совместимость с прошлой версией
По идее должно быть все совместимо, так как формат хранения данных я не менял, но бекап все равно обязателен (!). Хотя если у вас стоит прошлая версия mapex2 и она вас устраивает — может вам и не нужно обновляться?
Где скачать?
Компонент доступен в магазине ModStore modstore.pro/packages/maps/mapex2
Документация доступна здесь: docs.modx.pro/components/mapex2
Документация
Компонент добавляет в MODx новый тип поля ввода — Яндекс.Карта (mapex.yandexMap)
Возможности
Компонент позволяет рисовать на этой карте следующие объекты:
1. Точки. Произвольное количество точек, для каждой задается Текст, Цвет (из предустановленных в Яндекс.Картах), Текст балуна
2. Линии. Произвольное количество линий, для каждой задается Цвет линии, Ширина линии, Прозрачность, Текст балуна
3. Многоугольник. Произвольное количество многоугольников, для каждого задается Цвет границы, Цвет заливки, Ширина линии, Прозрачность, Текст балуна
3. Маршрут. Можно добавить прокладку на карту маршрута (одного) между двумя точками.
Для каждой карты запоминаются ее настройки: тип карты (схема, спутник, гибрид, народная карта, народная + спутник), координаты центра карты, масштаб карты. Все это позволяет отобразить карту на сайте точно также, как она выглядит в административном интерфейсе.
В админке реализован поиск объектов на карте по адресу или названию.
Поддерживается добавление нескольких карт к одному ресурсу, путем создания нескольких TV полей.
Демонстрация работы
Ребята из OpenModx записали видео с демонтрацией, 13 минут, зато все подробно описано:
Сниппеты
mapexMap — рисует карту во фронтенде, используя API Яндекс. Карт версии 2.0.
Параметры сниппета (через | даны значения по-умолчанию):
&tvName — Имя TV параметра с картой. Используйте совместно с параметром &resource
&resource | текущий ресурс — Id ресурса с картой. Используйте совместно с параметром &tvName
&map — json строка с картой. Альтернативный способ указать, какую карту рисовать. Если этот параметр указан, то &tvName и &resource не используются. Пример вызова: [[mapexMap? &map=`[[*tvMap]]`]]
&mapId | mapexMap — Id карты. Используется при генерации javascript. Если на одной странице карт несколько — укажите разные mapId
&width | 500px — Ширина карты, например 500px или 100%. Обязательно укажите единицы измерения.
&height | 400px — Высота карты
&containerCssClass — Можно указать css класс блока, в который обернута карта
&mapTpl | mapex.Map.Tpl — Основной чанк для вывода карты
&placemarkTpl | mapex. Placemark.Tpl — Чанк для вывода точки
&polygonTpl | mapex.Polygon.Tpl — Чанк для вывода многоугольника
&polylineTpl | mapex.Polyline.Tpl — Чанк для вывода линии
&routeTpl | mapex.Route.Tpl — Чанк для вывода маршрута
&controls | mapTools,typeSelector,zoomControl,searchControl,miniMap,trafficControl,scaleLine | Набор элементов управления, которые будут на карте. См. tech.yandex.ru/maps/doc/jsapi/2.0/dg/concepts/controls-docpage/
&includeJS | 1 — Подключать или нет на страницу скрипт Яндекс.Карт
mapexMap21 — рисует карту во фронтенде, используя API Яндекс.Карт версии 2.1.
Параметры сниппета практически идентичны, в таблице даны только лишь отличия:
&mapTpl | mapex.Map21.Tpl — Основной чанк для вывода карты
&placemarkTpl | mapex.Placemark21.Tpl — Чанк для вывода точки
&polygonTpl | mapex.Polygon21.Tpl — Чанк для вывода многоугольника
&polylineTpl | mapex. Polyline21.Tpl — Чанк для вывода линии
&routeTpl | mapex.Route21.Tpl — Чанк для вывода маршрута
&controls | default — Набор элементов управления, которые будут на карте. См. tech.yandex.ru/maps/doc/jsapi/2.1/dg/concepts/controls-docpage/
Настройки компонента
В настройках компонента (см. Настройки системы, пространство mapex2) можно задать начальное положение, масштаб и тип карты в административном интерфейсе, а также скрыть или показать служебное поле, в котором хранится состояние карты в json формате.
Компонент для своей работы требует библиотеку jquery. В настройках можно указать, откуда загружать ее. Если у вас в админке вдруг есть еще какой либо компонент, использующий jquery, то могут быть проблемы из-за подключения jquery 2 раза, в этом случае просто очистите настройку mapex2_manager_jquery_url.
Поддержка API Яндекс.Карт
Административный интерфейс компонента использует API Яндекс. Карт версии 2.0. К сожалению, на текущий момент перевести его на корректную работу с более свежим API 2.1 не удалось, так как многое в API было изменено.
Во фронтенде реализованна поддержка API Яндекс.Карт как версии 2.0 (сниппет mapexMap), так и 2.1 (сниппет mapexMap21).
Единственный нюанс — в версии API 2.1 поддерживаются мультимаршруты, но из-за работы административного интерфейса на младшей версии API, данная возможность в компоненте не используется.
Яндекс.Карты теперь поддерживают Android Auto, но только в России
Дэмиен Уайлд
– 17 августа 2021 г., 1:04 по тихоокеанскому времени.
@iamdamienwilde
Ответ России на Google теперь расширяется, добавляя Яндекс.Карты к головному устройству Android Auto в автомобиле.
За последние несколько месяцев в Android Auto появился целый ряд навигационных альтернатив Google Maps, таких как Waze и TomTom, предлагающих разумные сторонние опции. Согласно Android Police , Яндекс. Карты теперь доступны на Android Auto, если вы находитесь в России.
Они отмечают, что вы даже не можете протестировать его, даже когда пытаетесь подделать свое местоположение, чтобы оно загружалось за пределами региона. Так что это хорошее дополнение для тех, кто в России, но Яндекс.Карты, скорее всего, не будут поддерживаться на Android Auto где-либо еще, по крайней мере, какое-то время, если вообще будут. AP также отмечает, что эта функция могла быть добавлена в выпуске версии 10.5.0, выпущенном в прошлом месяце. В Play Store версия 10.5.1 указана как самая последняя сборка, поэтому она, вероятно, ускользнула из сети из-за региональных ограничений.
Для тех, кто может использовать Яндекс.Карты со своим автомобилем с поддержкой Android Auto, вам также потребуется подписка Яндекс Плюс, чтобы начать работу. Это стоит около 2,30 долларов в месяц или 169 рублей, что не так уж и плохо, если картографические данные надежны. К сожалению, мы не можем поручиться за точность и актуальность указаний и общих картографических данных, поскольку на данном этапе они не работают за пределами домашнего рынка Яндекса.
Тем не менее, вы можете использовать стандартное приложение Android на своем смартфоне, и оно кажется довольно надежным. Таким образом, мы ожидаем, что Яндекс.Карты станут достойной альтернативой Google Maps в автомобилях с поддержкой Android Auto в регионах, где покрытие фирмы Mountain View не совсем полное.
Подробнее об Android Auto:
- Android Auto тестирует новые «Media Picks» для музыкальных рекомендаций с помощью специальной кнопки
- Некоторые пользователи Android Auto месяцами не видели значок погоды; Google работает над этим
- Последнее стороннее навигационное приложение Android Auto — Gaia GPS, предназначенное для исследования отдаленных районов
FTC: Мы используем автоматические партнерские ссылки, приносящие доход. Подробнее.
Проверьте 9to5Google на YouTube для получения дополнительных новостей:
Вы читаете 9to5Google — экспертов, которые день за днем сообщают новости о Google и окружающей его экосистеме. Обязательно заходите на нашу домашнюю страницу, чтобы быть в курсе всех последних новостей, и подписывайтесь на 9to5Google в Twitter, Facebook и LinkedIn, чтобы оставаться в курсе событий. Не знаете, с чего начать? Ознакомьтесь с нашими эксклюзивными историями, обзорами, практическими рекомендациями и подпишитесь на наш канал YouTube
.Об авторе
Дэмиен Уайлд
@iamdamienwilde
Дэмиен — британский продюсер видео для 9to5Google. Найдите его в Твиттере: @iamdamienwilde. Электронная почта: [email protected]
Любимое снаряжение Дэмиена Уайлда
Google Пиксель 6
Часы Samsung Galaxy 5 Pro
kroger-floral-delivery — Googlesuche
AlleShoppingMapsBilderVideosNewsBücher
suchoptionen
Доставка цветов — Kroger
www.kroger.com › Поиск: доставка цветов
Найдите доставку цветов в ближайший к вам магазин. Заказывайте доставку цветов онлайн на самовывоз или с доставкой. Найдите ингредиенты, рецепты, купоны и многое другое.
Цветы и цветочные композиции — Kroger
www.kroger.com › flower
Приобретайте красивые свежесрезанные цветы в цветочном отделе. Найдите смешанные букеты, композиции в магазине, подарки и корзины с фруктами и многое другое.
Папоротники и уличные цветы · Букеты · Свежесрезанные розы · Горшечные растения
Цветочный отдел — Kroger
www.kroger.com › Цветочный
Покупайте в нашем цветочном отделе в Kroger. Купите такие товары, как Bloom Haus™ Dozen Rose Bunch — Red, чтобы забрать их из магазина, с доставкой на дом или создать свой шоппинг …
Цветочные композиции в отделе цветов — Kroger
www.kroger.com › Цветочные › Цветочные композиции
Приобретите цветочные композиции в нашем цветочном отделе Kroger. Покупайте такие продукты, как Bloom Haus™ Dozen Rose Bunch — Red, для самовывоза в магазине, …
Kroger.com — Цветы — Справочник флористов FTD
www. ftdfloristsonline.com › kroger
Когда вам нужна доставка цветов в любую точку США, Kroger здесь для вас. У нас есть замечательный ассортимент цветов, роз, растений и подарков.
Kroger.com — Цветы — Каталог флористов FTD
www.ftdfloristsonline.com › kroger › our_guarantee
Kroger — Заказ цветов с доставкой в тот же день в Цинциннати, Огайо, 45202. … заказ отправлен через The Kroger Family Магазинов и сети FTD по доставке …
Цветочные товары в Kroger — Instacart
www.instacart.com › Kroger
Заказать Цветочные товары с доставкой или самовывозом из Kroger. Загрузите приложение Instacart прямо сейчас, чтобы получать продукты, алкоголь, товары для дома и многое другое с доставкой по …
Kroger запускает доставку цветов по запросу на DoorDash
theproducenews.com
14.12.2022 · Kroger Co. запустила доставку цветов и суши на торговой площадке DoorDash из баннерных магазинов по всей стране.