Подготовка карт, пригодных для печати
В этой статье описывается процедура подготовки пригодных для печати географических карт. Будет показано, как на карту наносить дополнительную информацию о положении УИК и других объектов.
Для работы будем использовать QGIS. QGIS — это геоинформационная система (ГИС), то есть программа для обработки географических карт и наносимых на них дополнительных данных; при этом сами карты могут быть получены из различных источников. QGIS существует в версиях для различных платформ (Linux и другие разновидности Unix, MacOS X, Windows и Android), имеет открытый код и распространяется бесплатно.
В качестве картографической основы мы будем использовать карты Openstreetmap, являющиеся полностью свободными для пользования.
Установка QGIS[]
Скачиваем и устанавливаем свежий QGIS. На этом этапе никаких сложностей быть не должно.
Исходные данные[]
Скачиваем данные OpenStreetMap для региона, карту которого собираемся распечатать. Отсюда можно сразу скачать архив с готовым проектом для QGIS. Для любознательных вот тут дано описание представленных данных. Скачанный архив нужно распаковать и открыть в QGIS файл qgis-mapnik.qgs
.
Более контрастную и пригодную для печати цветовую схему можно скачать отсюда. Для её использования нужно скачать файл qgis-veloroad.qgs в директорию с QGIS проектом и открыть его.
|
Теперь нужно загрузить в QGIS информацию о положении УИК и органов власти. Их можно взять в формате KML из Наблы со страницы соответствующей избирательной кампании. Координаты УИК можно также взять со странички экспорта проекта УИК ГЕО.
Данные из KML файла добавляются в проект как отдельный векторный слой. Если используются данные из проекта УИК ГЕО, то открывать нужно файл vrt, который находится в скачанном архиве.
В QGIS 2.4 и 2.6 сломана поддержка vrt (bug #11223). Нужно пользоваться QGIS 2.2 или преобразовать vrt файл в shp файл с помощью QGIS или командой
ogr2ogr -lco ENCODING=UTF-8 -f "ESRI Shapefile" file.shp file.vrt и потом использовать shp файл вместо vrt файла |
Если в дальнейшем планируется корректировать положение УИК, то слой данных с положениями УИК нужно пересохранить в виде shape-файла.
Подготовка макета[]
Макет карты создается из QGIS с помощью пункта меню Проект → Создать макет. В открывшемся окне выбираем Правка → Добавить карту и задаем область на листе, где будет располагаться карта. С помощью пункта меню Правка → Переместить содержимое уточняем охват территории.
В рамках одного проекта можно создать несколько макетов.
Стили отображения[]
Теперь нужно настроить стиль отображения разных слоев
УИКи и органы власти[]
Открываем окно свойств слоя
- В разделе Стиль устанавливаем в качестве маркера для УИК черный квадрат, а для органов власти — черный треугольник
- В разделе Подписи отмечаем Подписывать объекты значениями поля
Если координаты УИКов и органов власти взяты из KML файла с наблы со странички соответствующей избирательной кампании, то в качестве выражения для подписи задаем regexp_substr("Name" , '.*\\s+(.*)')
Если координаты УИК берутся из проекта УИК ГЕО, то необходимо задать диапазон отображаемых УИК с помощью фильтра, который выглядит примерно так "number_official" = 'NNNN' OR ("number_official" >= 'NMIN' AND "number_official" <= 'NMAX')
,
а в качестве выражения для подписи задаем "number_official"
- В разделе Подписи-Текст устанавливаем полужирное начертание для шрифта
- В разделе Подписи-Буфер устанавливаем толщину буфера в 1.5мм (толщина обводки) и светло-серый цвет
- В разделе Подписи-Размещение задаем отступ величиной 1мм
- В разделе Подписи-Отрисовка требуем показывать все подписи, даже если они перекрываются
Населенные пункты[]
Удобно сделать так, чтобы название населенных пунктов отображалось при любом масштабе. Для этого в свойствах точечного слоя Населенные пункты в разделе Подписи-Отрисовка нужно снять галочку Видимость в пределах масштаба
Автодороги[]
- На мелких масштабах на карте могут не отображаться дороги местного значения. Нужно убедиться, что все дороги, которые могут использоваться для подъезда к УИКу отображаются на карте. Масштаб, при котором автодорога отображается на карте, задается в разделе Стиль. Может быть полезным изменить масштабы для дорог типа 'residential' и 'unclassified'.
- Чтобы пересечения дорог на карте выглядели более аккуратными нужно проделать процедуру, которая описана вот тут.
Экспорт карт[]
Чтобы изменение стилей было видно на макете нужно на панели Свойства элемента нажать кнопку обновить. Теперь можно сохранить приготовленную карту в растровом формате, PDF или SVG.
Пример карты, подготовленной по этой инструкции, можно увидеть по ссылке.
Полезные советы[]
- Если на карте необходимо отобразить территории нескольких регионов, то нужно скачать данные по всей стране и вырезать нужный кусок.
for FILE in *.shp; do ogr2ogr -lco ENCODING=UTF-8 -clipsrc 41.4 46.4 41.6 46.6 output_folder/$FILE $FILE; done