GeoMixer и TileMill
Краткий обзор совместной работы в TileMill и Geomixer
TileMill – средство для создания базовых подложек веб-карт. TileMill представляет собой бесплатную свободную оболочку для создания стилей подложек веб-карт. От аналогов ее отличает более быстрая работа, интуитивный интерфейс и возможность контролировать результат непосредственно в окне программы.
Скачать установщик последней версии программы можно по ссылке с официального сайта.
Предлагаемый ниже мануал раскрывает возможности использования TileMill для подготовки подложек, которые могут быть использованы для Веб-ГИС Scanex Geomixer. Ознакомиться с официальным руководством к программе и FAQ можно по ссылке. Также расширенное пособие по началу работы в TileMill доступно в статье на Gis Lab.
Работа с TileMill
Установка TileMill
Установка программы возможна при подключении к Интернет на ОС Windows XP,7,8, MacOS, Ubuntu. После завершения установки в случае использования proxy-сервера рекомендуется выставить его настройки в меню Settings программы.
Создание проекта карты
При создании рабочего проекта (вкладка Projects) в открывшемся окне предлагается задать название файла проекта, название проекта, описание, а также выбрать формат изображения. Дополнительно можно включить опцию использования базовых границ стран мира для ориентирования на карте (слои подгружаются с сервера MapBox).
В результате будет создан новый чистый проект для дальнейшей работы с картой.Параллельно будет создан файловый каталог вашего проекта по типу: C:\Users\UserName\Documents\MapBox\project\primer. В этом каталоге помимо файла проекта будет находиться файл стилевого оформления карты в формате .mss.
Добавление слоев в проект
Для создания своей карты необходимо добавить в проект необходимые данные. TileMill на сегодня поддерживает следующие форматы:
- CSV
- ESRI Shape file
- GeoJSON
- GeoTIFF
- SQLite
- PostGIS
Чтобы добавить слой, в окне проекта, нажмите на кнопку управления слоями и нажмите на Add layer.
Вам предложат выбрать источник данных (база данных в сети или отдельный файл на локальном компьютере), указать имя (ID) вашего слоя, а также имя класса объекта, которое должно быть уникальным для слоя. В случае добавления данных из БД, например PostGIS, необходимо настроить подключение по схеме:
dbname=… host=… user=… password=…
Кроме того потребуется ввести в поле Table of subquen able or subquery значение выборки из базы данных по схеме:
(select [поле таблицы] from [название файла] where [поле таблицы]=[значение] *или [поле таблицы] in (‘значение1’,’значение2’,…))as [ID].
По умолчанию проекция вашего проекта Web-Mercator (EPSG:3857), но для размещения данных на Geomixer она не подходит, т.к. Веб-ГИС использует проекцию World Mercator (EPSG:3395). И соответственно исходные данные будут автоматически переконвертированы в проекцию TileMill.
Чтобы этого избежать, необходимо при добавлении слоя указать проекцию (SRS) 900913 Web Mercator. Таким образом, мы побуждаем программу считать, что она получает файл в проекции Web Mercator, в то время как исходная проекция остается World Mercator и конвертация не происходит.
После настройки слоя можно нажать на Save или Save&Style в случае, если необходимо чтобы TileMill автоматически прописал произвольный стиль вашим данным. Обратите внимание, что добавленный слой отобразился в дереве слоев, где всегда можно произвести настройку его свойств. Порядок слоев соответствует порядку отображения объектов на карте.
Настройка стиля карты
Если при добавлении слоя вы нажали Save&Style, то можно заметить, что в текстовом поле окна проекта появилась запись стиля. Стиль в TileMill записывается на языке CartoCSS. В общем приближении запись стиля слоя выглядит так:
.Название класса или слоя [выборка] { стиль }
пример
.land [zoom>0][name=’North America’] { line-color:#444; line-width:0.4; polygon-opacity:1; polygon-fill:#fff;
}
Для удобства выборок в стиле можно просмотреть атрибутивную таблицу добавленного слоя.
Все операторы CartoCSS можно посмотреть в специальной справке в окне программы.
Редактор CartoCSS по своей сути является текстовым редактором, а файлы стиля с разрешением .mss можно редактировать отдельно в прочих текстовых программах. В конечном итоге вы получите оформленную карту-подложку.
Экспорт карты
Вы можете произвести различные операции экспорта с готовым стилем карты:
- Экспорт в отдельные форматы данных (png, svg, pdf)
- Экспорт стиля в Mapnik XML
- Экспорт в MBTiles
Нас в первую очередь интересует последний вариант. MBTiles - это пакет тайлов вашей карты, формируемый TileMill. Эти тайлы можно использовать для загрузки и последующей их визуализации в Geomixer.
Окно экспорта предлагает следующие настройки:
- Имя, описание, атрибуты и версия вашей карты
- Название файла пакета тайлов
- Уровни зума для тайлинга (ползунок от 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.
ArcGIS и GeoMixer
Компания Arc2Earth совместно с MapBox добавили в функциональные возможности модуля к программе ArcGIS Arc2Earth инструмент создания тайлов проекта ArcMap в формате .mbtiles. Для того чтобы воспользоваться новой возможностью достаточно скачать модуль с сайта разработчика.
Программа является платной, но позволяет в демонстрационном режиме ознакомиться со своим функционалом. На результирующие тайлы в таком случае будет наложена лицензионная метка Arc2Earth.
Модуль автоматически встраивается в окно ArcMap вашего проекта и в всплывающем меню Export достаточно выбрать пункт Create Map Tiles. В появившемся окне можно настроить параметры создания тайлов карты:
- Уровни «зума»
- Формат тайлов
- Место хранения
- Границу маски
- Прозрачность тайлов
- Разрешение тайлов
- Сглаживание текста и др.
Дополнительно можно выбрать пункт загрузки результата на сервера MapBox.
Если карта проекта уже разбита на масштабные уровни, то при создании тайлов это будет учтено. Результат в формате .mbtiles достаточно преобразовать через программу CopyTiles в формат, поддерживаемый Geomixer для отображения на пользовательском веб-сервисе.