Немного о красоте векторных карт — Разработка на vc.ru
Если после прочтения заголовка вы подумали о контурных картах или новых банковских карточках, то разочарую вас. Пост о возможностях и плюсах векторных карт городов.
6327 просмотров
Растр, «псевдо 3D» и вектор
Крупные сервисы предлагают API как растровых, так и векторных карт.
Самая простая растровая карта — изображение, на котором нельзя ничего кликнуть и узнать дополнительную информацию. Такая карта подойдёт для распечатывания на листовках или на сайтах и в сервисах, где не требуется интерактивность.
Ещё бывает «псевдо-вектор» — когда на сервере из 3D-графики рендерятся растровые картинки-тайлы, которые отправляются пользователю. Благодаря привязке к координатам и JS-cкриптам, на этой карте можно кликать на объекты, чтобы узнать дополнительную информацию. Но на таких картах нельзя изменить угол наклона, повернуть их, настроить плавные перелёты и красивую анимацию.
Но всё это и
И если карта входит в основные пользовательские сценарии сервиса, а красота и удобство играют важную роль — векторные карты подходят лучше растра.
Один из вариантов визуализации векторных карт лежит в технологии WebGL. Он сложнее в разработке, но его возможности в прямом смысле позволяют крутить карту, как захочется. WebGL использует ресурсы видеокарты и позволяет быстро рисовать трёхмерные объекты из JavaScript’a прямо в браузере. Из-за этого карта плавнее меняет масштаб, смещается и позволяет создавать объекты, которые можно рассмотреть со всех сторон.
Мы в 2ГИС начали переходить на вектор в 2015 году. Сначала выпустили навигацию по Этажам, а позже и весь 2gis.ru для десктопов перевели на вектор. Сейчас же, мы считаем наши векторные карты, предоставляемые по JS API, одними из самых детальных для России и СНГ.
Где использовать
Кроме очевидной красоты, WebGL решает в кейсах, когда необходимо вынести дополнительную информацию — пины, цены, POI, полигоны или полилинии. При их большом количестве WebGL работает заметно быстрее.
API позволяет использовать карту в вебе и в мобильных приложениях во всех городах 2ГИС. Например, мы делали 3D-аркаду для браузера — писали о ней на Хабре. Если же говорить о сферах бизнеса, то самое очевидное, где такая карта принесёт пользу — это доставки и логистические компании, банки и компании с большой филиальной сетью.
Одними из первых нашу карту встроил в приложение сервис «Самокат»:
Чтобы красота карты не была просто для красоты, мы добавили инструменты для решения бизнес-задач: расставлять, подписывать и кластеризовать пины, отрисовывать свою геометрию, строить маршруты и ещё много разного.
Подробнее о настройках внешнего вида. В векторных картах можно настраивать мельчайшие детали: грани здания сделать одним цветом, а сам объект залить другим.
В ближайшее время мы покажем веб-редактор стилей, в котором можно адаптировать карты под ваши сервисы: настраивать цветовые схемы, выставлять нужные акценты, добавлять свои POI и многое другое.
Если хотите первыми узнать о релизе редактора стилей карты — напишите на [email protected].
Растровые и векторные карты. Что это такое и в чём их отличие?
Всех приветствую! Вот и началась у нас настоящая осень. Холодно, льют дожди, а за окном темно уже чуть ли не в 6 вечера. А это значит, что настало время начинать писать о теории копа и картографии. Как раз о последнем в этой статье и пойдёт речь.
Рассмотрим растровые и векторные карты, их понятия, отличия и полезность для кладоискателя в поисках монеток и прочей старины. Ну что, поехали.
Растровые карты
Это такие карты, которые представляют собой цифровые изображения с привязкой к координатам. Обычно, они отсканированы и загружены в наши устройства, по которым мы смотрим дорогу к точкам копа или ищем места для поиска. Обычно, это топографическая карта генштаба, план генерального межевания (хотя практического смысла в их привязке я не вижу) или спутниковые снимки. Такую карту можно привязать даже своими руками, скачав изображение в сети или оцифровав бумажную карту из любого атласа.
Компьютер, навигатор или смартфон со специальной картографической программой не смогут распознать на таких картах отдельные объекты. К примеру, дороги, реки, населённые пункты. Всё это распознаётся софтом как набор пикселей, как у обычной картинки. В силу этого ни одна программа не сможет осуществить по таким картам динамическую навигацию: прокладка маршрутов, расчёт расстояний, и прочее. Это всё делать можно только вручную.
Изображения карт имеют довольно большой размер, которые серьёзно нагружают процессор устройства, ведь работа с изображениями требует довольно мощного технического оснащения. У меня при работе с картами Озик вылетал даже на планшете Samsung Galaxy Note 10,1, хотя он имеет четырёхъядерный процессор и 2 гб оперативной памяти.
Векторные карты
В отличие от растровых, это карты, состоящие не из пикселей, а из набора объектов, будь то дома, точки, дороги и прочее, а также информацию об их местоположении. Тут можно привести такие примеры, как «Яндекс. Карты», «Навител» или «Garmin». Обычно, на копе они используются лишь для того, чтобы по трассе добраться до какого-нибудь опорного пункта за городом, где переключаются уже на растровые карты.
Такие карты создать самостоятельно очень сложно и проблематично, однако существует огромное количество сервисов. Как платных, так и бесплатных. Ими удобно пользоваться в городах или на трассе, но никак не в полях и лесах, где не отмечено множество нужных нам объектов: грунтовые дороги, заброшенные населённые пункты. То есть, «вектор» отображает лишь современное состояние местности, к тому же упуская многие детали.
Векторные карты имеют намного меньший вес и не требуют высоких вычислительных мощностей навигационного оборудования. Программа лишь «раскидывает» географические объекты на экране компьютера или навигатора в нужных местах, не прогружая миллионы пикселей.
Что лучше?
Как я уже и писал выше, у растровых и векторных карт свои функции. Вторые использует огромное количество людей для быстрой и удобной навигации по населённым пунктам. Те же самые таксисты. Приложения со встроенными картами можно установить практически на каждый телефон и легко смотреть дорогу к интересуемым адресам. Но Большинство программных продуктов требует подключение к интернету.
Некогда бумажными картами, переведенными в «цифру» уже пользуются туристы, кладоискатели, рыбаки и охотники. Их серьёзнейшее достоинство — они работают офф-лайн, даже при полном отсутствии связи. Нужно лишь соединение со спутниками. Я и сам являюсь активным пользователем как одного, так и другого типа карт. Растровые карты для копа я смотрю на телефоне под управлением Android в приложении OziExplorer, а вот для векторных хватает и айфона.
В чем разница и какие лучше?
Растр быстрее, но вектор корректнее!
Вы когда-нибудь слышали эту фразу, обсуждая, следует ли использовать растровые или векторные данные для визуализации слоев (например, демографии, финансов, мобильности людей) или объектов реального мира (например, домов, дорог, деревьев, рек) в науке о пространственных данных? Помимо несовершенного английского, действительно ли вектор является корректором?
В этом посте мы рассмотрим ключевые различия между этими двумя типами пространственных данных и обсудим, когда уместно использовать тот или иной. Однако сначала давайте определим, что мы имеем в виду, говоря о пространственных данных как о растровых или векторных.
Растровые данные
Растровые данные представляют собой матрицу пикселей, также называемых ячейками во многом так же, как при работе с электронными таблицами. Они часто имеют квадратную форму и расположены через равные промежутки, но не обязательно. Представьте себе ходьбу по полю, разделенному на сетку квадратов, где каждый квадрат представляет значение, которое может быть дискретным (например, тип почвы) или непрерывным (например, высота над уровнем моря).
Растровые данные могут быть добавлены в качестве базовой карты на платформу CARTO, которая по умолчанию использует векторную графику для отображения карты.
Векторные данные
Вместо того, чтобы работать с матрицей ячеек, векторные данные хранят основные геометрические формы (состоящие из одной или нескольких взаимосвязанных вершин) с тремя типами ключей:
- Точки — одна вершина, например дом.
- Линии — две или более вершин, где первая и последняя вершины не равны, напр. дорога.
- Многоугольники — три или более вершин, последняя вершина которых равна первой, например граница.
Ниже мы можем видеть векторные данные (в частности, многоугольники, представляющие эволюцию контуров зданий Манхэттена с течением времени) на карте, созданной с помощью CARTO VL.
Векторные данные полностью поддерживаются платформой CARTO, поскольку Location Intelligence опирается на способность анализировать и визуализировать данные в таком формате.
Хотите попробовать сами?
Создайте бесплатную учетную запись
Преимущества и недостатки
Преимущества | ||
---|---|---|
Растр | Алгебра карт с растровыми данными обычно выполняется быстро и легко Некоторые конкретные варианты использования могут быть достигнуты только с растровыми данными (например, моделирование потока воды над поверхностью земли) | Линейные объекты и траектории трудно отобразить С учетом пиксельного внешнего вида Наборы данных могут стать очень большими, поскольку они записывают значения для каждой ячейки |
Вектор | Графический вывод, как правило, более эстетичен Более высокая географическая точность, поскольку данные не зависят от размера сетки | Непрерывные данные плохо хранятся и отображаются Требуется много работы и технического обслуживания для обеспечения точности и надежности |
Варианты использования
При работе с растровыми или векторными данными в сфере пространственного анализа, конечно, существует множество вариантов использования, которые можно использовать, но, как уже упоминалось, есть конкретные случаи, когда имеет смысл использовать одно над другим.
Например, из-за характера сбора растр часто является единственным выбором при работе с данными дистанционного зондирования, снятыми камерами на самолетах или спутниках. Пространственное разрешение таких данных будет определяться возможностями датчика, используемого для получения изображения, поэтому при использовании низкого разрешения оно может выглядеть пиксельным.
Изображение ниже, которое можно ошибочно принять за слой векторных данных, представляет собой спутниковый снимок сельскохозяйственных угодий в округе Хаскелл, штат Канзас.
Сила векторных данных становится очевидной, когда мы начинаем переходить от простого вопроса, где что-то происходит, к тому, почему. Это настоящий пространственный анализ, который позволяет нам получить более глубокое понимание данных по мере того, как ГИС эволюционирует в науку о пространственных данных. Вот некоторые вопросы, на которые можно ответить, используя векторные данные:
- Какая связь между транзакциями по кредитным картам и данными из социальных сетей?
- В каких городах мы видим самый высокий спрос на нашу продукцию?
- Где оптимальное расположение у тротуара?
- Как я могу оптимизировать свою цепочку поставок?
Что лучше?
Как мы видели, существуют разные варианты использования растровых или векторных данных. Многие будут приводить страстные аргументы, превознося достоинства одного или другого, но, к счастью, поскольку растр можно преобразовать в вектор и наоборот, нет необходимости выбирать что-то одно. Существует даже новое поколение данных, которое обладает одними из лучших характеристик обоих типов данных.
Пространственные индексы
Примечание: Этот раздел блога был обновлен в январе 2023 года.
Пространственные индексы — это глобальные сетки, в этом смысле они очень похожи на растровые данные. Однако они во многом похожи на векторные данные; каждая «ячейка» в сетке представляет собой отдельный объект, который можно опросить. Их можно использовать как для векторного анализа (например, бегущие пересечения и пространственные соединения), так и для растрового анализа (например, анализ наклона или горячих точек).
Но в чем они действительно преуспевают, так это в их размере и скорости последующей обработки и анализа. Пространственные индексы «геолоцируются» с помощью ссылочной строки, а не длинного описания геометрии (например, векторных данных). Это делает их маленькими и быстрыми. В настоящее время многие организации используют преимущества пространственных индексов для эффективного анализа действительно больших пространственных данных. Узнайте больше об этом в нашей электронной книге Пространственные индексы 101.
Знакомство с векторными плитками | Тайлсеты
Знакомство с векторными плитками | Наборы плиток | MapboxAll docschevron-rightTilesetschevron-rightarrow-leftGuideschevron-rightВведение в векторные плитки
Векторные плитки позволяют быстро создавать огромные карты, предлагая при этом полную гибкость дизайна. Формат векторных листов представляет собой эквивалент векторных данных фрагментов растровых изображений для веб-картографирования с сильными сторонами мозаичного изображения: оптимизирован для кэширования, масштабирования и быстрого обслуживания картографических изображений.
В этом руководстве описывается, как векторные листы работают на веб-картах.
Традиционно карты создаются из фрагментов изображений. Как, например, эта плитка изображения PNG, изображающая угол нижнего Манхэттена с дорогами, контурами зданий и парками:
Чтобы получить базовые данные векторной плитки, составляющие это изображение, вы можете запросить их конкретно:
http://a .tiles.mapbox.com/v4/mapbox.mapbox-streets-v8/14/4823/6160.mvt?access_token=ВАШ_MAPBOX_ACCESS_TOKEN
Как следует из названия, векторные листы содержат векторные данные вместо визуализированного изображения. Они содержат геометрию и метаданные, такие как названия дорог, географические названия, номера домов, в компактном структурированном формате. Векторные плитки отображаются только по запросу клиента, например веб-браузера или мобильного приложения. Рендеринг происходит либо в клиенте (Mapbox GL JS, Mapbox iOS SDK, Mapbox Android SDK), либо динамически на сервере (map API). Прочтите спецификацию векторных плиток Mapbox, чтобы узнать больше.
Дополнительную информацию о том, как работают стили карты, см. в руководстве по дизайну карты. Все наши стили карты шаблона создаются с использованием некоторой комбинации наших наборов фрагментов Mapbox, которые описаны ниже. —>
Векторные плитки имеют несколько важных преимуществ по сравнению с плитками с полностью отрендеренными изображениями:
Динамический стиль . Как векторы, листы могут быть оформлены по запросу, что позволяет использовать множество стилей карты для глобальных данных. Используя Mapbox GL JS или SDK Mapbox Maps для Android и iOS, вы можете динамически настраивать внешний вид своей карты, не загружая новые фрагменты.