GeoMixer и TileMill

Материал из GIS-Lab
Перейти к навигации Перейти к поиску

Краткий обзор совместной работы в TileMill и GeoMixer

TileMill представляет собой бесплатную свободную оболочку для создания стилей подложек веб-карт. От аналогов ее отличает более быстрая работа, интуитивный интерфейс и возможность контролировать результат непосредственно в окне программы.

Скачать установщик последней версии программы можно по ссылке с официального сайта.

Ознакомиться с официальными сведениями о программе TileMill можно по ссылке. Также расширенное пособие по началу работы в программе доступно в статье на Gis Lab.

Предлагаемое ниже руководство раскрывает возможности использования TileMill для подготовки подложек, которые могут быть использованы в Веб-ГИС Scanex GeoMixer. GeoMixer Web-GIS - это технология для работы с геоданными в интернет/интранет сетях, разрабатываемая в ИТЦ "СканЭкс". Относится к условно-бесплатным продуктам. C помощью GeoMixer можно легко и быстро опубликовать собственные данные на веб-сервисе, предоставить к ним доступ для совместной работы неограниченному числу пользователей. Подробнее о возможностях технологии написано в тематической статье.


Работа с TileMill

Установка TileMill

Установка программы возможна при подключении к Интернет на ОС Windows XP,7,8, MacOS, Ubuntu. После завершения установки в случае использования proxy-сервера рекомендуется выставить его настройки в меню Settings программы.

Создание проекта карты

При создании рабочего проекта (вкладка Projects) в открывшемся окне предлагается задать название файла проекта, название проекта, описание, а также выбрать формат изображения. Дополнительно можно включить опцию использования базовых границ стран мира для ориентирования на карте (слои подгружаются с сервера MapBox).

Geomixer tm1.jpg

В результате будет создан новый проект для дальнейшей работы с картой.Параллельно будет создан файловый каталог вашего проекта по типу: C:\Users\UserName\Documents\MapBox\project\primer. В этом каталоге помимо файла проекта будет находиться файл стилевого оформления карты в формате .mss.

Добавление слоев в проект

Для создания своей карты необходимо добавить в проект необходимые данные. TileMill на сегодня поддерживает следующие форматы:

  • CSV
  • ESRI Shape file
  • GeoJSON
  • GeoTIFF
  • SQLite
  • PostGIS

Чтобы добавить слой, в окне проекта, нажмите на кнопку управления слоями и нажмите на Add layer.

Geomixer tm2.jpg

Вам предложат выбрать источник данных (база данных в сети или отдельный файл на локальном компьютере), указать имя (ID) вашего слоя, а также имя класса объекта, которое должно быть уникальным для слоя. В случае добавления данных из БД, например PostGIS, необходимо настроить подключение по схеме:

dbname=… host=… user=… password=…

Кроме того потребуется ввести в поле Table of subquen able or subquery значение выборки из базы данных по схеме:

(select [поле таблицы] from [название файла] where [поле таблицы]=[значение] *или [поле таблицы] in (‘значение1’,’значение2’,…))as [ID].

Geomixer tm3.jpg

По умолчанию проекция вашего проекта Web-Mercator (EPSG:3857), но для размещения данных на GeoMixer она не подходит, т.к. Веб-ГИС использует проекцию World Mercator (EPSG:3395). И соответственно исходные данные будут автоматически переконвертированы в проекцию TileMill.

Чтобы этого избежать, необходимо при добавлении слоя указать проекцию (SRS) 900913 Web Mercator. Таким образом, мы побуждаем программу считать, что она получает файл в проекции Web Mercator, в то время как исходная проекция остается World Mercator и конвертация не происходит.

После настройки слоя можно нажать на Save или Save&Style в случае, если необходимо чтобы TileMill автоматически прописал произвольный стиль вашим данным. Обратите внимание, что добавленный слой отобразился в дереве слоев, где всегда можно произвести настройку его свойств. Порядок слоев соответствует порядку отображения объектов на карте.

Geomixer tm4.png

Настройка стиля карты

Если при добавлении слоя вы нажали Save&Style, то можно заметить, что в текстовом поле окна проекта появилась запись стиля. Стиль в TileMill записывается на языке CartoCSS. В общем приближении запись стиля слоя выглядит так:

.Название класса или слоя [выборка] { стиль }

пример

.land [zoom>0][name=’North America’] { line-color:#444; line-width:0.4; polygon-opacity:1; polygon-fill:#fff;

}

Для удобства выборок в стиле можно просмотреть атрибутивную таблицу добавленного слоя.

