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

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

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

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

Earcut на битах

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

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

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

Новости

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

Меня зовут Александр Максимовский, и я тимлид команды 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.6K

Введение

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

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

Читать далее

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

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

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

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение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 мин
Количество просмотров77K

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

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

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

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

Как я за год написал шесть больших научных статей и несколько маленьких

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

Без «литературных негров» и чатГПТ — личный рассказ об инструментах, технологиях и приёмах, которые помогли мне не вылететь из аспирантуры и догнать коллег. Открытые данные, Python, R, RMarkdown, Quarto, git и немного ИИ в помощь исследователю.

Читать далее

Полигональная оптимизация вывода точек треков перемещения объектов

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

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

Большое количество точек в треках перемещения объектов мониторинга может негативно сказываться на производительности системы и вызывать сложности с интерпретацией этих данных конечными пользователями. Всем привет, меня зовут Дмитрий Чернышов, работаю в команде Visitech, и сегодня я расскажу, как мы оптимизировали вывод треков объектов мониторинга.

Читать далее

Автомашинист. Навигатор для локомотива

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров4.7K
Приветствую всех!
Все мы знаем, что во время движения поезда машинисту следует учитывать кучу параметров вроде профиля пути, временных ограничений скорости, опасных мест и тому подобного. И было бы странно, если бы до сих пор не была придумана система, позволяющая информировать его об этом. Как оказалось, такая штука действительно есть, и мне удалось заполучить на опыты один экземпляр.



Итак, сегодня поговорим про такую штуку как система информирования машиниста. Заодно запустим её, посмотрим на девайс в работе, а также узнаем, что ещё умеет этот блок. Как водится, будет много интересного.
Читать дальше →

Магия персональных рекомендаций, или как нейросеть Яндекс Карт подбирает места под интересы пользователей

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

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

Меня зовут Владимир Жуков, я руководитель группы магии рекомендаций Карт (да, это официальное название), и в этой статье я расскажу, чем наша рекомендательная система отличается от технологий других сервисов, по каким метрикам мы измеряем её качество и как обучаем нейросеть находить тот самый ресторан, музей или парк, который надолго останется фаворитом.

Читать далее
1
23 ...