Как стать автором
Обновить
52.26

Геоинформационные сервисы *

Карты и геотеггинг в вебе

Сначала показывать
Порог рейтинга
Уровень сложности

Продакты в Китае: как мы искали вдохновение для 2ГИС в стране, где навигация — это искусство

Время на прочтение7 мин
Количество просмотров2.5K

В работе продакт-менеджера важную роль играет Product Discovery — процесс, в котором мы формируем понимание пользовательских потребностей, проверяем гипотезы и находим точки роста для продукта. Один из нестандартных способов углубить это понимание — выйти за пределы привычного рынка и погрузиться в другую среду.

В этом посте расскажем, как мы искали вдохновение и свежие идеи для 2ГИС в Китае. Мы съездили туда командой продактов и дизайнеров транспорта: изучили местные навигационные приложения, культуру и протестировали транспортные сценарии в их естественной среде обитания.

Читать 👉

Новости

Большие данные для карт в реальном времени. Inception

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров891

Возникла необходимость зафиксировать опыт с последнего проекта по прокачке производительности картографического сервиса. Так сказать, чтобы 2 раза не вставать при передаче опыта. И начнём с постановки, чтобы сразу определиться с аудиторией, кому мимо, а кому больше узнать как "прожевывать" и отображать на UI от 100К объектов в секунду и не лагать. Ну а кто-то вообще не в танке про картографические сервисы и хочет "на борт".

Что вас ждёт по катом.

1. MapTiler/Maplibre - картографический провайдер и UI фрэймворк для работы с ним.

2. Создание своих слоёв данных на карте.

3. Рендеринг большого объёма данных на WebGL/WebGPU. Начнём от 100К.

4. Оптимизация рендеринга с ручной подготовкой буферов для GPU.

5. Обновление данных слоя в realtime. Начнём молотить от 1M объектов.

6. Сериализация данных в ArrayBuffer для передачи напрямую в GPU.

Прокачать перформанс

Штрафуем рёбра: новая логика перестроения маршрутов в 2ГИС

Время на прочтение4 мин
Количество просмотров4K

Что, если навигатор перестанет упрямо твердить «Развернитесь!», когда  вы свернули с маршрута и предложит новый, более вам подходящий?

Изначально мы хотели решить этот конкретный кейс, ведь слишком прямолинейный алгоритм не допускал, что пользователь может намеренно выбрать другой путь, и всегда стоял на своём. Решать проблему начали с логики перестроения и реализовали алгоритм дискриминации маршрута. По сути, этот алгоритм научился строить маршруты, которые не были похожи на изначальный.

Узнать подробнее

Как мы научились прогнозировать грозы на карте осадков в Яндекс Погоде

Время на прочтение6 мин
Количество просмотров4.2K

Экстремальные погодные явления оказывают большое влияние на нашу жизнь. Это может проявляться в бытовых вещах, просто чтобы не попасть под сильный ливень или грозу. А ещё — в обеспечении бизнеса. Например, в прошлом году в Европе из‑за града погиб один из самых старых виноградников.

Именно поэтому мы решили улучшить наш прогноз экстремальных погодных явлений. Прежде всего мы сфокусировались на суперкраткосрочном прогнозе молний на карте осадков, также известной как наукаст, чтобы расширить нашу технологию прогнозирования погоды Meteum. Таким образом мы стали первыми в России, кто сделал карту наукаста гроз на ближайшие два часа с шагом 10 минут. Дело в том, что экстремальные погодные явления часто связаны с конвективными явлениями в атмосфере, которые сложно прогнозировать на долгий срок. То есть если в прогнозе есть гроза, то часто вместе с ней будет ожидаться сильный дождь и ветер, а в некоторых регионах и град.

Меня зовут Пётр Вытовтов. Я руководитель группы ML и качества прогноза в Яндекс Погоде. Сегодня я хочу рассказать вам о том, как мы добавляли прогноз молний в нашу модель наукаста с использованием данных со спутников, метеорологических радаров и применением трансформерных моделей.

Читать далее

Earcut на битах

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2.7K

Earcut - базовый, почти учебный алгоритм триангуляции, но при некоторых раскладах он обгоняет более "продвинутые" решения.

Ампутировать

Редизайн Яндекс Карт: почему мы перекрасили дороги

Уровень сложностиПростой
Время на прочтение16 мин
Количество просмотров81K

