2015-10-28 10 views
6

Я немного смущен о плитки в MapBox. Как я понял, плитка - это небольшая карта карты, как в головоломке.MapBox MB Tile vs Vector Tile

MBTiles - это изображения, но они подключены к базе данных для чтения данных, позволяющих взаимодействовать. Поэтому, если я перемещаю мышь, я могу показать детали слоев под курсором.

Vector Tiles хранить все данные в векторах, и они просто используются для быстрой визуализации изображения. Взаимодействие с такими данными невозможно.

Я не прав?

Теперь я вижу, что есть инструмент TileMill для MBTiles и MapBox Studio Classic для векторных плиток. Я предполагаю, что они предназначены для разных целей, первый для интерактивных карт, последний для быстрого рендеринга. Итак .... почему TileMill not anymore supported, в пользу MBStudio? Возможно ли с помощью MBStudio сделать интерактивные карты?

Спасибо

ответ

16

Это отличный вопрос!

mbtile - это тип файла, который может содержать либо растровые, либо векторные фрагменты. Подумайте об этом, как файл Adobe Illustrator .ai - он может содержать векторные или растровые данные. Растровая плитка и векторные плитки могут быть в формате mbtile.

С помощью TileMill ваши векторные данные (шейп-файл, CSV и т. Д.) Были объединены с вашим стилем CartoCSS и переданы Mapnik для создания кучи черепичных изображений. Затем вы можете сохранить свои плитки и отправить их на веб-карту через сервер плитки. С помощью Mapbox Studio Classic вы конвертируете свои данные в векторные плитки и создаете стиль CartoCSS для стилизации данных, но плитки изображения не создаются до тех пор, пока карта не будет запрашиваться через браузер. В конечном счете, выход на карте тот же - сетка растровых фрагментов.

Интерактивность, которую вы создали в TileMill с растровой черепицей, происходит через UTFGrid. Это невидимый растровый слой, который находится под изображениями и добавляет интерактивность в определенные места. Интерактивность фактически не связана ни с какими-либо отдельными функциями - она ​​находится в том же месте, что и ваши функции. Это также возможно в Mapbox Studio Classic, так как вывод на карте также будет сеткой растровых фрагментов. Вы можете узнать больше о том, как это сделать в Mapbox Studio Classic в style quickstart guide.

Чтобы ответить на ваш вопрос, переход к Mapbox Studio Classic должен был использовать векторные плитки. Они намного меньше, чем растровые изображения, и их можно стилизовать «на лету», поэтому, например, вам не нужно хранить два отдельных набора изображений для размещения экранов сетчатки. Это также означает, что вы можете иметь несколько стилей, применяемых к тем же векторным данным «на лету», а это значит, что вам не нужно восстанавливать целый набор изображений для каждого стиля или каждого небольшого изменения.

+1

Возможно ли добавить такую ​​интерактивность в несколько слоев в одном стиле-проекте?Или я должен создать несколько стилей, каждый с его интерактивным UTFGrid, и добавить их на карту в виде отдельных слоев? – DeLac

+0

FWIW, спецификация 'mbtiles' (начиная с записи - v1.2) поддерживает только растровые данные. Но есть распространенная привычка игнорировать спецификацию. и набивка векторных данных там. Данные обычно представляют собой форму застегнутых на квадратные скобки векторных плит. – Mohan

0

Если таблица метаданных содержит формат записи = pbf, то mbtiles - это векторные плитки, а не растровые. mbtiles База данных SQLite может быть контейнером для векторных плит, которые имеют в таблице Tiles и tile_data blob-поле PBF -Protocol Buffers - protobuf (https://github.com/google/protobuf - нейтральный нейтральный механизм нейтральной платформы для сериализации структурированных данных). Разработка Google. Такие инструменты, как MapBox Studio, строят векторные плитки из векторных данных GIS и базы данных

 Смежные вопросы

  • Нет связанных вопросов^_^