«Данный документ представляет собой перевод оригинального руководства пользователя Quantum GIS на русский язык. Программное обеспечение и аппаратные средства, описанные в этом документе, в большинстве случаев являются ...»
Функции fTools В таблицах с 10.4 до 10.8 перечислены функции, доступные в модуле fTools, включая краткое описание каждой функции. Для получения дополнительной информации об отдельных функциях fTools используйте пункт меню О программе fTools 10.6. Модуль fTools Измеряет расстояние между точками двух точечных слов и выдает результат в виде a) квадратной матрицы расМатрица расстояний стояний, b) линейной матрицы расстояний, или c) суммы Сумма расстояний в послоя в пределах каждого полигона другого (векторного полигонах Рассчитывает число точек точечного слоя, которые нахоКоличество точек в полидятся в пределах каждого полигона другого (векторного Отображает список всех уникальных значений для укаСписок уникальных зназанного поля атрибутивной таблицы исходного векторного Базовая статистика отклонение, количество, сумму, коэффициент вариации) Анализ близости сгруппированности точек в пределах точечного векторного Рассчитывает среднеарифметические или средневзвешенные координаты центра для целого векторного слоя или Рассчитывает местонахождения пересечений линий, создавая точечный шейп-файл с точками пересечений. ПоПересечения линий Случайная выборка в под- Случайно выбирает набор объектов с уникальными значемножествах нием указанного поля.
Выделяет объекты на основе их положения относительВыделение по районам но другого слоя, создавая новую выборку или добавляя/отнимая к/от текущей выборки.
Создает полигональный слой с единственным прямоугольПолигон из границ слоя ным полигоном в соответствии с границами исходного Инструменты геопроцессинга, доступные в модуле fTools Совмещает слои таким образом, что в выходном слое соОбъединение держатся как участки пересечения, так и участки, принадлежащие только одному из слоев.
Совмещает слои таким образом, что в выходном слое соСимметричная разность держатся только те участки, в которых исходные слои не Объединение по признаку Все объекты с одинаковым значением поля будут объединены в один объект.
Инструменты обработки геометрии, доступные в модуле fTools Экспортировать / добаXCOORD, YCOORD) для точечного слоя, (LENGTH) для Разбить составные объекмульти-полилинии) в несколько простых объектов (политы Объединить объекты в Объединяет несколько простых объектов в один составной Преобразовать полигоны Преобразует полигоны в линии, составные полигоны прев линии образует в несколько простых полилиний.
Таблица 10.7.: Инструменты обработки геометрии в fTools 10.6. Модуль fTools Инструменты управления данными, доступные в модуле fTools Экспорт в новую проек- Перепроецирует объекты в новую проекцию и экспортируцию ет в новый шейп-файл.
Задать текущую проек- Задает проекцию для шейп-файла, если ранее она не была таблице векторного слоя в виде DBF или CSV файла и соОбъединение атрибутов храняет результат в новый шейп-файл. Дополнительные Объединяет несколько шейп-файлов, находящихся в одОбъединение shapeной директории, в новый шейп-файл, основываясь на типе 10.7. Модуль GDAL Tools 10.7.1. Что такое GDAL Tools?
«GDAL Tools» — это модуль, предоставляющий графический интерфейс к набору инструментов Geospatial Data Abstraction Library, http://gdal.osgeo.org. В него входят инструменты, позволяющие работать с широким спектром растровых форматов: получать информацию о растрах, перепроецировать, объединять. Также включены инструменты для создания векторных слоев изолиний, получения отмывки рельефа на основе цифровой модели рельефа и создания виртуального растра VRT (Virtual Raster Tile в формате XML)) из набора растровых файлов. Все перечисленные инструменты становятся доступны, когда модуль установлен и загружен.
10.7.2. Библиотека GDAL Библиотека GDAL состоит из набора программ, работающих из командной строки, каждая с большим набором опций. Пользователи, которым комфортно работать в командной строке, могут предпочесть ее, в том числе из-за полного набора опций. Модуль «GDAL Tools» обеспечивает простой интерфейс к этим утилитам, но с ограниченным набором наиболее востребованных опций.
Создать виртуаль- Программа создает VRT (виртуальный набор данных), который представляет собой ный растр (ката- мозаику из исходных растров.
лог) Создать изолинии Программа создает векторный файл изолиний из исходного растра цифровой модели рельефа (ЦМР).
Растеризация Программа превращает векторный объекты (точечные, линейние и полигональные) в растровый слой (слои) существующего растра. Вектор может быть представлен в любом формате, поддерживаемом OGR. Обратите внимание, что векторный слой должен быть в той же системе координат, что и растр; перепроецирование «на лету»
Преобразовать в Программа преобразует пикселы в полигоны, объединяя в один полигон примыполигоны кающие пикселы с одинаковым значением. Для каждого полигона в атрибутивной таблице указано значение пикселов исходного растра. Программа создаст новый векторный файл или перезапишет имеющийся, по умолчанию используется формат Объединение Программа автоматически создает мозаику из набора растров. Все растры должны быть в одной системе координат и иметь одинаковое число каналов. Растры, тем не менее, могут иметь области перекрытия и разное пространственное разрешение.
В областях перекрытия растры, идущие последними в списке, будут перекрывать Отсеивание Скрипт gdal_sieve.py удаляет растровые полигоны размером меньше порогового (размер указывается в пикселах) и заменяет значения этих пикселей значением из наибольшего примыкающего растрового полигона. Результат может быть сохранен Карта близости Скрипт gdal_proximity.py создает растровую карту близости, которая показывает расстояние от центра каждого пиксела до центра ближайшего пиксела с указанными пользователем значениями. Целевые пикселы выбираются в том же самом растре.
10.7. Модуль GDAL Tools Сбросить в черный Программа анализирует изображение и попытается обозначить все пикселы, значения которых близки к совершенно черным (или совершенно белым)) и которые расположены вокруг совершенно черных (или белых) пикселей. Данная операция часто используется для «исправления» сжатых с потерями аэрофотоснимков, для того чтобы почти черные (или почти белые) пикселы могли быть интерпретированы как прозрачные (как пикселы «нет данных») при создании мозаик.
Трансформировать Утилита gdalwarp используется для перепроецирования растров и создания мозаик.
проекцию Программа перепроецирует растры в любую поддерживаемую проекцию, и может быть использована для трансформирования необработанного снимка с набором контрольных точек (GCP).
Интерполяция Программа строит растровый грид из доступных посредством OGR-источников данных. Исходные данные будут интерполированы для вычисления значений всех ячеек грида, и вы можете выбрать метод интерполяции из нескольких имеющихся.
Преобразование Утилита gdal_translate (преобразование форматов) может быть использована для форматов конвертации растров из одного формата в другой, с возможностью использования операций обрезки, пересчета или изменения разрешения в процессе преобразования.
Информация Программа показывает разнообразную информацию о растре любого формата, поддерживаемого GDAL.
Назначить проек- Инструмент предназначен для назначения проекции растровым файлам. Может рацию ботать либо в пофайловом режиме, либо в пакетном (в таком случае указанная проекция прописывается для всех растров, расположенных в исходной директории).
Поддерживаются все проекции, описанные в стандарте библиотеки PROJ.4. Если ваш растр имеет проекцию, которой нет в стандартном наборе, вам необходимо Построить пирами- Инструмент предназначен для построения пирамид в растрах. Алгоритм пересчета ды из исходного растра в слои пирамиды выбирается пользователем.
Обрезка Инструмент обрезает растр(ы), загруженный(е) в QGIS, по указанным пользователем координатам, и создает на выходе единый растр-мозаику аналогично инструменту «Объединение».
RGB в PCT Программа пересчитывает полноцветный растр (RGB) в изображение с индексированными цветами, используя обрезание по медиане для пересчета значений из RGB в индексированные. При конвертации используется дизеринг по методу Флойда– Стейнберга для улучшения качества конечного изображения.
PCT в RGB Программа пересчитывает растр в индексированных цветах в полноцветный растр 10.7.3. Примеры Ниже приведены несколько примеров использования инструментов из состава модуля.
Получение информации о растре Создание изолиний В данном примере будут построены изолинии на основе фрагмента данных SRTM. в результате получаем:
Использование инструмента «Трансформировать проекцию» для перепроецирования растра На скриншоте представлено диалоговое окно перепроецирования растра растительного покрова из исходной равноплощадной проекции Альберса для Аляски (из набора данных QGIS sample dataset) в географическую проекцию на эллипсоиде WGS-84 (Lon/Lat WGS-84) (EPSG:4326).
10.7. Модуль GDAL Tools 10.8. Модуль привязки растров 10.8. Модуль привязки растров Модуль привязки растров является инструментом создания файлов привязки для растровых изображений.
Он позволяет ссылаться на географическую или спроектированную систему координат путем создания нового файла формата GeoTiff или объединения файла привязки с существующим изображением. Основной подход в процессе привязки растров — это расположение точек на изображении, с которого вы можете точно снять их координаты.
Кнопки панели инструментов модуля Связать QGIS с модулем привязки Стандартная процедура Если имеются координаты X и Y (формате DMS (градусы, минуты, секунды), DD (десятичная запись) или спроектированные координаты (mmmm.mm)), соответствующие выбранной точке на изображении, возможно применение двух альтернативных процедур:
1. Иногда на самом растровом изображении координаты подписаны. В таком случае их можно ввести вручную.
2. Использование уже привязанных слоёв (векторных или растровых), содержащих те же самые объекты, которые есть на привязываемом изображении, а также проекции, подходящей для вашего изображения.
В таком случае, можно ввести координаты в набор опорных данных, загруженных в QGIS.
Стандартная процедура привязки растровых изображений подразумевает выбор множественных точек на растре, обозначение их координат или выбор соответствующего типа преобразования. Исходя из введённых параметров и данных, модуль вычислит параметры файла привязки. Чем больше координат будет введено, тем точнее будет результат.
Для начала нужно запустить QGIS, загрузить модуль привязки растров (см. Раздел 9.1.1), и нажать на Привязка растров, которая находится на панели инструментов QGIS. После этого появится иконку диалоговое окно модуля привязки растров, как показано на рисунке 10.18.
Для этого примера мы будем использовать топографическую карту участка штата Южной Дакоты (США), взятую с сайта Геологического Комитета Южной Дакоты. Позже она может быть показана вместе с данными области GRASS «spearfish60». Карту можно загрузить отсюда: http://grass.osgeo.org/sampledata/ spearfish_toposheet.tar.gz Ввод контрольных точек 1. Для того, чтобы начать привязку непривязанного растрового изображения, сначала нужно загрузить его, используя кнопку. Само растровое изображение появится в основном рабочем окне диалогового окна модуля. Как только растр загрузится, можно начинать ввод точек привязки.
2. Используя кнопку их координаты (см. Рисунок 10.19). Данную операцию можно проделать двумя путями:
a) Щелкнуть мышью по точке на растровом изображении и ввести координаты X и Y вручную.
b) Щелкнуть мышью по точке на растровом изображении и нажать кнопку чтобы добавить координаты X и Y с помощью привязанной карты, уже загруженной в QGIS.
10.8. Модуль привязки растров c) используя кнопку, можно перемещать созданные точки, если они расположенные не там, где 3. Продолжить ввод точек. Необходимо, как минимум, 4 точки, и чем больше координат можно ввести, тем точнее будет результат. В диалоговом окне модуля есть дополнительные инструменты для увеличения/уменьшения или прокрутки рабочего окна для того, чтобы определить соответствующий набор контрольных точек.
Точки, добавленные на карту, сохраняются в отдельный текстовый файл ([имя файла].points), обычно в одном каталоге с растровым изображением. Это дает возможность повторно загрузить модуль привязки растров позже и добавить новые точки или удалить существующие для получения лучшего результата. Файл с точками содержит значения формы: mapX, mapY, pixelX, pixelY. Можно использовать кнопки «Загрузить контрольные точки» и «Сохранить котрольные точки» для изменения этих файлов. Нажатием по заголовку колонки таблицы можно включить сортировку. Список точек будет обновлен автоматически.
Определение параметров трансформации После того, как контрольные точки добавлены на растровое изображение, необходимо определить параметры преобразования для привязки.
Рис. 10.20.: Определение параметров трансформации модуля привязки Доступные алгоритмы преобразования В зависимости от того, как много контрольных точек отмечено, можно использовать различные алгоритмы преобразования. Выбор необходимого алгоритма также зависит от типа и качества входных данных, а также величины геометрического искажения, вносимого в конечный результирующий файл.
На текущий момент доступны следующие алгоритмы:
– Линейный алгоритм применяется для создания файла привязки; его отличие от других алгоритмов заключается в том, что он фактически не изменяет сам растр. Этот алгоритм, скорее всего, не будет достаточным в случае, если вы работаете с отсканированным материалом.
– Трансформация Хельмерта совершает простые трансформации с изменением масштаба и вращением.
– Многокомпонентные алгоритмы 1-3 порядка являются наиболее широко используемыми алгоритмами привязки и каждый отличается друг от друга степенью искажения, внесенного для того, чтобы соответствовать исходнику, и целевыми контрольными точками. Самый применяемый многокомпонентный алгоритм — это трансформация второго порядка, которая допускает определённое искривление. Преобразование первого порядка (афинное) сохраняет коллинеарность и допускает только вращение, перевод и масштабирование.
– Алгоритм тонкостенного сплайна — более современный метод привязки, дающий возможность ввода в данные местных деформаций. Данный алгоритм очень полезен, когда необходимо привязать растры с низким качеством изображения.
Определение метода пересчёта Выбранный тип пересчёта будет, скорее всего, зависеть от исходных данных и конкретной цели операции. Если вы не желаете менять совокупную информацию изображения, вам, возможно, подойдет метод «ближайший сосед», тогда как кубический пересчет приведет к более сглаженному результату.
Вот пять различных методов пересчета.
1. Ближайший сосед 2. Линейный 3. Кубический 4. Кубический сплайн 5. Ланцоша Определение параметров трансформации Существует несколько параметров, которые необходимо определить для привязанного растра.
– Флаг Создать файл привязки становится доступным, если вы решили использовать тип линейной трансформации. Это означает, что растровое изображение фактически изменяться не будет. В таком случае, поле «Целевой растр» не активируется потому, что будет создан новый файл привязки.
– Для всех остальных типов трансформации нужно указать Целевой растр. По умолчанию, в каталоге с исходным растровым изображением будет создан новый файл ([имя файла]_modified).
– Следующим шагом будет определение Целевой системы координат для привязанного растра (см.
– По желанию можно Создать PDF-карту а также Создать PDF-отчет. Отчет содержит информацию об использованных параметрах трансформации, изображение невязки и список всех контрольных точек и их среднеквадратических ошибок.
– Кроме того, можно активировать флаг Задать целевое разрешение и определить пиксельное разрешение для выходного растра. По умолчанию разрешение по горизонтали и вертикали равно 1.
– Флаг Использовать 0 для прозрачности при необходимости может активироваться, если пиксели со значение 0 должны быть показаны прозрачными. В приведенном примере на топографической карте все белые области будут прозрачными.
когда трансформация завершена.
Show and adapt raster properties слоя.
Настройки модуля – скрыть или отобразить координаты точек и/или их идентификаторы.
– задать единицы отображения невязки (пиксели или в единицы карты).
– задать левое и правое поле для PDF-отчета, а также размер бумаги для PDF-карты.
– и, наконец, можно Запускать диалог привязки во встраиваемом окне.
10.9. Модуль GPS Запуск преобразования После того, как собраны все контрольные точки и заданы все параметры для трансформации, нажмите кнопку «Начать привязку», чтобы создать новый привязанный растр.
10.9. Модуль GPS 10.9.1. Что такое GPS?
GPS — система глобального позиционирования — это спутниковая система, позволяющая при наличии GPSприёмника определить свое точное местоположение в любой точке планеты. Используется в качестве вспомогательного устройства в навигации, к примеру, в самолетах, на кораблях и просто путешественниками. GPS приемник использует сигналы со спутников для просчёта широты, долготы и (иногда) высоты. Большинство приёмников также могут хранить точки (также известные, как маршрутные точки), последовательности точек, составляющих запланированный маршрут и лог трека или просто трек движения приемника на протяжении времени. Маршрутные точки, маршруты и треки являются тремя базовыми типами GPS данных. QGIS отображает маршрутные точки на точечных слоях, тогда как маршруты и треки показываются на линейных слоях.
10.9.2. Загрузка GPS данных из файла Существуют десятки различных форматов файлов для хранения GPS данных. Формат, используемый в QGIS, называется GPX (формат обмена данными GPS), являющийся стандартным обменным форматом, который может содержать любое количество маршрутных точек, маршрутов и треков в одном файле.
Для того, чтобы загрузить GPX файл, сначала нужно загрузить модуль «Инструменты GPS». Модули Управление модулями появится иконка с изображением GPS-устройства. В пробном наборе QGIS есть пример GPX-файла:
/qgis_sample_data/gps/national_monuments.gpx. См. Раздел 1.4 для более детальной информации о пробном наборе данных.
2. Используйте кнопку Обзор для перехода в каталог qgis_sample_data/gps/, выберите файл GPX national_monuments.gpx и нажмите кнопку Открыть.
Следует использовать кнопку... для того, чтобы выбрать файл GPX, затем установить флаги для выбора типов объектов, которые нужно загрузить из этого файла. Каждый тип объектов будет загружен в отдельный слой, как только вы нажмете кнопку OK. Файл national_monuments.gpx включает лишь маршрутные точки.
10.9.3. Программа GPSBabel Так как QGIS работает с файлами GPX, нужен способ конвертирования других форматов GPS файлов в GPX. Это возможно благодаря свободно распространяемой программе GPSBabel, которая доступна на сайте http://www.gpsbabel.org. Эта программа может также передавать данные GPS между компьютером и устройством GPS. QGIS использует GPSBabel для подобного рода операций, поэтому рекомендуется установить последнюю версию этой программы на ваш компьютер. Тем не менее, если нужно только загрузить данные GPS из файлов GPX, эта программа не понадобится. GPSBabel версии 1.2.3 совместима с QGIS, но использование более поздних версий не должно вызвать каких-либо сложностей.
10.9.4. Импортирование данных GPS Для того, чтобы импортировать данные GPS из файла, не являющегося файлом GPX, нужно перейти на вкладку Прочие файлы в диалоговом окне Инструменты GPS. Здесь можно выбрать файл для импортирования (а также тип файла), какой тип объектов нужно импортировать, куда нужно сохранить cконвертированный файл GPX и какое имя надо присвоить новому слою. Заметьте, что не все форматы данных GPS будут поддерживать три типа объектов, поэтому для многих форматов можно выбрать только один или два типа.
10.9.5. Загрузка данных GPS из устройства QGIS может использовать GPSBabel для непосредственной загрузки данных из устройства GPS в качестве новых векторных слоев. Для этого предназначена закладка Загрузка с GPS в диалоговом окне Инструменты GPS (см. Рисунок 10.22). Здесь выбирается тип устройства, порт, к которому оно подключено, тип объектов для загрузки, файл GPX, в который данные должны быть сохранены, а также название нового слоя.
Тип устройства, выбираемый в меню устройства GPS, определяет, как GPSBabel попытается соединиться с устройством. Если ни один тип из имеющихся не подходит вашему устройству, можно создать новый тип (см.
Раздел 10.9.7).
Порт может быть названием файла или каким-то другим названием, которое операционная система использует в качестве ссылки на физический порт в компьютере, к которому подключено устройство GPS. Это может быть обычный USB (для поддерживающих его устройств). В Linux таким может быть /dev/ttyS или /dev/ttyS1, а в Windows — COM1 или COM2.
После нажатия кнопки OK, данные загрузятся с устройства и появятся в QGIS в качестве слоя.
10.9.6. Выгрузка данных GPS в устройство Кроме того, можно загрузить данные из векторного слоя в QGIS непосредственно в устройство GPS, используя закладку Выгрузка в GPS диалогового окна Инструменты GPS. Чтобы сделать это, нужно 10.10. Модуль интерполяции просто выбрать слой для выгрузки (являющийся слоем GPX), тип устройства GPS и порт, к которому оно подключено. Так же, как и в инструменте загрузки из GPS, можно выбрать новые типы устройств, если ваше устройство отсутствует в списке.
Этот инструмент очень полезен при совместном использовании с инструментами редактирования векторных данных QGIS. Это дает возможность загрузить карту, создать маршрутные точки и маршруты, а затем выгрузить их в GPS навигатор.
10.9.7. Определение новых типов устройств Существует множество различных типов устройств GPS. Разработчики QGIS не могут протестировать их все, поэтому, если у вас одно из тех, что не работают ни с одним из типов устройств в списке в закладках Загрузка с GPS и Выгрузка в GPS, можно определить ваш собственный тип устройства. Сделать это можно, обратившись в редактору устройств GPS, который вызывается по нажатию кнопки Редактировать устройства в обеих закладках.
Для того, чтобы определить устройства, нужно просто нажать кнопку Создать, ввести название, команду загрузки и выгрузки для вашего устройства, а также нажать кнопку Обновить. Название появится в меню обеих закладок и может быть любой последовательностью символов. Командой загрузки является команда, используемая для загрузки данных из устройства в файл GPX. Скорее всего, это будет команда GPSBabel, но существует возможность использовать любую другую программу командной строки, которая может создавать файл GPX. QGIS заменит ключевые слова %type, %in и %out, когда команда будет запущена на выполнение.
%type будет заменено на “-w” в случае, если загружаются маршрутные точки, “-r”, если загружаются маршруты и “-t”, если загружаются треки. Эти параметры говорят GPSBabel, какой тип объектов загружать.
%in будет заменено на название порта, выбранного в окне «Загрузка с GPS» и %out заменится на название, выбранное для файла GPX, в котором будут сохраняться загруженные данные. Таким образом, если создается тип устройства с командой загрузки “gpsbabel %type -i garmin -o gpx %in %out” (это фактически команда загрузки для предопределённого типа устройств GPS-устройство: ), а затем используется для загрузки маршрутных точек через порт “/dev/ttyS0” с сохранением в файл “output.gpx”, QGIS заменит ключевые слова и запустит команду “gpsbabel -w -i garmin -o gpx /dev/ttyS0 output.gpx”.
Команда выгрузки — это команда, применяемая для выгрузки данных в устройство. В ней используются те же ключевые слова, однако %in уже заменяется на название файла GPX для выгруженного слоя, а %out — на название порта.
Более подробную информацию о программе GPSBabel и другие ее параметры запуска можно найти на сайте http://www.gpsbabel.org.
Как только новый тип устройства будет создан, он появится в списках устройств в обеих закладках окна Инструменты GPS — Загрузка с GPS и Выгрузка в GPS.
10.10. Модуль интерполяции Модуль интерполяции может использоваться для интерполяции точечного векторного слоя методом триангуляции (TIN — Triangular Irregular Network) или обратного взвешивания расстояний (IDW — Inverse Distance Weighted). Данная операция довольно несложная и основывается на интуитивно понятном графическом интерфейсе для создания интерполированных растровых слоев (cм. Рисунок 10.23). Модуль требует наличия следующих параметров для выполнения:
– Исходный векторный слой: Выберите исходный точечный векторый слой из списка загруженых точечных слоев. Если выбраны несколько слоев, для интерполяции используются данные всех слоев.
Примечание: существует возможность вставки линий или полигонов в качестве ограничений для триангуляции; для этого необходимо выбрать «Линии структуры» или «Линии разбивки» в выпадающем – Атрибут интерполяции: Выберите необходимый атрибут для интерполяции или установите флаг Использовать для интерполяции Z-координату для того, чтобы задействовать значения Z, храРуководство пользователя QGIS 1.6. нимые в слоях.
– Метод интерполяции: Выберите метод интерполяции. Это может быть либо – Количество столбцов/строк: Выберите количество строк и столбцов в результирующем растровом – Файл вывода: Выберите название для выходного растрового файла.
Использование модуля 1. Запустить QGIS и загрузить точечный векторый слой (к примеру, elevp.csv).
2. Активировать модуль интерполяции через «Управление модулями» (см. Раздел 9.1.1), а затем наИнтерполяция, которая появится на панели инструментов QGIS. Откроется жмите по иконке диалоговое окно модуля интерполяции, как показано на рисунке 10.23.
3. Выбрать исходный слой (к примеру, elevp ) и колонку (к примеру, ELEV) для интерполяции.
4. Выбрать метод интеполяции (например, Триангуляция ) и установить «Разрешение по Х» и «Разрешение по Y» равным 5000, а также задать название растрового файла вывода (например, elevation_tin).
5. Нажать Ok.
6. В данном примере дважды кликнуть elevation_tin в списке слоев, чтобы открыть диалоговое окно свойств растрового слоя и выбрать Псевдоцвет в качестве Цветовой карты на закладке Символика. Или же определить новую таблицу раскраски, как описано в разделе 4.3.
На рисунке 10.24 показан результат интерполяции TIN с разрешением 998 колонок на 812 строк (5 км) для файла elevp.csv с применением цветовой карты «Псевдоцвет». Сама обработка заняла несколько минут.
Созданный растр покрывает северный район Аляски.
10.11. Модуль экспорта в файл проекта MapServer Рис. 10.24.: Интерполяция высотных данных методом TIN 10.11. Модуль экспорта в файл проекта MapServer Существует возможность использования QGIS для «создания» карты для MapServer путем добавления и распределения слоев, нанесения обозначений и определения цветов.
10.11.1. Создание файла проекта Модуль экспорта в MapServer оперирует с сохраненным проектом QGIS, а не с текущим содержимым окна с картой и легендой слоев. У многих пользователей это вызвало значительное замешательство. Как описано ниже, перед тем, как использовать модуль экспорта, требуется предварительное распределение растровых и векторных слоев, которые нужно использовать в MapServer, и последующее сохранение в файле проекта QGIS.
Рис. 10.25.: Распределение растровых и векторых слоев для проекта QGIS В этом примере будут продемонстрированы четыре этапа, необходимых для создания простого проекта, из которого получится карта для MapServer. Будут использованы растровые и векторные файлы из пробного набора QGIS 1.4.
1. Добавьте растровый слой landcover.tif, нажав на иконку 2. Добавьте векторные shape-файлы lakes.shp, majrivers.shp и airports.shp из пробного набора QGIS, нажав на иконку 3. Измените цвета и вид представления данных по вашему усмотрению (к примеру, см. Рисунок 10.25) 4. Сохраните новый проект под названием mapserverproject.qgs следующим путем:
10.11.2. Создание карты Инструмент msexport, применяемый для экспорта проекта QGIS в файл карты MapServer, установлен в каталог бинарных файлов QGIS и может использоваться независимо от QGIS. Чтобы воспользоваться им из QGIS, нужно сначала активировать модуль экспорта в MapServer через «Управление модулями» (см.
Раздел 9.1.1).
Рис. 10.26.: Диалоговое окно модуля экспорта в MapServer Файл карты Введите название для создаваемого map-файла. Можно воспользоваться кнопкой справа для перехода в директорию, где требуется сохранить файл карты.
Файл проекта Qgis Введите полный путь к экспортируемому файлу проекта QGIS (.qgs). Можно воспользоваться кнопкой слева для перехода к файлу проекта QGIS.
Имя карты Название карты. Это название будет ставиться в начало названий всех изображений, созданных в mapserver.
Ширина карты Ширина выходного изображения в пикселах.
Высота карты Высота выходного изображения в пикселах.
Единицы карты Единицы измерения, используемые для выходного изображения.
10.11. Модуль экспорта в файл проекта MapServer Формат изображения Формат выходного изображения, созданного в MapServer.
Шаблон Полный путь к файлу шаблона MapServer, применяемого к map-файлу.
Верхний колонтитул Полный путь к файлу верхнего колонтитула MapServer, используемому с map-файлом.
Нижний колонтитул Полный путь к файлу нижнего колонтитула MapServer, используемому с map-файлом.
Для создания map-файла необходимы лишь Файл карты и Файл проекта QGIS, тем не менее, опуская другие параметры, можно получить нефункциональный map-файл. Хотя QGIS отлично создает map-файлы из предоставленных проектов, вполне возможно, что понадобится некоторая настройка для получения нужных результатов. К примеру, мы создали map-файл, использовав файл проекта mapserverproject.qgs, который только что создали (см. Рисунок 10.26):
окно (см. Рисунок 10.26).
2. Введите название (например, qgisproject.map) для нового map-файла.
3. Перейдите и найдите файл проекта QGIS (например, mapserverproject.qgs), который перед этим сохранили.
4. Введите название (к примеру, MyMap).
5. Введите ширину и высоту (к примеру, 600 в качестве ширины и 400 — высоты) для результирующего изображения.
6. В данном примере слои измеряются в метрах, потому единицы измерения выставляются в метрах.
7. Выберите «png» в качестве формата изображения.
8. Нажмите кнопку OK для того, чтобы создать новый map-файл qgisproject.map. QGIS выведет сообщение об удачном завершении операции.
Map-файл можно просмотреть в любом тектовом редакторе или просмотрщике. Если присмотреться, то можно заметить, что инструмент экспортирования добавляет метаданные, нужные для того, чтобы mapфайл мог быть задействован в WMS (Web Map Service).
10.11.3. Проверка map-файла Теперь можно протестировать результат проделанного, использовав инструмент shp2img для создания изображения из map-файла. Утилита shp2img является частью MapServer и набора инструментов FWTools. Для создания изображения из нашей карты необходимо:
– Открыть окно консоли – Если map-файл не был сохранен в домашнем каталоге, перейти в директорию, куда он был сохранен.
– Запустить shp2img -m qgisproject.map -o mapserver_test.png и открыть изображение.
Будет создан файл PNG, включающий все слои, содержащиеся в файле проекта QGIS. Кроме того, охват файла PNG останется таким же, как и когда проект был сохранен. Как можно увидеть на рисунке 10.27, вся информация за исключением обозначений аэропортов включена.
Если планируется использовать map-файл для обработки запросов WMS, скорее всего, не нужно что-либо перенастраивать. Если же планируется использовать его в качестве карты-шаблона или специализированного интерфейса, возможно, понадобится проделать некоторую ручную работу. Чтобы увидеть, насколько быстр переход от QGIS к обработке карт в Сети, рекомендуем посмотреть 5-минутное онлайн-видео от Кристофера Шмидта. Он использовал более старую версию QGIS (0.8), но видео в равной степени отображает функции, присущие новым версиям. 2 http://openlayers.org/presentations/mappingyourdata/ Рис. 10.27.: Тестовый файл PNG, созданный с помощью shp2img со всеми экспортированными слоями 10.12. Преобразователь слоев OGR «Преобразователь слоёв OGR» дает возможность ковертировать векторные слои в формат, поддерживаемый библиотекой OGR. Модуль очень прост в использовании и требует лишь несколько параметров для выполнения:
– Исходный Формат/Набор данных/Слой: Здесь вводится формат, поддерживаемый OGR, и путь к конвертируемому векторному файлу.
– Выходной Формат/Набор данных/Слой: Здесь вводится формат, поддерживаемый OGR, и путь к результирующему векторому файлу.
Использование модуля 1. Запустить QGIS, загрузить «Преобразователь слоёв OGR» через «Управление модулями» (см. РазПреобразователь слоёв OGR, которая появилась на панели индел 9.1.1) и нажать на иконку струментов QGIS. На экране появится окно «Преобразователь слоёв OGR», как показано на рисунПоддерживаемые форматы могут варьироваться в зависимости от установленного пакета GDAL/OGR.
10.13. Oracle GeoRaster 2. Выбрать формат, поддерживаемый библиотекой OGR (к примеру, ESRI Shapefile ), и путь к исходному векторному файлу (например, alaska.shp) в блоке «Источник».
3. Выбрать формат, поддерживаемый библиотекой OGR (к примеру, GML ), и прописать путь и название выходного векторного файла (к примеру, alaska.gml) в блоке «Приёмник».
4. Нажать Ok.
10.13. Oracle GeoRaster В базах данных Oracle растровые слои могут храниться в объектах SDO_GEORASTER, доступных через расМодуль «Oracle GeoRaster»
и зависит от установленной на вашем компьютере базы данных Oracle. В то время как Oracle является коммерческим ПО, для разработки и тестирования оно поставляется бесплатно. Вот один простой пример того, как загрузить растровые изображения в GeoRaster:
$ gdal_translate -of georaster input_file.tif geor:scott/tiger@orcl Эта команда загрузит растр в таблицу GDAL_IMPORT по умолчанию, в качестве столбца под названием RASTER.
10.13.1. Управление соединениями Сначала, модуль Oracle GeoRaster должен быть активирован посредством «Управления модулями» (см.
Раздел 9.1.1). В первый раз, когда модуль GeoRaster загружается в QGIS, требуется создание соединения с базой данных Oracle, в которой содержатся данные. Для этого сначала нужно нажать кнопку Выбрать Oracle GeoRaster на панели иструментов, откроется диалоговое окно «Выберите Oracle Spatial GeoRaster». Затем нужно нажать кнопку Создать для того, чтобы открылось диалоговое окно и ввести параметры подключения (cм. рисунок 10.29):
– Имя: Ввести название для подключения к базе данных.
– Экземпляр СУБД: Ввести название базы данных, к которой совершается подключение.
– Пользователь: Ввести имя пользователя, имеющего доступ к базе данных.
– Пароль: Ввести пароль пользователя.
Теперь, в диалоговом окне «Выберите Oracle Spatial GeoRaster» (см. Рисунок 10.30), нужно выбрать подключение из выпадающего списка и использовать кнопку Подключиться для установки соединения. Также существует возможность править параметры подключения посредством кнопки Правка или использовать кнопку Удалить для удаления соединения из списка.
10.13.2. Выбор растровых данных После того, как произойдет подключение, в окне блока «Подчиненные наборы данных» появятся названия всех таблиц, содержащих столбцы растровых данных в формате подчиненных наборов данных GDAL.
Выбрав один из таких наборов данных и нажав кнопку ОК, можно выбрать название таблицы. Теперь будет показан другой список подчиненных наборов данных, содержащий названия колонок растровых данных из этой таблицы. Обычно это короткий список, так как большинство пользователей не держит больше 1- столбцов в одной таблице.
Выбрав один из приведенных наборов данных и затем нажав ОК, можно выбрать одну из комбинаций таблица/столбец. Диалоговое окно теперь покажет все строки, содержащие объекты растровых данных. Заметьте, что теперь в списке подчиненных наборов данных отображаются пары (таблица растровых данных:идентификатор растрового изображения).
Рис. 10.29.: Диалоговое окно «Создать соединение Oracle»
В любой момент времени можно изменить содержимое строки в блоке «Выделение» для того, чтобы перейти непосредственно к нужному растровому изображению или вернуться к началу и выбрать другое название таблицы.
Строка ввода блока «Выделение» также может использоваться для ввода условия Where в конце идентификационной строки, к примеру «geor:scott/tiger@orcl,gdal_import,raster,geoid=». Смотрите http://www.gdal.org/frmt_georaster.html для более детальной информации.
10.13.3. Отображение растровых данных И напоследок, выбрав растровое изображение из списка «таблица растровых данных:идентификатор растрового изображения», в QGIS будет загружено растровое изображение.
Теперь диалоговое окно «Выбрать Oracle Spatial GeoRaster» может быть закрыто, и в следующий раз при его вызове в нем будет отображаться то же соединение, с тем же список подчиненных наборов данных, что облегчит открытие другого изображения из того же окружения.
Примечание: растровые изображения, содержащие пирамиды, будут отображаться быстрее, однако пирамиды должны быть созданы вне QGIS, с применением Oracle PL/SQL или gdaladdo.
Вот пример использования gdaladdo:
gdaladdo georaster:scott/tiger@orcl,georaster\_table,georaster,georid=6 -r nearest 2 4 6 8 А это пример для PL/SQL:
$ sqlplus scott/tiger SQL> DECLARE gr sdo_georaster;
BEGIN SELECT image INTO gr FROM cities WHERE id = 1 FOR UPDATE;
sdo_geor.generatePyramid(gr, ’rLevel=5, resampling=NN’);
UPDATE cities SET image = gr WHERE id = 1;
COMMIT;
END;
10.14. Модуль OpenStreetMap Рис. 10.30.: Диалоговое окно «Выберите Oracle Spatial GeoRaster»
10.14. Модуль OpenStreetMap В последние годы проект OpenStreetMap стал очень популярен, потому что во многих странах свободные геоданные, такие, как, например, дорожная сеть, просто отсутствовали. Цель проекта OSM — создать свободно редактируемую карту всего мира с использованием данных GPS, аэрофотосъемки или просто знания местности. С тем, чтобы поддержать это начинание, QGIS предоставляет модуль, который даёт пользователям возможность работать с данными OSM.
Модуль предоставляет всю базовую функциональность для работы с данными OSM: загрузку данных, импорт, сохранение, скачивание, редактирование и выгрузку обратно на сервер OpenStreetMap. Источником вдохновления при создании модуля послужили другие редакторы данных OSM. Целью авторов модуля было объединение их функциональности и достижение наилучшего результата.
Следующий раздел дает краткое введение в принципы проекта OSM. Если вы с ними уже знакомы, просто пропустите ее. Следующие параграфы были частично позаимствованы с веб-сайта OpenStreetMap по адресу http://www.openstreetmap.org.
Проект OpenStreetMap OpenStreetMap — проект, который создаёт свободно редактируемую карту мира. Карта создаётся с помощью GPS, аэрофотоснимков и других источников, а также знания местности. Проект появился потому, что использование большинства карт ограничено законодательно или технически, что сдерживает их творческое использования способами, которые раньше сложно было представить. Как изображения (тайлы),так и векторные данные OSM доступны для загрузки и имеют лицензию Creative Commons Attribution ShareAlike 2.0.
OpenStreetMap был вдохновлен такими проектами, как Wikipedia — на карте сайта (см. Рисунок 10.31) есть большая закладка Редактировать и поддерживается полная история изменений. Зарегистрированные пользователи могут загружать GPS-треки и редактировать векторные данные с помощью различных инструментов.
Структура данных OSM — это класс объектов, которые могут быть сохраненены с помощью API на сервер.
Три поддерживаемых типа объектов — это: узлы, линии и отношения.
– Узел — пара координат в системе широта/долгота. Он используется для построения других объектов и как объект сам по себе (например Точки интереса — POI), если он снабжен правильной атрибутикой.
– Линия — список из минимум двух узлов, которые описывают линейный объект, такой, как улица или что-то наподобие. Узлы могут входить в состав нескольких линий.
– Отношение — группа из нуля или более примитивов с назначенными ролями. Оно используется для указания отношений между объектами и может моделировать абстрактный объект.
Этими примитивами задаётся множество различных объектов карты («Точка интереса», «Улица», «Трамвайная линия», «Автобусная остановка» и т. п.). Атрибутика данных хорошо известна постоянным участникам OSM и сохраняется в виде тегов, состоящих из ключа и значения. Данные OSM обычно распространяются в формате XML. XML также используется для обмена информацией с сервером OSM.
Связь QGIS – OSM Первая часть этой секции описывает, как примитивы OSM показываются в векторных слоях QGIS. Как было указано выше, данные OSM состоят из узлов, линий и отношений. В QGIS они показываются как три разных типа слоёв: точечный, линейный и полигональный. Убрать один из этих слоёв и продолжить работу с другими — невозможно.
– Точечный слой — показывает все объекты типа «узел», которые являются самостоятельными. Это означает, что в этом слое будут только узлы, которые не включены в линии.
– Линейный слой — показывает те объекты типа «линия», которые не замкнуты. Это означает, что ни одна из этих линий не начинается и заканчивается одинаковым узлом.
– Полигональный слой — показывает все линии, не включенные в линейный слой.
Еще один примитив OpenStreetMap — Отношение. Специального типа векторного слоя для отображения отношения нет. Отношение определяет взаимосвязи между любым количеством объектов. После того, как точка, линия или полигон отображены на карте, модуль показывает все отношения, членом которых является примитив.
Связать данные OSM со стандартными инструментами редактирования QGIS было довольно сложно. Эти инструменты созданы для редактирования одного векторного слоя единовременно, не важно, какого типа объекты он показывает. Это означает, что, если данные OSM загружены в QGIS с помощью модуля, вы теоретически сможете редактировать одновременно точечный, линейный и полигональный слои.
Проблема в том, что линейный слой состоит из двух разных примитивов, узлов и линий. Линии состоят из узлов. Если вы начали редактировать линейный слой и изменили форму линейного объекта, ваши действия должны привести изменению не только линий, но и узлов, которые являются ее составляющими.
Стандартные инструменты редактирования QGIS не могут сказать провайдеру OSM, какие участники какой линии изменились, и как. Они способны сказать только, какие новые участники появились, а этого недостаточно, чтобы правильно передать изменения в базу данных OSM. Линейный слой не знает идентификаторов участников линии. Те же самые проблемы возникают при попытке редактирования слоя полигонов.
10.14. Модуль OpenStreetMap Исходя из этих соображений, плагину OSM нужны свои собственные инструменты редактирования данных OSM. Когда для редактирования используются они, изменение данных OSM осуществляется корректно. Инструменты редактирования в составе модуля включают средства создания, удаления и перемещения точек, линий, полигонов и отношений.
Примечание: Для связи модуля OSM и стандартных инструментов редактирования необходимы изменения в ядре QGIS.
10.14.1. Установка Модуль OpenStreetMap является расширением ядра QGIS. Если включена поддержка Python, модуль «OpenStreetMap» должен появиться в Менеджере модулей и может быть выбран, как описано в секции 9.1.1).
10.14.2. Основной интерфейс пользователя При первом запуске плагина OSM и загрузки первых данных, появляются несколько новых иконок на панели инструментов QGIS, а также несколько новых графических компонентов, показанных на Рисунке 10.32:
Панель объектов Панель объектов помогает идентифицировать объекты OSM. Она показывается основную информацию о типе объекта и его идентификаторе, а также информацию о том, кто и когда изменял этот объект. На панели объектов также находятся все инструменты редактирования (в верхней части панели). Инструменты редактирования более подробно освещены в секциях ниже. Сначала панель заблокирована. Она разблокируется после успешной загрузки некоторого количества данных OSM.
Панель отмены/возврата Панель отмены/возврата используется для отмены и возврата действий редактирования. На панели располагаются не только классические кнопки отмены и возврата, но и список с кратким описанием предпринятых действий. По умолчанию панель скрыта. Появляется панель после нажатия на соответствующую кнопку на панели оъектов.
Иконки основной панели инструментов Загрузить данные из файла используется для загрузки OSM из XML файла.
Показать/Скрыть панель объектов используется для открытия или скрытия панели объектов. Панель объектов помогает просмотреть информацию об объекте, также на ней размещены инструменты редактирования.
Загрузить данные с сервера используется для загрузки данных с сервера OpenStreetMap.
Выгрузить данные используется для выгрузки изменений (относительно текущих данных).
Импортировать данные из слоя используется для импорта данных из векторного слоя. Должен быть загружен по крайней мере один векторный слой и должны быть выбраны данные OSM.
Сохранить данные в файл используется для сохранения данных в файл XML.
Более детальная информация о каждой панели, кнопке и диалоге может быть получена из соответствующих разделов этой документации, разделенной согласно функциональности (редактирование, идентификация и т. д.) 10.14.3. Загрузка данных OSM Первым делом, после запуска модуля нужно открыть какие-то данные OSM. Они могут быть загружены из файла или загружены непосредственно с сервера. Здесь мы расскажем про первый метод.
Для загрузки данных из файла нажмите на кнопку такой кнопки, возможно, у вас отключен модуль. Включите его заново, выбрав Установки Панели Описание элементов диалога:
Загружаемый файл OpenStreetMap: Нажмите на кнопку, чтобы выбрать файл.osm, данные которого необходимы.
Добавить колонки для тегов: Эта опция определяет связь между данными OSM и QGIS. Каждый объект OSM имеет теги (пары ключей и значений), которые определяют свойства объекта. Каждый объект в QGIS также имеет атрибуты (ключ и значение). Эта опция позволяет определить, какие свойства объектов OSM должны быть видны, когда показывается информация об объектах QGIS.
Заменить текущие данные: Включение этой опции означает, что новые данные должны заменить существующие данные, с которыми работает пользователь. Слои текущих данных будут удалены, и будут загружены новые. Когда данные загружаются в первый раз, эта опция не активна, так как заменять пока нечего.
Использовать пользовательский рендерер: Эта опция определяет степерь детализации карты. Существует три уровня детализации данных OSM. Используйте Мелкий масштаб, если вам нужно просматривать данные на уровне региона. Вы также можете использовать Средний масштаб или Крупный масштаб. Версия QGIS 1.6.0 не поддерживает динамическую смену стиля отрисовки.
10.14. Модуль OpenStreetMap Нажмите Ok, чтобы загрузить данные. Если это первая загрузка файла, то сначала плагин должен обработать базу данных. Это может занять несколько минут или секунд, в зависимости от количества данных.
10.14.4. Просмотр данных OSM После того, как данные OSM загружены, вы можете просмотреть информацию по объектам, используя инОпределить объекты, расположенную справа в панели объектов OSM. Используя этот инструмент струмент, вы можете легко изучить объекты на карте. Когда курсор мыши наведен на объект, вы можете увидеть всю информацию о нем в панели объектов OSM. Объект также подсвечивается на карте, так что пользователь может определить, что именно определилось.
Закладка Свойства панели содержит все теги объекта. Включив закладку Отношение, можно увидеть список всех отношений, связанных с текущим объектом.
Если вам нужно смотреть на параметры объекта и одновременное перемещать курсор мыши, попробуйте щелкнуть левой кнопкой по объекту. Процесс идентификации приостановится, пока вы не нажмете на левую кнопку мыши снова.
Иногда в месте щелчка левой кнопкой находится более чем один объект. Часто в такую ситуацию можно попасть при щелчке на перекресток, или если масштаб карты невелик. В этой ситуации определяется (и подсвечивается) только один из объектов, но плагин запоминает их все. Потом, в режиме паузы, вы можете пролистать объекты по кругу правой кнопкой.
10.14.5. Редактирование базовых данных Слово «базовых» в заголовке секции означает, что речь пойдет о всех примитивах, кроме отношений — узлах и линиях. Если вам нужна информация о редактировании отношений, просто пропустите эту секцию и ознакомьтесь со следующей.
Функции по редактированию базовых данных — основная часть плагина OSM. Вы может изменять свойства, расположение или форму любого примитива. Вы можете удалять объекты и добавлять новые. Все изменения узлов и линий будут запомнены и их можно удобно отменить/вернуть и выгрузить на сервер OpenStreetMap.
Изменение тегов объектов Теги объектов можно изменять прямо в таблице тегов, которая располагается в панели объектов. Не забудьте сначала выбрать объект.
Для изменения тега объекта нужно дважды щелкнуть на соответствующей строке колонки «Значение» и ввести нужное значение. Если нужно удалить тег, щелкните по ряду и используйте кнопку Удалить выбранные теги, находящуюся справа внизу таблицы.
Чтобы добавить новый тег, введите ключи и значение в последнюю строку таблицы, где находится надпись « ». Отметьте, что вы не можете изменить ключ существующего тега. Для удобства ввода тегов можно использовать подсказывающие выпадающие списки уже заполненные возможными ключами и их значениями.
Создание точек Для создания точки служит кнопка в панели объектов. Выберите этот инструмент и щелкайте им по карте, созданные объекты сразу будут определяться. Если вы щелкните по линии или полигону, будет создана точка на линии и полигоне как их часть. Если курсор находится над существующей точкой, новая точка создана быть не может. В этом случае будет показано следующее сообщение:
Механизм, помогающий пользователю точно попасть в линию или полигон, называется «прищёлкивание», он включен по умолчанию. Если нужно создать точку очень близко к линии, но не на ней, нужно отключить «прищёлкивание», нажав клавишу Ctrl перед нажатием.
Создание линии Для создания линии служит инструмент объектов. Чтобы создать линию, выберите этот инструмент и начните щёлкать левой кнопкой мыши на карте.
Каждый из щелчков превратится в узел — часть новой линии. Создание линии завершается, когда вы первый раз щёлкаете правой кнопкой мыши. Линия сразу появится на карте.
Note: Линию с менее чем двумя узлами создать невозможно, в случае, если узел один, операция просто игнорируется.
«Прищёлкивание» работает для всех узлов карты — точек из точечного слоя и всех узлов линейного и полигонального слоёв. «Прищёлкивание» можно отключить, нажав Ctrl.
Создание полигона Создать полигон можно инструментом объектов. Для создания полигона выберите инструмент и начните щёлкать левой кнопкой на карте. Каждый из щелчков превратится в узел — часть нового полигона. Создание полигона будет завершено, когда вы первый раз щёлкнете правой кнопкой мыши. Полигон сразу появится на карте. Полигон из менее чем трех узлов создать невозможно. В случае, если узлов меньше трех, операция просто игнорируется. «Прищёлкивание»
работает для всех узлов карты — точек из Точечного слоя и всех узлов Линейного и Полигонального слоёв.
Прищелкивание можно отключить нажав Ctrl.
Перемещение объектов Если вы хотите передвинуть объект (не важно какого типа), используйте инструмент Перемещение объектов, кнопка которого располагается на панели объектов. Найдите объект, который нужно переместить, наведя на него курсор и щёлкнув по нему. Если выберется не тот объект, не двигайте его, щёлкните правой кнопкой, пока не выберется нужный. После того, как объект выбран и вы переместили курсор, прокручивать объекты больше будет нельзя. Для подтверждения перемещения щёлкните левой кнопкой мыши, для отмены щёлкните правой.
Если вы перемещаете объект, связанный с другими объектами, эти связи не будут нарушены. Другие объекты 10.14. Модуль OpenStreetMap также могут видоизмениться, чтобы подстроиться к новой позиции перемещенного объекта.
Для этой операции также поддерживается «прищёлкивание»:
– Когда перемещается отдельная точка, не являющаяся частью линии или полигона, осуществляется «прищёлкивание» ко всем сегментам и узлам.
– Когда перемещается точка, являющаяся частью линии или полигона, осуществляется «прищёлкивание»
ко всем сегментам и узлам, кроме узлов родительских объектов.
– Когда перемещается линия или полигон, осуществляется «прищёлкивание» ко всем узлам. Обратите внимание, что модуль пытается «прищёлкнуть» только к трём ближайшим к курсору узлам, иначе процесс был бы очень медленным. «Прищёлкивание» можно отключить, удерживая Ctrl в процессе.
Удаление объектов Если нужно удалить объект, его сначала нужно идентифицировать. Далее, чтобы его удалить, нужно исУдалить этот объект, кнопка которого расположена на панели объектов. При пользовать инструмент удалении линии/полигона удаляется сама линия/полигон и все участвующие в ней узлы, которые не принадлежат другой линии/полигону.
При удалении точки, которая является участником другой линии/полигона, точка удаляется и изменяется геометрия родительской линии/полигона. Новая геометрия имеет меньше узлов, чем старая.
Если родительская геометрия является полигоном, состоящим из трех узлов, то у новой остается всего два.
И так как полигонов с двумя узлами быть не может, тип объекта автоматически меняется на линию.
Если родительский объект был линией из двух точек, в новой геометрии может остаться только одна. И так как линий из одного узла не бывает, объект автоматически становится точкой.
10.14.6. Редактирование отношений Благодаря существованию отношений, мы можем объединять объекты в группы и назначать им общие свойства — таким образом, мы можем смоделировать любой возможный объект на карте: границы региона (как группу линий и точек), маршрут автобуса и т.п. Каждый участник отношения имеет свою особую роль. Этот модуль достаточно хорошо поддерживает работу с отношениями и позволяет их изучать, создавать, обновлять и удалять.
Изучение отношений Чтобы увидеть свойства отношения, нужно сначала определить одного из его участников. После этого, откройте закладку Отношения в панели объектов. Ввеху закладки расположен список отношений, частью которых является выбранный объект. Выберите одно из них, которое нужно изучить, снизу появится информация. В первой таблице «Теги отношения» показываются свойства выбранного отношения. В таблице «Участники отношения» можно найти информацию об участниках. Если нажать на одного из них, плагин подсветит его на карте.
Создание отношения Существует два пути создания отношения:
1. Можно использовать инструмент 2. Можно создать отношение в закладке Отношения панели объектов, используя кнопку В обоих случаях появится новый диалог. Во втором случае, текущий объект автоматически станет первым членом отношения. При создании отношения сначала укажите его тип. Можно выбрать один из предустановленных типов или задать свой. После этого добавьте остальных участников отношения и задайте теги.
тически создаст набор тегов, как правило, соответствующих выбранному типу. Затем нужно ввести соответствующие значения для ключей. Выбрать участников отношения можно либо вводом их идентификаторов, После того как тип, теги и участники отношения выбраны, можно дать команду «создать отношение».
Изменение отношений Если нужно изменить существующее отношение, его необходимо сначала нужно идентифицировать (как это объясняется в секции «Изучение отношений»). После этого, нажмите на кнопку Редактировать отношение. Отношение появится в панели объектов. Появится новый диалог, похожий на диалог при создании отношения. Окно будет заполнено значениями из выбранного отношения. В нём можно изменять теги, участников и тип отношения.
10.14.7. Загрузка данных OSM Для загрузки данных с сервера OpenStreetMap нажмите на кнопку не видно, возможно, не включена панель инструментов модуля. Её можно включить в Настройки OpenStreetMap. После нажатия кнопки появится диалоговое окно со следующими Панели функциями:
Охват: Определяет географический охват загружаемых данных в виде диапазонов широт и долгот. Поскольку существуют определенные ограничения на максимальный объём загружаемых данных, диапазоны координат не могут быть слишком широкими. Подробная информация об ограничениях доступна по Загрузить в: Здесь указывается пусть к файлу, где будут сохранены данные. Для указания другого пути можно использовать кнопку browse.
Открыть данные сразу после загрузки: Определяет, должны ли данные быть открыты сразу после загрузки. Если загруженные данные надо открыть позже, это можно сделать, нажав кнопку Заменить текущие данные: Эта опция активна, только если включено Открыть данные сразу после загрузки. Включение этого переключателя приведет к тому, что загруженные данные заменят текущие. Слои данных будут удалены и вместо них будут загружены новые.
При первом запуске QGIS и модуля эта опция будет неактивна, так как пока нечего заменять.
Использовать пользовательский рендерер: Эта опция активна, только если включено Открыть данные сразу после загрузки. Эта опция определяет насколько детализированной будет карта. Существует три стиля. Используйте Мелкий масштаб, если вам нужно работать с данными с низкой детализацией. Если нужно больше деталей, используйте Средний масштаб или Крупный масштаб. QGIS 1.6.0 не поддерживает динамическую смену стиля отрисовки.
10.14. Модуль OpenStreetMap Нажмите кнопку Загрузить, чтобы начался процесс загрузки.
Индикатор прогресса будет показывать состояние процесса загрузки. Если возникнет ошибка, появится окно, объясняющее ее причину. После успешного завершения индикатор прогресса и диалоговое окно закроются.
10.14.8. Выгрузка данных Обратите внимание, что выгрузка всегда делается для текущего слоя. Перед открытием диалога выгрузки убедитесь, что выбран правильный слой.
Для загрузки текущих данных на сервер OSM нажмите кнопку видно, возможно, не включена панель инструментов модуля. Её можно включить в Настройки Панели OpenStreetMap. После нажатия кнопки upload появится диалоговое окно.
В верхней части окна можно проверить, те ли данные выгружаются по указываемой там текущей базе данных.
В таблице можно найти информацию по тому, сколько изменений будет выгружено. Статистика показывается отдельно для каждого типа объектов.
В поле «Комментарий для ваших изменений» можно оставить краткое описание изменений или не заполнять поле вообще. Заполните поля «Учётная запись OSM», чтобы сервер вас узнал. Если у вас нет учётной записи в OSM — заведите ее по адресу http://www.openstreetmap.org. После того, как все готово, нажмите Выгрузить, чтобы началась выгрузка данных.
10.14.9. Сохранение данных Чтобы сохранить данные текущего охвата карты в файл XML, нажмите на кнопку. Если кнопки не видно, возможно, не включена панель инструментов плагина. Её можно включить в Настройки OpenStreetMap. После нажатия кнопки появится диалоговое окно.
Выберите объекты, которые нужно сохранить в файл XML и его имя. Нажмите Ok для начала процесса.
Результатом будет файл XML, содержащий данные OSM с текущим охватом карты. Данные сохраняются в версии 0.6. Некоторые элементы (,, ) не содержат информации о пакетах изменений и uid. Эта информация не является обязательной (см. DTD для OSM XML версии 0.6). Выходные данные не сортируются.
Обратите внимание, что данные сохраняются в файл не строго по охвату. Если в охват попадает только часть линии или полигона, они все равно сохраняются целиком. Для каждой линии/полигона сохраняются все ее участники.
10.14.10. Импорт данных Чтобы импортировать данные из открытого векторного не-OSM слоя, нужно: Выбрать текущие данные OSM, щелкнув на один из его слоёв. Выбрать инструмент кнопки нет, возможно, не включена панель инструментов модуля. Её можно включить обратно в Настройки После нажатия появится следующее окно:
В этом случае не было загружено векторных слоёв. Загрузите один или несколько слоёв, чтобы их можно было импортировать. Попробуйте нажать кнопку еще раз (не забудьте отметить текущий слой данных OSM):
Нажмите ОК, чтобы начать процесс импорта.
10.15. Морфометрический анализ 10.15. Морфометрический анализ Модуль морфометрического анализа может быть использован для расчета угла уклона, экспозиции, индекса пересечённости и общей кривизны цифровых моделей рельефа (ЦМР). Модуль очень прост в использовании благодаря интуитивно понятному графическому интерфейсу (см. Рисунок 10.41). Для расчета требуются следующие параметры, которые нужно указать перед началом работы:
– Анализ: Может быть одним из следующих: уклоны, экспозиция, индекс пересечённости, общая кривизна.
– Исходный слой: Выбирается растр из списка загруженных растровых слоев.
– Выходной слой: Задается имя и путь выходного изображения.
– Формат вывода: Выбирается формат выходного растра (по умолчанию GeoTiff).
Уклон: Вычисляет угол наклона для каждой ячейки в градусах (алгоритм основан на вычислении первой производной).
Экспозиция: Экспозиция (начиная с 0 градусов на север, против часовой стрелки).
Индекс пересечённости: Количественная оценка неоднородности рельефа.
Общая кривизна: Суммарная кривизна, включающая плановую и профильную кривизну.
Использование модуля 1. Запустите QGIS и загрузите растр цифровой модели рельефа.
2. Активируйте модуль «Морфометрический анализ» в «Менеджере модулей» (см. Раздел 9.1.1) и наМорфометрический анализ, которая появилась на панели инструментов QGIS.
жмите на кнопку Откроется окно модуля, изображенное на Рисунке 10.41.
3. Выберите метод анализа (например, Уклоны ).
4. Укажите выходной файл и его формат.
5. Нажмите Ok.
10.16. Быстрая печать Модуль позволяет быстро, с минимальными усилиями, экспортировать текущую карту в формат PDF. Необходимо задать только заголовок карты, имя карты и размер страницы (см. Рисунок 10.42). Если нужен больший контроль над результатом, пожалуйста, используйте «Компоновщик карты», описанный в Разделе 8.
Рис. 10.43.: Результат работы модуля «Быстрая печать» при использовании пробного набора данных 11. Другие модули ядра Остальные модули ядра перечислены в таблице 11.1 и сопровождаются ссылками на разделы Руководства, описывающие их использование.
12. Использование внешних Python модулей Внешние модули QGIS написаны на языке программирования Python. Они находятся либо в «Официальном»
либо в «Пользовательском» репозиториях QGIS, или в репозиториях, поддерживаемых отдельными авторами. В таблице 12.1 перечислены «официальные» расширения с кратким описанием. Подробная документация, минимальная версия QGIS, домашняя страница, авторы и другая важная информация распространяется вместе с внешними расширениями и не включена в это руководство. Актуальный список «официальных» расширений доступен на странице Официального репозитория QGIS http://qgis.osgeo.org/download/plugins.html. Также этот список доступен автоматически в Установщике расширений из меню Загрузить модули....
Подробное описание процесса установки внешних расширений Python доступно в Разделе 9.1.2.
Совет QGIS 47 Добавление репозиториев Чтобы добавить «Пользовательский» репозиторий и/или несколько авторских репозиториев, откройте «Установщик модулей» ( Модули Загрузить модули... ), перейдите на вкладку Репозитории и нажмите Добавить сторонние репозитории. Если некоторые из добавленных репозиториев вам не нужны, они могут быть отключены кнопкой Изменить...
1 Обновления для расширений ядра могут поставляться через этот репозиторий как оверлеи.
2 fTools, Mapserver Export и Plugin Installer являются Python- расширениями, но они — часть исходного кода QGIS, и автоматически загружаются и активируются в «Менеджере модулей» QGIS (смотри Раздел 9.1.2).
13. Справка и поддержка 13.1. Списки рассылки QGIS находится в состоянии активной разработки и поэтому иногда может работать не так, как вы ожидаете.
Подписка на рассылку qgis-users является наиболее предпочтительным способом получения помощи. Ваш вопрос будет доступен широкой аудитории, а ответы смогут помочь другим.
qgis-users Список рассылки предназначен как для обсуждения QGIS в целом, так и для специфических вопросов, касающихся установки и использования. Подписаться на список рассылки qgis-users можно посетив следующий URL:
http://lists.osgeo.org/mailman/listinfo/qgis-user fossgis-talk-liste Для говорящих на немецком немецкая группа FOSSGIS e.V. организовала рассылку fossgis-talk-liste. Этот список рассылки предназначен для обсуждения свободных ГИС в целом, включая QGIS. Вы можете подписаться на список рассылки fossgis-talk-liste, посетив URL:
https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste qgis-developer Если вы разработчик и сталкиваетесь с проблемами более технического характера, то, возможно, захотите присоединиться к рассылке qgis-developer здесь:
http://lists.osgeo.org/mailman/listinfo/qgis-developer qgis-commit Каждый раз, когда выполняется изменение в коде QGIS, в этот список рассылки отправляется сообщение.
Если вы хотите быть в курсе всех изменений в коде, подпишитесь на эту рассылку:
http://lists.osgeo.org/mailman/listinfo/qgis-commit qgis-trac Эта рассылка оповещает о событиях, связанных с управлением проектом, в том числе, сообщениях об ошибках, задачах и пожеланиях. Подписаться на рассылку можно по адресу:
http://lists.osgeo.org/mailman/listinfo/qgis-trac qgis-community-team Этот список рассылки посвящён таким вопросам, как документация, контекстная справка, руководство пользователя, онлайн ресурсы (веб-сайт, блог, списки рассылки, форумы) и перевод. Если вы хотите поработать над руководством пользователя, то этот список рассылки является тем местом, где нужно задавать свои вопросы. Подписаться на этот список:
http://lists.osgeo.org/mailman/listinfo/qgis-community-team qgis-release-team Рассылка служит для обсуждения вопросов, связанных с выпуском новых версий, подготовкой бинарных пакетов для различных ОС и для анонсирования новых выпусков. Чтобы подписаться на рассылку посетите следующий адрес:
http://lists.osgeo.org/mailman/listinfo/qgis-release-team qgis-tr Список рассылки посвящённый вопросам перевода. Если вы хотите работать над переводом руководств или интерфейса пользователя (GUI), то все свои вопросы нужно задавать здесь. Подписаться на рассылку можно 13.4. Блог по адресу:
http://lists.osgeo.org/mailman/listinfo/qgis-tr qgis-edu Этот список рассылки обсуждаются вопросы обучения работе с QGIS. Если вы желаете заняться разработкой обучающих материалов, то эта рассылка будет хорошей отправной точкой. Чтобы подписаться на рассылку посетите следующий адрес:
http://lists.osgeo.org/mailman/listinfo/qgis-edu qgis-psc Список рассылки используется Руководящим комитетом для обсуждения вопросов, связанных с общим управлением и направлением развития Quantum GIS. Подписаться на рассылку можно здесь:
http://lists.osgeo.org/mailman/listinfo/qgis-psc Вы можете подписаться на любой из вышеуказанных списков. Пожалуйста, не забывайте участвовать в рассылках, отвечая на вопросы и делясь опытом. Также обратите внимание, что рассылки qgis-commit и qgis-trac служат только для оповещения и не предназначены для писем пользователей.
13.2. IRC Нас можно найти в IRC — посетите наш канал #qgis на irc.freenode.net. Пожалуйста, задав вопрос, немного подождите, посетители канала могут быть заняты другими делами, и им потребуется некоторое время, чтобы увидеть ваш вопрос. Кроме того, доступна коммерческая поддержка QGIS. Больше информации вы найдете на нашем веб-сайте http://qgis.org/en/commercial-support.html.
Если вы пропустили обсуждение в IRC, это не проблема! Мы записываем все обсуждения, поэтому вы всегда можете наверстать упущенное. Просто перейдите по ссылке http://logs.qgis.org и прочитайте журналы IRC.
13.3. Багтрекер Так как список рассылки qgis-users полезен для общих вопросов типа «как я могу сделать xyz в QGIS», вам может потребоваться сообщить нам об ошибках в QGIS. Сделать это можно, используя баг-трекер QGIS https://trac.osgeo.org/qgis/. Пожалуйста, при создании нового сообщения об ошибке, оставляйте адрес электронной почты, используя который, мы сможем обратиться к вам за дополнительной информацией.
Имейте в виду, что ваша ошибка не всегда будет имет приоритет, который бы вам хотелось (в зависимости от сложности). Исправление некоторых ошибок может потребовать значительных усилий от разработчика и большого количества времени, а всё это не всегда есть в наличии.
Предложения по усовершенствованию можно отправлять, используя ту же систему, что и ошибки. Пожалуйста, убедитесь, что для сообщения указан тип enhancement.
Если вы нашли ошибку и исправили ее самостоятельно, можете отправить этот патч нам. Для этого снова воспользуйтесь системой trac https://trac.osgeo.org/qgis/. Выберите тип patch для сообщения. Ктонибудь из разработчиков рассмотрит его и применит.
Пожалуйста, не волнуйтесь, если ваш патч не был применен сразу — разработчики могут быть заняты другим.
13.4. Блог Сообщество QGIS также ведет блог http://blog.qgis.org, где вы можете найти несколько интересных статей как для пользователей, так и для разработчиков. Мы приглашаем вас зарегистрироваться и внести свой вклад в блог!
13.5. Wiki И наконец, мы поддерживаем Wiki http://www.qgis.org/wiki, где можно найти множество полезной информации, касающейся разработки QGIS, планы по выпуску, ссылки на загрузку, советы по переводу и т. д.
Проверьте сами, и найдете много интересного!
A. Поддерживаемые форматы данных Для чтения и записи векторных и растровых форматов данных QGIS использует библиотеки GDAL/OGR.
Обратите внимание, что, по различным причинам, не все из перечисленных ниже форматов могут работать в QGIS. Например, некоторые требуют установку внешних коммерческих библиотек или библиотека GDAL в вашей операционной системе (ОС) не поддерживает формат, который вы хотите использовать. При загрузке в QGIS данных векторных или растровых форматов в списке типов файлов будут отображаться только те форматы, которые были проверены. Остальные (непроверенные) форматы могут быть загружены, если выбрать *.*.
A.1. Векторные форматы OGR На время составления настоящего документа библиотекой OGR [?]OGRweb) поддерживаются следующие форматы. Полный список доступен http://www.gdal.org/ogr/ogr_formats.html.
Arc/Info Binary Coverage Comma Separated Value (.csv) DODS/OPeNDAP ESRI Personal GeoDatabase Shape-файл ESRI FMEObjects Gateway Geoconcept Export Informix DataBlade
INTERLIS
Microstation DGN Oracle Spatial PostgreSQL U.S. Census TIGER/Line VRT - Virtual Datasource 1 Поддержка GRASS обеспечивается расширением «GRASS»2В QGIS реализованы собственные функции для работы с PostgreSQL. OGR должна быть установлена без поддержки PostgreSQL A.2. Растровые форматы GDAL X-Plane/Flighgear aeronautical data A.2. Растровые форматы GDAL На время составления настоящего документа библиотекой GDAL [?]GDALweb) поддерживаются следующие форматы. Полный список доступен http://www.gdal.org/formats_list.html.
Arc/Info ASCII Grid ADRG/ARC Digitilized Raster Graphics Arc/Info Binary Grid (.adf) Magellan BLX Topo (.blx,.xlb) Microsoft Windows Device Independent Bitmap (.bmp) BSB Nautical Chart Format (.kap) VTP Binary Terrain Format (.bt) CEOS (Spot for instance) First Generation USGS DOQ (.doq) New Labelled USGS DOQ (.doq) Military Elevation Data (.dt0,.dt1) ERMapper Compressed Wavelets (.ecw) ESRI.hdr Labelled ENVI.hdr Labelled Raster Envisat Image Product (.n1) Graphics Interchange Format (.gif) GMT compatible netCDF Golden Software Binary Grid TIFF / BigTIFF / GeoTIFF (.tif) Hierarchical Data Format Release 4 (HDF4) Hierarchical Data Format Release 5 (HDF5) ILWIS Raster Map (.mpr,.mpl) Intergraph Raster Erdas Imagine (.img) Japanese DEM (.mem) JPEG2000 (.jp2,.j2k) NOAA Polar Orbiter Level 1b Data Set (AVHRR) Erdas 7.x.LAN and.GIS Multi-resolution Seamless Image Database MrSID 3 Поддержка GRASS обеспечивается расширением «GRASS»
NetCDF OGDI Bridge Oracle Spatial Georaster OGC Web Coverage Server OGC Web Map Server PCI.aux Labelled PCI Geomatics Database File PCRaster Portable Network Graphics (.png) Netpbm (.ppm,.pgm) USGS SDTS DEM (*CATD.DDF)
SAR CEOS
USGS ASCII DEM (.dem) X11 Pixmap (.xpm) Руководство пользователя QGIS 1.6.0 B. Модули GRASS «Оболочка GRASS» в панели «Инструменты GRASS» предоставляет доступ почти ко всем (более чем к 300) модулям GRASS в режиме командной строки. Чтобы предложить более дружественную к пользователю рабочую среду, примерно 200 из числа доступных модулей и их функций представлены также в графических диалогах (меню).B.1. Модули GRASS Ознакомиться с полным списком модулей GRASS, доступных из QGIS можно в GRASS wiki: http://grass.
osgeo.org/wiki/GRASS-QGIS_relevant_module_list C. GNU General Public License
GNU GENERAL PUBLIC LICENSE
Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software–to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation’s software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author’s protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors’ reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone’s free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS FOR
COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program below, refers to any such program or work, and a "work based on the Program"means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language.(Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program’s source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty;
keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
B.1. Модули GRASS b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License.
Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients’ exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time.
Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM,
TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE
COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS"WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY
COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM
AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL
OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING
BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN
IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
C.1. Quantum GIS Qt exception for GPL In addition, as a special exception, the QGIS Development Team gives permission to link the code of this program with the Qt library, including but not limited to the following versions (both free and commercial): Qt/Non-commerical Windows, Qt/Windows, Qt/X11, Qt/Mac, and Qt/Embedded (or with modified versions of Qt that use the same license as Qt), and distribute linked combinations including the two. You must obey the GNU General Public License in all respects for all of the code used other than Qt. If you modify this file, you may extend this exception to your version of the file, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your D. Стандартная Общественная Лицензия This is an unofficial translation of the GNU General Public License into Russian. It was not published by the Free Software Foundation, and does not legally state the distribution terms for software that uses the GNU GPL — only the original English text of the GNU GPL does that. However, we hope that this translation will help Russian speakers understand the GNU GPL better.Настоящий перевод Стандартной Общественной Лицензии GNU на русский язык не является официальным. Он не публикуется Free Software Foundation и не устанавливает имеющих юридическую силу условий для распространения программного обеспечения, которое распространяется на условиях Стандартной Общественной Лицензии GNU.
Условия, имеющие юридическую силу, закреплены исключительно в аутентичном тексте Стандартной Общественной Лицензии GNU на английском языке. Я надеюсь, что настоящий перевод поможет русскоязычным пользователям лучше понять содержание Стандартной Общественной Лицензии GNU.
Автор перевода Елена Тяпкина ([email protected]), 20 марта 2002 г.