Как стать автором
Поиск
Написать публикацию
Обновить
20.18

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

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

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

Решение задачи коммивояжера (TSP) в реальных приложениях

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

Образовательные программы компьютерных наук и информатики обязательно включают курс алгоритмов, это элегантные решения сложных проблем. Например, одна из самых интересных проблем комбинаторной оптимизации — задача коммивояжёра (TSP, travelling salesman problem). Суть в поиске самого выгодного маршрута, проходящего через указанные точки ровно по одному разу. Сложность задачи при точном решении брутфорсом составляет O(n!). И для неё тоже придумано несколько элегантных алгоритмов. Хотя поиск самого эффективного продолжается до сих пор.

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

Читать далее

Новости

Типы прокси: как выбрать подходящий инструмент для своей задачи

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

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

Читать далее

Как мы учимся решать одну из самых сложных задач в метеорологии — прогнозирование количества осадков по часам

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

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

Если бы меня попросили назвать слово, которое лучше всего подходит для прогноза осадков, я бы с уверенностью выбрал «сложность». В осадках она подстерегает нас всюду: от способов прогнозирования до оценки качества полученного прогноза. Потому в научных статьях про нейросетевой прогноз погоды (GraphCast, Pangu Weather, Aurora и т. д.) осадки или совсем не участвуют, или прогнозируются раз в 6 часов без упоминания о метриках. Либо же создаётся локальная модель под регион (например, MetNet для США).

В Яндекс Погоде мы используем множество ML‑моделей в рамках наших технологий прогноза Метеум и OmniCast, постоянно их улучшаем и постепенно заменяем на более продвинутые, повышая качество прогноза для наших пользователей. Недавно мы научились прогнозировать грозы, а до этого — улучшили прогноз температуры за счёт использования пользовательских метеостанций.

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

Читать далее

Типы прокси: как выбрать подходящий инструмент для своей задачи

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

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

Читать далее

Геоданные VS медицина. На чем строить ГИС анализ в здравоохранении в 2025 году?

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

Геоаналитика VS медицина: могут ли карты спасать жизни людям?

COVID-19 научил нас главному: болезни распространяются не по документам, а по реальным улицам и домам. Геоаналитика — это не только про картинки, но и про задачи. Я 5 лет превращаю медицинский хаос в цифры и карты — и вот что я понял и решил поделиться с Хабром.

Почему так — читаем

Интерактивная карта Республики Коми с отображением социально-экономических показателей

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

Делюсь опытом как я сделал интерактивную карту Республики Коми: от QGIS и D3.js до графиков и API Wikidata. Карта визуализирует социально‑экономические показатели районов и населённых пунктов, поддерживает масштабирование, позволяет переключать слои, выбирать тёмную и светлую темы, а также получать справочную информацию об объектах.

Читать далее

Интеграция Flutter Mobile SDK в ОС Аврора

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

Аврора — это отечественная мобильная ОС, развиваемая компанией «Открытая мобильная платформа». Она построена на базе Linux и унаследовала часть решений от Sailfish OS, но за последние годы превратилась в самостоятельную, зрелую платформу. Пятая версия, вышедшая в 2024 году, ориентирована не только на корпоративный сектор, но и на массового пользователя. В ней — переработанный интерфейс, поддержка планшетов, 64-битная архитектура, повышенная устойчивость и растущая экосистема приложений.

И вот в эту экосистему мы решили встроить наш Flutter Mobile SDK. В этой статье мы — тимлид Mobile SDK в 2ГИС Александр Максимовский и Flutter-разработчик @Sameri11 Михаил Новосельцев — расскажем про технические детали адаптации.

Читать далее

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

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

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

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

Читать 👉

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее

Earcut на битах

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

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