Geomixer tm5.jpg

Все операторы CartoCSS можно посмотреть в специальной справке в окне программы.

Geomixer tm6.jpg

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

Heomixer tm7.jpg

Экспорт карты

Вы можете произвести различные операции экспорта с готовым стилем карты:

  • Экспорт в отдельные форматы данных (png, svg, pdf)
  • Экспорт стиля в Mapnik XML
  • Экспорт в .mbtiles

Нас в первую очередь интересует последний вариант. Файл с расширением .mbtiles - это пакет тайлов вашей карты, формируемый TileMill. Эти тайлы можно использовать для загрузки и последующей их визуализации в GeoMixer.

Geomixer tm8.jpg

Окно экспорта предлагает следующие настройки:

  • Имя, описание, атрибуты и версия вашей карты
  • Название файла пакета тайлов
  • Уровни зума для тайлинга (ползунок от 0 до 22)
  • Центр карты
  • Границы тайлинга (Shift+перетягивание окна позволяет изменять визуально границы тайлинга)
  • Размер MetaTile

После настроек в папке Export вашего каталога с проектом образуется файл с разрешением .mbtiles, содержащий результат вашей работы.


.mbtiles и GeoMixer

Созданные тайлы карты в формате .mbtiles легко и удобно преобразовать в формат, поддерживаемый GeoMixer. Для этого требуется воспользоваться утилитой CopyTiles, входящей в комплект набора инструментов Tiling Tools

Утилита позволяет проводить различные операции с тайлами и вызывается через командную строку. Синтаксис вызова (выделены обязательные параметры):

CopyTiles [-from] [-to] [-border] [-zooms] [-tile_type] [-proj] [-src_template] [-dest_template destination]

  • Жирным текстом обозначены обязательные поля

Параметры:

  • -from – путь к входной директории или контейнеру
  • -to – путь для записи тайлов: директория или контейнер
  • -border – векторный файл с границей. Граница должна быть задана в виде полигона. Копируются все тайлы, пересекающиеся с заданным полигоном
  • -zooms – номера зумов
  • -tile_type - тип входных тайлов (надо указывать, если на вход директория с тайлами). Возможные значения: jpg, png, tif
  • -proj - проекция тайлов: 0 - World_Mercator (EPSG:3395), 1 - Web_Mercator/Pseudo_Mercator (EPSG:3857)
  • -src_template - шаблон имени входных тайлов (если на вход директория тайлов)
  • -dest_template - шаблон имени выходных тайлов (если на запись директория тайлов)

Примеры:

copytiles -from C:\oldtiles.tiles -to C:\newtiles -dest_template standard

copytiles -from C:\oldtiles -to C:\newtiles.tiles -src_template standard

copytiles -from C:\oldtiles -to C:\newtiles.tiles -src_template standard -border C:\border.shp -zooms 0-17

Geomixer tm9.png

Полученные результирующие тайлы достаточно загрузить в пользовательский проект на GeoMixer.



ArcGIS и GeoMixer

Компания Arc2Earth совместно с MapBox добавили в функциональные возможности модуля к программе ArcGIS Arc2Earth инструмент создания тайлов проекта ArcMap в формате .mbtiles. Для того чтобы воспользоваться новой возможностью достаточно скачать модуль с сайта разработчика.

Программа является платной, но позволяет в демонстрационном режиме ознакомиться со своим функционалом. На результирующие тайлы в таком случае будет наложена лицензионная метка Arc2Earth.

Модуль автоматически встраивается в окно ArcMap вашего проекта и в всплывающем меню Export достаточно выбрать пункт Create Map Tiles. В появившемся окне можно настроить параметры создания тайлов карты:

  • Уровни «зума»
  • Формат тайлов
  • Место хранения
  • Границу маски
  • Прозрачность тайлов
  • Разрешение тайлов
  • Сглаживание текста и др.

Дополнительно можно выбрать пункт загрузки результата на сервера MapBox.

Geomixer tm10.png

Если карта проекта уже разбита на масштабные уровни, то при создании тайлов это будет учтено. Результат в формате .mbtiles достаточно преобразовать через программу CopyTiles в формат, поддерживаемый Geomixer для отображения на пользовательском веб-сервисе.

Geomixer tm11.png


Заключение

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

Интеграция Веб-ГИС GeoMixer с новейшими веяниями в веб-картографической среде в виде TileMill как раз является таким примером и позволяет упростить и предоставить любому пользователю возможность быстро и качественно создавать свои подложки карт.


Ссылки