Не выразить словами, как волнительно и, чего уж там, страшно презентовать редизайн Яндекс Карт!

Работая над сервисом, которым ежедневно пользуются члены твоей семьи, репетитор по английскому, ребята из футбольной команды и ещё десятки миллионов человек, чувствуешь особую ответственность. Ведь при таких масштабах даже самое мелкое изменение влияет на опыт взаимодействия с картой огромного количества людей.

Угодить всем тяжело, так что отслеживание и пропуск через себя «болей» тех, кому наши изменения поломали привычки или просто пришлись не по вкусу, — не самая приятная, но важная часть нашей работы. Однако страх и желание любой ценой никого не обидеть способны парализовать, и порой надо быть смелым, чтобы внести изменения, необходимость которых уже назрела.

Сегодня мы обновили внешний вид Яндекс Карт. Одно из главных изменений затронуло отображение дорог: они обзавелись детальной разметкой и сменили привычный жёлтый цвет на серый — как в реальной жизни. Хочу рассказать о процессе поиска дизайн‑решений и раскрыть, почему были сделаны эти и другие изменения, а их в редизайне довольно много.

Читать далее

Как мы создали новую технологию маршрутизации для пешеходов и велосипедистов

Время на прочтение12 мин
Количество просмотров5K

Каждый день в Яндекс Картах строят миллионы пешеходных и велосипедных маршрутов. Несмотря на популярность, этот тип маршрутизации давно не менялся. В прошлом году мы решили его улучшить: проанализировали недостатки и узнали, что на самом деле нужно пользователям. Теперь мы готовы поделиться результатами крупного обновления наших маршрутов.

Меня зовут Антон Овчинкин, я руководитель разработки пешеходной и транспортной навигации в Картах. Я расскажу, как мы научили алгоритмы обходить промзоны, создали ML‑модель расчёта времени в пути с учётом светофоров и подъёмов, а ещё — как связана пешеходная маршрутизация и подсчёт калорий.

Читать далее

Теория мертвого 2GIS

Уровень сложностиПростой
Время на прочтение62 мин
Количество просмотров57K

Выбрали хороший ресторан (врача, СТО, юриста, риэлтора) по отзывам и высокому рейтингу в 2GIS, а оказалось, что там если не ужас-ужас-ужас, то как-то средне, явно не похоже на то, что вы бы ожидали от рейтинга 4.8 или даже 5 баллов. Знакомо?

Все знают, что в 2GIS могут быть накрученные фейковые отзывы (а их там всего 10-20 на весь город или там 99% фейковых? Есть ведь разница!), но не все умеют их легко опознавать. У 2gis, похоже, еще нет антифрода (что вполне нормально для пет-проекта, который делают веб-программисты в свободное время), но вы теперь можете различать ботов-зомби-инопланетян через мой антифрод af2gis, и выбирать себе те заведения, которые нравятся людям, а не ботам.

Статья будет длинная (она про все подряд о чем я думал и с чем разбирался последнее время), но тех, кто ее прочитает ждет фантастическая награда! Они смогут ходить в самые лучшие заведения города, их будут обслуживать самые красивые и шустрые официантки, еда будет очень вкусной, порции огромными и все это за довольно разумные деньги! Такие места есть, живые люди их любят и ставят им высокие оценки, а боты - любят другие заведения. Нужно только надеть волшебные очки чтобы увидеть, какие заведения хвалят люди, а какие - боты.

Прочитать и получить волшебные очки!

Нативная мощь: Flutter SDK на C++ ядре. Часть 2

Уровень сложностиСложный
Время на прочтение15 мин
Количество просмотров1.8K

На связи тимлид Mobile SDK в 2ГИС Александр Максимовский и Flutter-разработчик Михаил Новосельцев (@Sameri11). Наша команда разработала собственный продукт для генерации платформенного Dart-кода на базе публичного C++ API, и мы уже рассказали об основных принципах его работы.

Эта статья — про то, как на основе сырого сгенерированного кода реализовать SDK, готовый к внедрению в пользовательские Flutter-приложения.

Читать далее

Реализация self-hosted карт в закрытом контуре

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров1.8K

На связи разработчики продукта Аврора Центр компании Открытая мобильная платформа. Сегодня мы расскажем как реализовать сервис self-hosted карт в закрытом контуре.

