Хилшейд: во-первых, это красиво

Добавили на карты 2ГИС тень и свет, чтобы подчеркнуть рельеф местности. Теперь кажется, что так было всегда (и трудно представить, как было до)! Тем не менее, раньше горы, леса и равнины визуально ничем не отличались друг от друга: один и тот же светло-зелёный.

Хилшейд: во-первых, это красиво

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

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

Мы взяли данные JAXA — Японского агентства аэрокосмических исследований. Почти во всех случаях их собирает спутник, летающий вокруг Земли. Такой способ позволяет собрать информацию о всей планете, но при этом допускает большое количество ошибок. Например, спутник может решить, что высокие дома или густой лес — это горы, а на заснеженных областях может, наоборот, горы не заметить. Именно поэтому внутри у нас принято разделять понятия «цифровая модель рельефа» и «цифровая модель местности» Земли — технически хилшейд всё-таки отображает поверхность, не рельеф. «Не нужно всё воспринимать как горы», − говорит наш ведущий программист веб-карт.

Цифровая модель местности (зелёная линия) — то, что мы используем для хилшейда. Цифровая модель рельефа (синяя линия) — то, что мы строим на карте с учётом точек, которые лежат непосредственно на земле)
Цифровая модель местности (зелёная линия) — то, что мы используем для хилшейда. Цифровая модель рельефа (синяя линия) — то, что мы строим на карте с учётом точек, которые лежат непосредственно на земле)

Ошибки данных со спутника негативно влияют на карту, поэтому мы скрываем отображение высот при сильном приближении. При просмотре «на отдалении» хорошо читаются крупные формы рельефа: горы, лощины, русла рек:

Хилшейд: во-первых, это красиво

В приближении видны мелкие формы рельефа, которые спутник может выделить ошибочно (например, принять за гору здание или дерево):

Хилшейд: во-первых, это красиво

Базовые настройки

Освещение поверхности создаётся с помощью источника света (конечно, гипотетического). Интересно, что его нужно поместить в северо-западный (верхний левый) угол карты, чтобы тень отбрасывалась на нижнюю часть объекта (например, горы). Если разместить свет в другом месте, человеческий глаз может воспринять горы как дыры, и никакой объёмной картинки не сложится.

Хилшейд вычисляет освещенность поверхности на основе заданного направления компаса на солнце и определённой высоты над горизонтом.

Тонкие настройки

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

С помощью такой несложной механики внешний вид карты сильно преображается.

Кроме несомненной красоты, карта с рельефом увеличивает информативность в разы. Посмотрим на кусочек туристического Алтая в обычном, «плоском» отображении:

Хилшейд: во-первых, это красиво

А теперь — преображение!

Хилшейд: во-первых, это красиво

Благодаря хилшейду видно, что небольшие речки на Алтае текут ровно вдоль гор, огибая их точно у подножья. Мы понимаем, что увидим на тропе вдоль реки — где будет высокая гора, где подгорье, а где равнина.

Планировать поездки и пешие маршруты так гораздо приятней.

Сейчас рельеф доступен на всех платформах.

358358
205 комментариев

Из читаемой карты сделали нечитаемую, зато "красивую".
У меня ощущение что картографические сервисы борются за звание самого неудобного. И у них неплохо получается. Яндекс удаляет границы чтобы всех запутать, Гугл прячет ж/д пути и играется с контрастностью чтобы надо было вглядываться в экран в попытках разглядеть белые дороги на светло-зеленом фоне. 2гис добавляет мусора в виде рельефа и прячет тропинки. Все молодцы!
На вашем же примере в Лосином острове - вы не показываете тропинки и дороги, которые очень нужно показывать тем, кто читает карту. Но при этом зачем-то сделали никому не нужный рельеф для красоты.
Какая польза от этого? Никакой! Как по карте без тропинок планировать пешие маршруты? Вы прикалываетесь про "так гораздо приятней"?
Если действительно стоит задача показать подъемы - нужен отдельный слой с замкнутыми линиями рельефа через каждые 10 метров - тогда будет польза.
Если руки чешутся - берите пример с OSM и их рецептами карт для разных задач.
И стоит серьезно поработать с детализацией и вернуть то, что пропало с карты. Иначе толку от ваших карт приблизительно ноль.

133

Я наконец-то нашел человека, который может решить все проблемы человечества. Но он пока не готов, надо таксовать.

103

Комментарий недоступен

85

Тропинки — крутая и полезная штука. Мы их постоянно добавляем по мере возможности. Уверен, что и на Лосином они появятся. Но хиллшейд совсем никак не аффектит на их появление.

Более того, мы учитываем перепады высот при построении маршрутов для вело и самокатов. И тут хиллшейд помогает увидеть эти перепады.

34

Живу в горной местности, рельеф очень нужен.

36

Тогда 2ГИС можно подумать над вариантом кнопочки «отключить хилшейд», если подтвердится, что это многим неудобно и будет целесообразно.

17

Не согласен, на самом деле. Возможно, в реалиях ЦФО еще может быть, а вот там где реально горная местность - удобно очень, ориентироваться гораздо проще.

13