Недавно мы запустили офлайн карты для Apple Watch. Проект занял более 2 лет и потребовал огромного внимания со стороны нашей небольшой команды энтузиастов. Мы столкнулись с таким количеством продуктовых и технических сложностей, что просто не может не поделиться этим с вами. Вот наша история.
Геоинформационные сервисы *
Карты и геотеггинг в вебе
Новости
Как хранить сеть дорог в БД для построения маршрута?
Японцы уже в 2018 году научили немецкий GraphHopper строить маршруты по дорогам хранящимся в PostgreSQL.
Как кастомизировать источник данных, и сохранять новые дороги в таблицу правильно?
Переход на Metal
Мы закончили регрессионное тестирование и со дня на день собираемся начать раскатывать на бой релиз с включенным Metal. Зачем мы это делаем и как всё происходит — рассказываем в статье.
Причина первая: уход на пенсию OpenGL для iOS/OSX. В 2018 году Apple объявили, что прекращают поддержку этого графического API, и это только вопрос времени, когда они удалят его из своих операционок и запретят выкладывать в App Store приложения, использующие GLES (OpenGL for Embedded Systems — подмножество API OpenGL для встроенных систем, например, мобильных устройств). А кому надо впопыхах интегрировать незнакомый API? Правильно, никому. Плюс, нет-нет да и случаются какие-то неприятные падения где-то под капотом OpenGL, починка которых сводится к мольбам, что очередной точечный фикс кода всё исправит.
Храним отметки высот в XYZ tiles
Цифровые модели поверхности и рельефа (ЦМП/ЦМР) – являются важной и неотъемлемой составляющей геоинформационных систем (ГИС). Они являются источником высотной информации и решают задачу определения высоты Z в указанной точке с координатами XY на местности. ЦМП и ЦМР могут быть как регулярными, так и нерегулярными (чаще всего их делят по формату хранения высотных отметок (растровые и векторные). Растровые ЦМП/ЦМР чаще всего поставляются в виде геопривязанного растра с типом пиксельных значений позволяющих хранить дробные отрицательные числа (32-bit float). Повсеместная реализация и внедрение информационных сервисов (прежде всего онлайн), делает необходимым отображение пользователям высотной информации в интерактивном режиме (определение Z при перемещении курсора XY) и ставит перед разработчиком задачу донесения этой информации. Если в случае с векторными данными, мы можем отобразить высотный пикет в координатах XY и показать записанный ему атрибут Z, то с растровыми (регулярными) моделями высот такое не выйдет, иначе мы должны хранить атрибут на каждый пиксель нашего растра (так никто не делает) или быть готовыми его рассчитать и вернуть пользователю с сервера. В принципе, эта задача решена показом на растровых тайлах высотных отметок или горизонталей в виде рисунка, но такой способ отображения высот не интерактивен и несет лишнюю нагрузку на картографическую составляющую тайлов.
Залогиниться из России через Турцию — без VPN. Обновление геолокаций IP с помощью Geofeed
Как часто бывает: заходите на сайт, а он вас прогоняет, якобы вы из другой страны?
Ситуация неприятная как для пользователя, так и для интернет-провайдера — нужно поднимать базу IP-адресов и смотреть, где указана неактуальная геолокация.
На вебинаре Selectel Network Meetup 4 сетевой инженер Никита Степанов рассказал, как починить географию пользователей и автоматически обновлять геолокацию IP-адресов. Подробности под катом.
Дисклеймер: название Eevee вымышленное, любые совпадения с реальными компаниями случайны.
Ускоряем разработку: автоматический перевод C++ в Swift. Часть II
В первой статье рассказали, почему нам потребовалась автоматическая кодогенерация свифтового интерфейса для C++ в Mobile SDK. Описали инструменты, которые есть в нашем распоряжении, и сделали вывод: лучший промежуточный слой для преобразования на сегодняшний день — это C.
Во второй части рассказываем о собственном инструменте, который поддерживает и Swift, и Kotlin — мы называем его Codegen (да :)).
Заблуждения программистов о картах
Дизайн систем быстро выявляет ошибки в восприятии закономерностей функционирования мира. Те правила, которые кажутся непреложными истинами, могут ими не оказаться.
Списки подобных заблуждений составлялись про имена или телефонные номера. Настало время карт и систем навигации.
Заблуждение 1. Форма Земли — это просто
Шар — множество точек в пространстве, удалённых от центра на расстояние не выше радиуса. Однако хотя бы из-за суточного вращения форма нашей планеты отличается от идеального шара. Планета сплюснута у полюсов и утолщена на экваторе, а также обладает рельефом и испытывает циклы приливов и отливов.
Умная подсказка в навигаторе: что могло пойти не так
Это история о том, что подсказка умная, а мы — нет :))
Рассказываем, как мы планировали сделать всё быстро и просто, а получилось как всегда не так. Но мы справились, хоть и не сразу. Речь пойдёт о навигаторе 2ГИС: пользователи строят в нём маршруты и приезжают, куда планировали. Это навело нас на мысль, что хорошо бы предугадывать желание пользователя — предлагать точку назначения и строить маршрут сразу, как только он открыл приложение. Например, пользователь-отец только подумал, что пора забирать ребёнка из детского сада, открыл 2ГИС, а мы ему — готовый маршрут с учётом пробок.
Нужен простенький алгоритм!
Цифровизация в сельском хозяйстве
В данной серии статей я постараюсь рассказать про большую часть тех вещей, которые присутствуют в цифровизации сельского хозяйства.
Эти статьи предназначены для людей, которым интересна тема агрономии. Возможно вы студент, или уже опытный фермер, в любом случае найдёте для себя что-нибудь интересное или новое. Моя задача объяснить не совсем понятные вещи простым языком.
Как фермеру узнать состояние своих полей по NDVI?
В данной статье я не буду вдаваться в подробности теории, предполагаю, что вы знаете для чего нужен этот индекс. Моя задача - показать, как вам можно его получить.
J.A.R.V.I.S. и помидорки
Моё детство прошло в деревне. С юных лет я познавал таинства выращивания картохи и сооружения чучел из консервных банок.
Для меня оказалось открытием, что автоматические комбайны, убиравшие поля кукурузы в Интерстелларе, бороздят вполне реальные поля. А системы автоматического отслеживания здоровья растений с push-уведомлениями для фермеров и другие элементы кибер-деревни становятся обыденностью.
Прагматичная разработка-3: телеграм-бот
Финальная часть разработки простого проекта про specialty-кофейни на Кипре. В первой части я рассказал про API микросервис, во второй - про фронтэнд-сайт и теперь - про телеграм-бота.
Создание и наполнение PostGIS при использовании Docker
Пошаговая инструкция о том, как установить и использовать расширение PostGIS для PostgreSQL в Docker.
Включает в себя: установка и настройка Docker-контейнера, загрузка данных в базу данных, извлечение и визуализация данных, анализ геоданных с помощью PostGIS функционала.
Из вагона направо: как работают подсказки 2ГИС
Весной мы добавили новую подсказку о том, в какую сторону выходить из вагона метро. Меня зовут Влад, я программист С++, и на примере этой подсказки хочу рассказать, из чего состоит жизненный цикл релиза новых фич в 2ГИС. И сколько всего происходит, когда добавляешь — казалось бы — небольшую новую строку с текстом.
Прагматичная разработка
Недавно выдалось свободное время и я сделал простой проект про specialty-кофейни на Кипре: сайт и телеграм-бот по всем канонам "большой" разработки. Люблю хороший кофе 😊
Делюсь своим процессом разработки и рекомендациями как сделать всё задуманное без потери времени.
Необъявленные санкции от Google-панорам
Внезапно оказалось, что новые панорамы Google Street View не отображаются пользователям и даже не показываются самим авторам, если они 1) загружены после 24 февраля 2) сняты на территории России
Как люди помогают технологиям в Яндекс Картах
Я Данис Гаязов из внутреннего сервиса Crowd, команды полевого краудсорсинга. Полевого, потому что мы работаем «в поле», то есть не в офисе. Сегодня по случаю запуска я расскажу, зачем Картам пешеходы и как они помогали и помогают делать сервисы более полезными.
Результат работы пешехода на заре проекта схем ТЦ
Как определить строительные площадки на Земле, используя только данные с орбитальных аппаратов
На этом видео показаны долгосрочные изменения, которые можно увидеть при помощи Google Earth. Этот покадровый отчёт о почти 40-летнем развитии Дубая, Лас-Вегаса, Сингапура и Шанхая основан на архивных снимках, сделанных в период, когда велось крупномасштабное строительство.
Но как насчёт автоматического обнаружения крупных строительных проектов по мере их реализации в любой точке Земли, не имея данных, когда и где может появиться тот или иной небоскрёб или крупная военная база? Это не так то просто. И это работа научно-исследовательского агентства разведывательного сообщества под названием Intelligence Advanced Research Projects Activity (IARPA), которое пытается сделать гигантский скачок вперёд с помощью программы, получившей название SMART. Программа Smart поставила сложную задачу: определить строительные площадки на Земле, используя только данные с орбитальных аппаратов.
Я проехал на односкоростном велосипеде 270 км за сутки, чтобы показать атлетам: набор высоты — это условность
🔥 Пару дней назад я совершил суточный велопоход в 270 км по методичке с целями...
Вклад авторов
-
marks 1043.0 -
ruASG 765.2 -
alizar 710.3 -
Sildream 692.2 -
jetfreeman 687.0 -
legrus 531.0 -
itsar 524.0 -
sereje4kin 435.0 -
JediPhilosopher 417.0 -
vovalog 417.0