Наша компания активно развивается и добавляет новый функционал в продукт по удалённому управлению устройствами — Аврора Центр (UEM-решение, которое позволяет управлять устройствами и жизненным циклом приложений на ОС Аврора, Android и Linux). Так по запросам заказчиков было решено добавить отображение геопозиции мобильного устройства на карте территории России. И вот перед нами встаёт задача по работе с картами в АЦ.

Читать далее

Еще чуть-чуть быстрее ищем кратчайший путь на Python

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4.2K

Привет! На связи команда геоаналитики ecom.tech, мы строим модели машинного обучения на основе пространственных данных для задач ритейла в реальном времени, а также создаем промежуточные инструменты на базе методов прикладной геоаналитики. На наших технологиях работает Самокат и Мегамаркет. 

Например, наша команда решает задачу поиска оптимального расположения даркстора (место, где хранятся продукты, а также собираются заказы). Зона покрытия даркстора — радиус в пару километров, и количество их постоянно увеличивается. Мы хотим уметь размещать новый даркстор так, чтобы как можно больше людей получали заказы за минимальное время доставки.

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

Читать далее

Нативная мощь: Flutter SDK на C++ ядре. Часть 1

Уровень сложностиСложный
Время на прочтение18 мин
Количество просмотров3.8K

Меня зовут Александр Максимовский, и я тимлид команды Mobile SDK в 2ГИС. Мы разрабатываем SDK — набор инструментов, который позволяет другим разработчикам внедрять наши технологии (карту, справочник, построение маршрутов и навигатор) в свои мобильные приложения. Благодаря нам можно быстро и удобно интегрировать функциональность 2ГИС, не тратя время на реализацию сложных решений с нуля. Мы сделали решение, которое позволяет из Flutter-приложения напрямую вызывать C++ код. Под капотом:

▪️ FFI для прямого взаимодействия с C++ кодом ядром;

▪️ Кодогенерируемое API почти полностью аналогично iOS и Android Mobile SDK;

▪️ TextureWidget вместо PlatformView для рендеринга карты;

▪️ Единые виджеты для отображения карты как для Android, так и для iOS.

Если вы работаете с Flutter, интегрируете карты или маршруты или просто любите разбираться в архитектуре SDK — эта статья для вас. Под катом детально рассказываю про основу продукта — кодогенератор для генерации платформенного Dart-кода на основе C++ интерфейсов.

Читать далее

Google Maps не знают, как работает адресация улиц

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров12K

Как-то я катался по Вернону в Британской Колумбии и попросил Google Maps построить маршрут до 3207 30th Ave, на что приложение с уверенностью сказало мне, куда ехать. Благо мой пассажир заметил, что по факту карта направила меня на 3207 34th Ave, то есть четырьмя кварталами севернее. Довольно странно.

Спустя несколько дней, мой кузен попросил меня (как бывшего сотрудника Google и самого головастого члена семьи) помочь ему разобраться с проблемой в Google Maps. Заключалась же проблема в том, что адрес 138 W 6th Ave в Ванкувере отображался в точку, находящуюся в 2,4 км (1,5 милях или 12 фарлонгах) от его фактического расположения.
Читать дальше →

Ближайшие события

Любое устройство BLE становится трекером AirTag без рута

Время на прочтение4 мин
Количество просмотров12K


Специалисты по безопасности разработали универсальный способ трекинга любых мобильных устройств через сеть «Локатор» (Apple FindMy) — с ведома или без ведома владельцев этих устройств. Метод обеспечивает точное определение координат, не используя GPS-навигацию и WiFi.

Система работает на любом устройстве с поддержкой Bluetooth Low Energy (BLE): на персональных компьютерах, ноутбуках, смартфонах и планшетах под управлением операционных систем Windows, Linux, Android и др. Требуется только установить приложение, которое будет выдавать себя за трекер AirTag в сети FindMy.
Читать дальше →

Сравнение нейросетей для создания ПО. Для сканирования хостов и поиска никнеймов

Время на прочтение21 мин
Количество просмотров3.7K

Введение

Приветствуем дорогих читателей! Начинаем рубрику посвящённую нейросетям и их применению в сфере ИБ. В этой статье мы сравним 3 самых популярных и одну малоизвестную ИИ в разработке скриптов для эффективного поиска никнеймов и сканирования хостов на уязвимости.

Дисклеймер: Все данные, предоставленные в статье, взяты из открытых источников. Не призывают к действию и предоставлены только для ознакомления и изучения механизмов используемых технологий.

Читать далее

Современный ситуационный центр: как автоматизировать необъятное

Время на прочтение6 мин
Количество просмотров4.3K

Ситуационный центр (СЦ) в классическом представлении — это специально оборудованное рабочее место, оснащенное средствами связи и отображения информации о мониторинге, результатов анализа, процессе оперативного реагирования ситуации. Ключевым компонентом является программный комплекс, собирающий и анализирующий данные из разных источников, автоматизирующий контроль предотвращения аварий и устранения их последствий.

Цель статьи — показать на примере энергетической отрасли, как внедрение таких технологий позволило автоматизировать разрозненные бизнес-процессы, повысить эффективность оперативного реагирования, а также улучшить качество оказываемых услуг. Будет представлен пример реализации базового функционала системы для энергетической отрасли. В дальнейшем планирую более детальное описание используемых технологий.

Читать далее

Интеграл, который не могли решить сто лет

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров55K

Интеграл sec(x) хорошо известен любому студенту, начавшему изучать математический анализ. Но когда-то этот интеграл был серьёзной математической задачей. Впервые она была сформулирована Герардом Меркатором, которому понадобилась для создания в 1569 году его знаменитой карты. Он не смог найти интеграл и использовал вместо него аппроксимацию. Точное решение было найдено случайно спустя 86 лет, в 1645 году, когда матанализа ещё не существовало. И потребовалось ещё два десятка лет для появления в 1668 году формального доказательства — 99 лет спустя после постановки этой задачи Меркатором.

Как справедливо отмечает комикс SMBC, история математики часто развивается не так уж прямолинейно. Студентам в аудиториях рутинно рассказывают о теоремах, формулах и нотациях, которые когда-то были результатами озарений или случайностей. В этом посте мы расскажем об одной из таких формул — интеграле секанса. Я прочитал о нём почти десяток лет назад, когда заинтересовался картографией: наукой и искусством составления карт1. Этот интеграл был критически важен для карты Меркатора, а потому и для многих использующих её онлайн-карт наподобие Apple Maps и Google Maps.

Читать далее

Обработка геоданных для ML-задач. Часть 3: агрегирование данных и оценка пространственных шаблонов

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров1.2K

Пространственное агрегирование помогает контролировать степень детализации данных в зависимости от пространственных характеристик отдельных записей. Эта операция может быть полезна, если вы хотите сравнить разные регионы по конкретному параметру, (например, плотность населения или динамика продаж), оценить значение признака на единицу площади (скажем, среднюю выручку магазинов на квадратный километр) или преобразовать набор точек в растровые пространственные данные.

Важно учитывать, что агрегирование упрощает анализ, но «схлопывает» внутреннюю вариативность данных, типа как усреднённая температура по больнице может скрывать локальные перегретые серверные. Существует, по крайней мере, три метода пространственного агрегирования...

Читать далее

Геотрекинг для сотрудников. «Как таксист, только по-другому»

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.4K

Эта тема родилась из случайной дискуссии с сотрудницей. Обсуждая наш сервис геомониторинга, она пыталась собрать преимущества воедино и вдруг неожиданно для себя озвучила, что это примерно, как у таксиста, только лучше. С точки зрения айтишника и разработчика самого приложения — это довольно бытовая и размытая формулировка, но с точки зрения пользователя это та суть, которая и кроется в сервисе для удалённого мониторинга мобильных и выездных групп сотрудников. А между тем дискуссия оказалась неслучайной — конечный пользователь всегда испытывает определённые опасения, связанные с корпоративным софтом. Возможности он оценивает чуть позже. 

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

Читать далее

Навигация без GPS, которая уже работает

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров78K

Мобильное приложение Transit определяет местоположение пассажира метро в 90% случаев, используя только данные акселерометра (вибрация смартфона)

Как известно, смартфон умеет определять своё местоположение внутри помещений, где нет сигнала со спутника. Достаточно просканировать окружающие точки доступа WiFi, координаты которых есть в базах Google и Apple. Есть и другие методы.

Но как вычислить координаты смартфона, если он вообще в офлайне, в режиме полного радиомолчания. Нет никаких сигналов, ни от Global Navigation Satellite System (сюда входят GPS и другие системы GNSS), ни WiFi, ничего.

Оказывается, в некоторых случаях координаты пользователя можно определить, имея информацию лишь от акселерометра.
Читать дальше →
1
23 ...

Вклад авторов