8.4 Слияние результатов пересечения с целью получения показателя пространственной связи
Поскольку каждый полигон в оверлейном слое содержит значение типа/подтипа почвы и типа рельефа, появляется возможность установить приуроченность типов и подтипов почв к определенным типам рельефа.
Чтобы подсчитать долю каждого типа рельефа в площади каждого подтипа почв, необходимо просуммировать площади каждой их уникальной комбинации. Например, дерново-карбонатные выщелоченные почвы (Д-в-к) на крутых эрозионных склонах встречаются в пределах Сатинского полигона в виде 6 разрозненных участков, имеющих некоторую суммарную площадь. Эта площадь, деленная на суммарную площадь почв подтипа Д-в-к даст вероятностный критерий приуроченности почв Д-в-к к крутым эрозионным склонам. То же самое касается остальных комбинаций подтипов почв и типов рельефа.
С точки зрения рабочих процессов ГИС, операцию следует разбить на 5 шагов:
-
подсчет суммарной площади каждой комбинации подтипа почв и типа рельефа;
-
подсчет суммарной площади каждого подтипа почв;
-
добавление поля, в которое будет записана процентная доля;
-
соединение таблиц комбинаций и подтипов почв по названию подтипа почв;
-
деление площади комбинации на площадь подтипа почв и запись результата в соответствующее поле.
1.5 Оформление изображения рельефа
Изображение рельефа, которые вы видите, представляет собой так называемую аналитическую отмывку по высоте. Для аналитической отмывки используется шкала оттенков серого, применяемая по умолчанию. Мы будем использовать аналитическую отмывку по высоте вместе со светотеневой отмывкой.
-
Откройте свойства слоя и перейдите на вкладку Стиль.
-
Измените тип представления с Одноканальное серое на Одноканальное псевдоцветное.
-
Установите минимальное значение равным , а максимальное значение — 4000.
Настройки стиля 1
-
В строке выбора градиента («Цветовой ряд») нажмите правой кнопкой на шкалу и в открывшемся контекстном меню выберите опцию Новый цветовой ряд…
Настройки стиля 2
-
В появившемся всплывающем окне в ниспадающем списке выберите тип градиента Каталог: cpt-city (подробнее о cpt-city)
-
В открывшемся каталоге в разделе Topography выберите градиент c3t3 и нажмите OK
Настройки стиля 3
-
После нажатия OK были закрыты все окна, кроме окна свойств слоя . Нажмите OK, чтобы применить изменения символики и закрыть окно.
Вы успешно применили аналитическую отмывку по высоте к цифровой модели рельефа. Но для красочного, визуально привлекательного изображения этого недостаточно. Помимо аналитической отмывки по высоте, мы создадим светотеневую отмывку.
-
Щёлкните правой кнопкой мыши по слою в таблице слоёв и в контекстном меню нажмите Дублировать слой.
Дубликат слоя будет помещён в таблице слоёв ниже исходного слоя, выключен, а к его имени будет приписано “копия.”
-
Используя контекстное меню или окно свойств слоя, переименуйте оба слоя. Нижний слой назовите Аналитическая отмывка по высоте, верхний — Светотеневая отмывка.
-
Включите отображение нижнего слоя.
-
Откройте свойства слоя «Светотеневая отмывка», перейдите на вкладку «Стиль».
-
Измените способ визуализации на Теневой рельеф и нажмите Применить. При этом изменения будут применены, но окно свойств не закроется.
На заднем плане вы видите изменения, произошедшие с вашим слоем. Во-первых, изображение светотеневой отмывки полностью закрыло изображение аналитической отмывки по высоте. Эту проблему можно решить, включив настройки прозрачности для слоя. Во-вторых, сама светотеневая отмывка выглядит очень тёмной. Это связано с несовпадением единиц измерения «по горизонтали» и «по вертикали» в исходном наборе данных: ячейки растра образут градусную сетку, а высотные отметки хранятся в метрах. Проблему можно решить двумя путями: трансформировать слой в проецированную систему координат или применить коэффициент масштабирования по вертикали (Z-factor). Мы пойдём вторым путём и будем изменять значение коэффициента масштабирования.
Рассчитайте коэффициент масштабирования по отношению к 1° долготы и 1° широты (на широте параллели касания проекции). После этого сверьтесь с результатом ниже:
Показать Z-factor
0.000012
-
Помимо переводного коэффициента между единицами измерения, нам нужно дополнительно масштабировать высоты по вертикали, чтобы отмывка выглядела более «рельефно». В разных случаях применяется дополнительный множитель в диапазоне от 1,5 до 10, мы воспользуемся коэффициентом 5.
-
Перемножьте оба коэффициента и введите полученное значение в качестве Z-фактора слоя.
-
Перейдите на вкладку Прозрачность и установите коэффициент непрозрачности для слоя равным 50 %. Примените изменения, закройте окно свойств слоя и сохраните проект.
Снимок экрана №3. Изображение рельефа с высотной и светотеневой отмывкой
Инструменты выборки¶
Иконка |
Инструмент |
Назначение |
---|---|---|
Случайная выборка |
Randomly select n number of features, or n percentage of features. |
|
Случайная выборка в подмножествах |
Случайно выбирает набор объектов с уникальными значением указанного поля. |
|
Случайные точки |
Cоздает псевдо-случайные точки в пределах границ указанного слоя. |
|
Регулярные точки |
Создаёт регулярную сетку точек в пределах указаной области и экспортирует их в точечный шейп-файл. |
|
Векторная сетка |
Generate a line or polygon grid based on user-specified grid spacing. |
|
Выделение по районам |
Выделяет объекты на основе их положения относительно другого слоя, создавая новую выборку или добавляя/отнимая к/от текущей выборки. |
|
Полигон из границ слоя |
Создаёт полигональный слой с единственным прямоугольным полигоном в соответствии с границами исходного растрового или векторного слоя. |
[править] Создание векторного слоя
Для создания векторного слоя выберем Создать новый shape-файл в меню Слой-Создать слой или воспользуемся кнопкой , по умолчанию расположенной на панели инструментов. В открывшемся диалоговом окне зададим необходимые параметры.
Добавление векторного слоя
Во-первых, это формат файла, в котором будут храниться данные нового слоя. В текущей версии QGIS (0.11.0 – Metis) таким форматом, причем единственным, является ESRI Shapefile. Во-вторых, тип создаваемого слоя, здесь всё стандартно – точечный (Point), линейный (Line) или полигональный (Polygon). Также необходимо определить минимум одно поле таблицы атрибутов. В поле Name задается его имя, а в поле Type выбирается тип – действительное число (Real), целое число (Integer) или строка (String). Для добавления и удаления полей служат кнопки и . После того, как все необходимые параметры были заданы, нажимаем кнопку OK, задаем имя папки, в которой будут храниться наши данные, и переходим к редактированию только что созданного слоя.
7.11.9. Построение выражений¶
Выражения в QGIS — мощный способ для
-
изменения значений атрибутов
-
изменения геометрий
-
динамического изменения стилей
-
динамического изменения текстов, положения, цветов и оформления подписей
-
выборки, фильтрации, удаления объектов
-
создания и расчёта значений полей
Эти операции можно выполнять как с записью данных на диск, так и с вычислением каждый раз «на лету».
Ввод выражений происходит в диалоге «Построитель выражения». Он запускается из разных частей QGIS:
-
Кнопка ε
-
Инструмент «Выбрать по выражению»
-
Калькулятор полей
-
Переопределение значений в диалогах настройки стиля
-
Генератор геометрии
-
Некоторые инструменты анализа данных.
Инструменты анализа¶
Иконка |
Инструмент |
Назначение |
---|---|---|
Distance matrix |
Измеряет расстояние между точками двух точечных слоёв и выдает результат в виде a) квадратной матрицы расстояний, b) линейной матрицы расстояний, или c) суммы расстояний. Можно ограничить расчет только для k ближайших точек. |
|
Сумма расстояний в полигонах |
Рассчитывает сумму расстояний для линий линейного слоя в пределах каждого полигона другого (векторного полигонального) слоя. |
|
Количество точек в полигонах |
Рассчитывает число точек точечного слоя, которые находятся в пределах каждого полигона другого (векторного полигонального) слоя. |
|
Список уникальных значений |
List all unique values in an input vector layer field. |
|
Basic statistics |
Рассчитывает основные статистики (среднее, стандартное отклонение, количество, сумму, коэффициент вариации) для указанного поля. |
|
Nearest neighbor analysis |
Compute nearest neighbor statistics to assess the level of clustering in a point vector layer. |
|
Средние координаты |
Рассчитывает среднеарифметические или средневзвешенные координаты центра для целого векторного слоя или для набора объектов, выбранного на основе уникальные значения из указанного поля. |
|
Пересечения линий |
Рассчитывает местонахождения пересечений линий, создавая точечный шейп-файл с точками пересечений. Полезен для определения мест пересечений дорог или водотоков. Игнорирует пересечения линий с длинной > 0. |
7.12.2. Выборка¶
Операция запускается через пункт меню Вектор — пункт меню Выборка.
Эти инструменты выделяют объекты в заданном слое по разным алгоритмам или создают
новый Shapefile с сгенерированными объектами.
Случайная выборка
Операция запускается через пункт меню Вектор — пункт меню Выборка — Случайная выборка:
Рис. 7.140. Инструмент для работы с векторными данными — Случайная выборка.
Задаётся исходный векторный слой (любого типа).
Случайно выбирает заданное число объектов слоя или заданный процент объектов слоя.
Случайная выборка в подмножествах
Операция запускается через пункт меню Вектор — пункт меню Выборка — Случайная выборка в подмножествах:
Рис. 7.141. Инструмент для работы с векторными данными — Случайная выборка в подмножествах.
Случайно выбирает набор объектов с уникальными значением указанного поля так, чтобы
с каждым значением выбралось одинаковое число объектов.
Случайные точки
Операция запускается через пункт меню Вектор — пункт меню Выборка — Случайные точки:
Рис. 7.142. Инструмент для работы с векторными данными — Случайные точки.
Задаётся исходный векторный слой (полигональный).
Cоздает псевдослучайные точки в пределах границ указанного слоя.
Можно задавать количество генерируемых точек, можно генерировать точки только внутри
объектов полигонального слоя.
Создаёт новый точечный слой.
Слой генерируется в системе координат карты, будьте внимательны с преобразованием
координат на лету.
Регулярные точки
Операция запускается через пункт меню Вектор — пункт меню Выборка — Регулярные точки:
Рис. 7.143. Инструмент для работы с векторными данными — Регулярные точки.
Создаёт регулярную сетку точек в пределах указаной области и экспортирует их в
точечный шейп-файл. Создаёт новый точечный слой.
Слой генерируется в системе координат карты, будьте внимательны с преобразованием
координат на лету. Если вам нужно генерировать объекты с шагом заданных в метрах,
используйте соответствующие системы координат.
См. так же http://docs.nextgis.ru/docs_howto/source/grid_vertex_extract.html
Векторная сетка
Операция запускается через пункт меню Вектор — пункт меню Выборка — Векторная сетка:
Рис. 7.144. Инструмент для работы с векторными данными — Векторная сетка.
Создаёт регулярную сетку из линий или полигонов в пределах указанной области.
Создаёт новый слой.
Слой генерируется в системе координат карты, будьте внимательны с преобразованием
координат на лету. Если вам нужно генерировать объекты с шагом заданных в метрах,
используйте соответствующие системы координат.
См. так же http://docs.nextgis.ru/docs_howto/source/grid_vertex_extract.html
Пространственная выборка
Операция запускается через пункт меню Вектор — пункт меню Выборка — Пространственная выборка:
Рис. 7.145. Инструмент для работы с векторными данными — Пространственная выборка.
Выделяет объекты в одном слое, которые пересекают объекты в другом слое.
Можно выбирать, выделять ли объекты, которые касаются, пересекаются, полностью накладываются,
находятся полностью внутри.
Можно выбирать: создавать новое выделение, добавлять к существующему выделению,
убрать из текущего выделения.
Выделение по районам
Выделяет объекты на основе их положения относительно другого слоя, создавая новую
выборку или добавляя/отнимая к/от текущей выборки.
Консольный калькулятор на Python:
Как говорилось выше, мы сделаем легкий калькулятор на Python, и для этого нам нужно создать только один Python файл, я его назову «main.py».
Внутри него создадим функцию которая будет за всё отвечать, вот примерно так:
Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# Создание функции defmain() # Выводим сообщение print(«Это простой калькулятор на Python») # Запускаем бесконечный цикл whileTrue # Выводим сообщение какие действия есть print(«Выберите действие которое хотите сделать:\n» «Сложить: +\n» «Вычесть: -\n» «Умножить: *\n» «Поделить: /\n» «Выйти: q\n») # Переменная для хранения действия action=input(«Действие: «) # Если action равен q то ifaction==»q» # Выводим сообщение print(«Выход из программы») # Выходим из цикла break # Если action равен +, -, *, /, то ifaction in(‘+’,’-‘,’*’,’/’) # Присваиваем значение переменной x x=float(input(«x = «)) # Присваиваем значение переменной y y=float(input(«y = «)) # Если action равен + то ifaction==’+’ # Выводим сумму x и y print(‘%.2f + %.2f = %.2f’%(x,y,x+y)) # Если action равен — то elifaction==’-‘ # Выводим разность x и y print(‘%.2f — %.2f = %.2f’%(x,y,x-y)) # Если action равен * то elifaction==’*’ # Выводим результат умножения x на y print(‘%.2f * %.2f = %.2f’%(x,y,x*y)) # Если action равен / то elifaction==’/’ # Если y не равен нулю то ify!= # Выводим результат деления x на y print(‘%.2f / %.2f = %.2f’%(x,y,xy)) else# Иначе # Выводим сообщение, что на ноль делить нельзя print(«Деление на ноль!») |
То есть мы создаём функцию где происходит вся логика, внутри неё первым делом выводим сообщение, что мы открыли калькулятор.
Потом запускаем бесконечный цикл и в нём даём выбрать действие, тут как обычно, то есть, если выбираем знак плюса, то будем складывать и т.д..
После идёт проверка команд, если выбрать кнопку «q», то выходим из программы, если же это арифметический знак, то вводим два числа, кладём их в переменные в формате числа с плавающей точкой.
Потом проверяем конкретный знак, зависимо от него и делаем действии, выводим на экран, самое интересное это с делением, мы делаем проверку, если делитель, то есть «y», равен нулю то тогда не будем делить.
Последние что осталось это объявить переменную, вот:
Python
1 2 |
if__name__==’__main__’ main() |
Теперь запускаем файл, для этого переходим в папку и используем эту команду:
PowerShell
1 | python3 main.py |
Должно быть что-то типа этого:
Как видите наш консольный калькулятор на Python готов, в целом всё очень просто.
Масштабирование и прокрутка карты¶
Перед редактированием слоя следует увеличить район исследований на карте. Это спасёт от ожидания прорисовки всех вершин слоя.
Помимо использования кнопок Прокрутка карты и Увеличить / Уменьшить на панели инструментов, навигация также может осуществляться с помощью «колеса» мыши, клавиши «Пробел» и стрелок.
Зуммирование и прокрутка карты с помощью «колеса» мыши
Нажатие и удержание «колеса» мыши во время редактирования позволяет перемещать карту в пределах основного окна, а его прокручивание приводит к масштабированию карты. Для увеличения необходимо расположить курсор мыши внутри площади карты и крутить «колесо» вперед (от себя), для уменьшения — назад (к себе). Положение курсора мыши является центром области зуммирования. Можно настроить режим зуммирования «колесом» мыши, используя вкладку Инструменты в меню Установки ‣ Параметры.
Строковые
Функции для работы со строковыми данными, например замена или преобразование в верхний регистр.
Функция lower()
Преобразует текстовую строку в нижний регистр.
Синтаксис
lower(string)
Аргументы
string -> текстовая строка. Строка, регистр которой необходимо понизить.
Пример
lower(‘HELLO World’) -> ‘hello world’
Функция upper()
Преобразует текстовую строку в верхний регистр.
Синтаксис
upper(string)
Аргументы
string -> текстовая строка. Строка, регистр которой необходимо повысить.
Пример
upper(‘hello WOrld’) -> ‘HELLO WORLD’
Функция length()
Возвращает длину строки.
Синтаксис
length(string)
Аргументы
string -> текстовая строка. Строка, длину которой необходимо измерить.
Пример
length(‘HELLO’) -> 5
Функция replace()
Возвращает тестовую строку с определенными заменами.
Синтаксис
replace(string,before,after)
Аргументы
string -> строка. Исходная строка.
before -> строка. Заменяемая часть строки.
after -> строка. Заменяющая часть строки.
Пример
replace(‘QGIS SHOULD ROCK’,’SHOULD’,’DOES’) -> ‘QGIS DOES ROCK’
Синтаксис
Аргументы
Пример
Функция substr()
Возвращает определенную часть строки.
Синтаксис
substr(string,startpos,length)
Аргументы
string -> строка. Исходная полная строка.
startpos -> число. Стартовая позиция откуда следует начинать экстракцию.
length -> is number. Длина экстрагируемой строки.
Пример
substr(‘HELLO WORLD’,3,5) -> ‘LLO W’
Function Editor tab¶
With the Function Editor you are able to define your own Python custom functions in a
comfortable way.
The function editor will create new Python files in qgis2pythonexpressions and
will auto load all functions defined when starting QGIS. Be aware that new functions are
only saved in the expressions folder and not in the project file.
If you have a project that uses one of your custom functions you will need to also share
the .py file in the expressions folder.
Here’s a short example on how to create your own functions:
@qgsfunction(args="auto", group='Custom') def myfunc(value1, value2 feature, parent): pass
The short example creates a function ‘myfunc’ that will give you a function with two
values.
When using the args=’auto’ function argument the number of function
arguments required will be calculated by the number of arguments the
function has been defined with in Python (minus 2 — feature, and parent).
This function then can be used with the following expression:
myfunc('test1', 'test2')
Your function will be implemented in the ‘Custom’ Functions of the Expression tab
after using the Run Script button.
Further information about creating Python code can be found on
http://www.qgis.org/html/en/docs/pyqgis_developer_cookbook/index.html.
The function editor is not only limited to working with the field calculator, it can be found whenever
you work with expressions. See also .
Пространственные закладки¶
Пространственные закладки позволяют создавать своеобразные «закладки» географического положения и возвращаться к ним позднее.
Создание закладки
Для создания закладки:
-
Масштабируйте или панорамируйте карту до интересующей вас территории.
-
Выберите пункт меню Вид ‣ Новая закладка или нажмите Ctrl-B.
-
введите описательное имя для закладки (до 255 символов)
-
Нажмите Enter, чтобы добавить закладку, или для удаления существующей закладки
Помните, что можно иметь множество закладок с одинаковыми названиями.
Работа с закладками
Для использования закладок и управления ими выберите пункт меню Вид ‣ Показать закладки. Диалоговое окно Пространственные закладки позволяет просматривать или удалять закладки. Но нельзя редактировать название закладки или координаты.
Просмотр закладки
В диалоговом окне Пространственные закладки, выберите необходимую закладку, нажав на неё, затем нажмите кнопку . Также можно просмотреть закладку, дважды нажав на неё.
1.8 Подписи
-
Добавьте на карту набор данных , расположите слой на самом верху списка и переименуйте его в Вершины. Настройте отображение единым знаком в виде чёрного треугольника, аналогично тому, как показываются отметки высот в школьных атласах.
-
Откройте таблицу атрибутов слоя. Какие поля можно использовать для подписей?
-
Закройте таблицу атрибутов и откройте свойства слоя. Перейдите на вкладку «Подписи». Переключите режим подписей на Обычные подписи (подписывать объекты значением атрибута). В открывшемся меню в выпадающем списке «Подписывать значениями» выберите поле — тексты подписей будут «считываться» из него.
Настройки текста 1
-
В поле Text sample отображается пример подписи с теми настройками, которые заданы по умолчанию. Если вы будете менять настройки подписей (шрифт, форматирование, «гало» и др.), этот пример будет меняться. Сейчас мы последовательно пройдём по вкладкам настройки подписей, исправив необходимые параметры.
- На вкладке Текст установите гарнитуру («шрифт») Times New Roman, начертание («стиль») полужирный курсив, кегль («размер») 8.
- На вкладке Буфер включите опцию «Буферизовать подписи» и задайте буферизацию размером 0,6 мм. Это повысит читаемость подписей на карте.
- На вкладке Размещение выберите опцию «Картографическое», расстояние 0,1 мм от границ символа (from symbol bounds)
Примените настройки подписей и закройте свойства слоя
-
В каталоге остался незадействованный слой — . Добавьте его в проект, переименуйте и самостоятельно настройте условные знаки и подписи. Используйте параметр уникальные значения для того, чтобы отобразить города с разной численностью населения разными условными знаками.
Снимок экрана №4. Окно QGIS после завершения настройки символов
7.11.1. Работа с таблицей атрибутов¶
У векторных слоёв имеются атрибуты, которые описывают свойства объектов слоя. Их используют
для настройки отображения данных. Атрибуты векторных объектов хранятся в таблице.
Рис. 7.102. Меню «Открыть таблицу атрибутов».
Цифрами обозначено: 1. Выбрать слой. 2. В меню выберите пункт Слой. 3. Выбрать
пункт Открыть таблицу атрибутов. 4. Таблица атрибутов.
Каждый столбец таблицы атрибутов называется полем, каждая строка — записью. Каждая запись таблицы
атрибутов соответствует одному объекту в векторном слое. Столбцы — это атрибуты слоя.
Aтрибутивные записи объекта слоя связаны с геометрией объекта. Геометрия объекта
отображается на карте.
Можно настроить, чтобы таблица атрибутов открывалась в отдельном окне, а можно —
чтобы она всегда была внутри основного окна программы.
Рис. 7.103. Настройка таблицы атрибутов.
Цифрами обозначено: 1. Выбрать вкладку Источники данных. 2. Установка флажка
в пункте Таблица атрибутов — Открывать таблицу атрибутов во встраеваемом окне.
Можно настроить, чтобы объекты из одного слоя, но с разными атрибутами отображались
с разным оформлением. См. .
В таблице атрибутов чаще всего используются следующие кнопки:
Рис. 7.104. Кнопки в таблице атрибутов.
Цифрами обозначено: 1. Cортировка по полю. 2. Включить режим редактирования слоя.
Теперь в слое можно править значения как в электронной таблице, так и править геометрию.
3. Сохранить правки в этом слое (отдельно от сохранения всего проекта). 4. Удалить выделенные обьекты.
5. Снять выделение с объектов. 6. Переместить карту на выделеный объект или несколько объектов.
7. Изменить масштаб карты на выделенный объект или несколько выделенных объектов.
8. Копировать-вставить выделенные объекты (вместе с геометрией). 9. Удалить или добавить атрибут (столбец).
10. Запуск калькулятора полей. Добавляется новый столбец со значениями по формулам,
как в Excel.
11.2 Добавление исходных данных
-
Скопируйте материалы к упражнению (файл GeoPackage) в свою рабочую директорию
-
Создайте проект QGIS и сохраните его в свою рабочую директорию
-
Добавьте в проект слои RyazanRoadNetwork (улично-дорожная сеть) и RyazanBuildings (здания и сооружения). Оба этих слоя подготовлены на основе данных OpenStreetMap
- Задайте следующие настройки отображения слоёв:
- Улично-дорожная сеть — линии серого цвета (60 % светлоты) толщиной 0,26 мм;
- Здания и сооружения — полигоны серого цвета (80 % насыщенности) без обводки
- Задайте подписи слоёв. Для этого откройте свойства соответствующего слоя, перейдите на вкладку «Подписи» и измените стиль подписей с No labels на Single labels. Изучите доступные настройки подписей.
- Задайте следующие параметры подписей:
- Для слоя дорожной сети: подписи по полю , кегль (размер) шрифта — 8 типографских пунктов, остальные параметры по умолчанию;
- Для слоя зданий и сооружений: подписи по полю , кегль (размер) шрифта — 6 типографских пунктов, остальные параметры по умолчанию.
- Увеличьте масштаб изображения до 1:5000 и сделайте снимок экрана. Изображение фрейма карты должно быть похож на изображение ниже.
Снимок экрана №1. Окно QGIS после завершения настройки символов и подписей
1.4 Навигация по карте
Чтобы иметь возможность рассмотреть территорию картографирования более детально, потребуется увеличить масштаб и переместить изображение. Изучите функциональные возможности инструментов навигациии, которые расположены на панели инструментов Map Navigation (если панель отсутствует, щелкните на пустом поле среди панелей инструментов, и активируйте соответствующий пункт в меню):
Инструменты перемещения по карте
Некоторые инструменты навигации могут быть задействованы независимо. Например, масштабирование выполняется прокруткой колеса мыши, а перемещение по карте — движением мыши с зажатой средней кнопкой.
После того как инструменты навигации станут понятны, установите масштаб карты равным \(1:5~000~000\). Это можно сделать в элементе Масштаб в нижней панели QGIS. При этом достаточно ввести только знаменатель масштаба, выделив его двойным кликом и заменив на нужное значение без пробела ().
Инструменты выборки¶
Иконка |
Инструмент |
Назначение |
---|---|---|
Случайная выборка |
Randomly select n number of features, or n percentage of features. |
|
Случайная выборка в подмножествах |
Случайно выбирает набор объектов с уникальными значением указанного поля. |
|
Случайные точки |
Cоздает псевдо-случайные точки в пределах границ указанного слоя. |
|
Регулярные точки |
Создаёт регулярную сетку точек в пределах указаной области и экспортирует их в точечный шейп-файл. |
|
Векторная сетка |
Generate a line or polygon grid based on user-specified grid spacing. |
|
Выделение по районам |
Выделяет объекты на основе их положения относительно другого слоя, создавая новую выборку или добавляя/отнимая к/от текущей выборки. |
|
Полигон из границ слоя |
Создаёт полигональный слой с единственным прямоугольным полигоном в соответствии с границами исходного растрового или векторного слоя. |
Настройка порога прилипания и радиуса поиска¶
Перед началом редактирования узлов необходимо установить величину порога прилипания и радиуса поиска, что позволит оптимизировать редактирование геометрии векторных слоёв.
Порог прилипания
Порог прилипания — это расстояние, используемое QGIS для поиска ближайшего узла и/или сегмента, к которому надо присоединиться при создании нового узла или передвижении уже существующего. Если превысить порог прилипания, то при нажатии кнопки мыши узел будет создан «в стороне», вместо того, чтобы быть привязанным к уже существующему узлу и/или сегменту. Величина порога прилипания оказывает влияние на функционирование всех инструментов программы, связанных с величинами допуска.
-
Общая для всего проекта величина порога прилипания устанавливается в Установки ‣ Параметры (для Mac: QGIS ‣ Настройки, для Linux: Редактирование ‣ Параметры). На вкладке Оцифровка можно установить режим прилипания по умолчанию: к вершинам, к сегментам, или к вершинам и сегментам. Также можно определить значения по умолчанию для единиц измерения порога прилипания и радиуса поиска. Эти величины могут быть установлены как в единицах карты, так и в пикселах. Преимущество использования пикселов в качестве единиц заключается в том, что при масштабировании порог прилипания не будет изменяться. В нашем небольшом проекте оцифровки (по рабочему набору данных Alaska) мы установили в качестве единицы порога прилипания фут. Ваши результаты могут отличаться, но величины, близкие к 300 футов, дают приемлемые результаты при работе в масштабе 1:10000.
-
Величина порога прилипания для отдельного слоя устанавливается в Установки ‣ (или Файл) Параметры прилипания… для включения и настройки режима и порога прилипания для каждого слоя (см. ).
Обратите внимание, что величина порога прилипания для отдельного слоя имеет преимущество над общим порогом прилипания, установленным на вкладке Оцифровка. Таким образом, если надо отредактировать один слой и прилепить его вершины к другому слою, необходимо активировать прилипание «прилипание к» для слоя, затем снизить общий порог прилипания для проекта до меньшего значения
Кроме того, прилипание невозможно для слоя, не активизированного в диалоговом окне параметров прилипания, независимо от параметров общего прилипания. Поэтому необходимо убедиться, что у слоя, к которому необходимо применить прилипание, стоит флажок.
Figure Edit 1:
Настройка параметров прилипания для отдельного слоя
Expression tab¶
In the field calculator dialog, you first must select whether you want to only update selected
features, create a new attribute field where the results of the calculation will
be added or update an existing field.
Figure Attributes 3:
Калькулятор полей
If you choose to add a new field, you need to enter a field name, a field type
(integer, real or string), the total field width, and the field precision (see
). For example, if you choose a field width of 10 and a field
precision of 3, it means you have 6 digits before the dot, then the dot and another
3 digits for the precision.
A short example illustrates how field calculator works when using the Expression tab.
We want to calculate the length in km of the railroads layer from the QGIS sample dataset:
- Load the shapefile railroads.shp in QGIS and press
Open Attribute Table. -
Включите Режим редактирования и вызовите Калькулятор полей.
- Select the Create a new field checkbox to save the
calculations into a new field. - Add length as Output field name and real as Output field type, and
define Output field width to be 10 and Precision, 3. - Now double click on function $length in the Geometry group to add it
into the Field calculator expression box. -
Дополните выражение, введя 1000 в поле Выражение и нажмите .
- You can now find a new field length in the attribute table.
1: Строка ввода
Для начала нужно написать строку ввода, с помощью которой пользователи смогут вводить данные для вычислений в калькуляторе.
Для этого используйте встроенную функцию input(), которая принимает сгенерированный пользователем ввод с клавиатуры. В круглых скобках функции input() можно передать строку. Пользовательскому вводу нужно присвоить переменную.
В данной программе пользователь сможет вводить два числа. Запрашивая ввод, нужно добавить пробел в конце строки, чтобы отделить ввод пользователя от строки программы.
Прежде чем запустить программу, сохраните файл. К примеру, назовём программу calculator.py. теперь можно запустить программу в окне терминала в среде разработки с помощью команды:
Программа предложит вам ввести два числа:
На данный момент калькулятор принимает любые входные данные, не ограничиваясь числами: слова, символы, пробелы, даже enter. Это происходит потому, что функция input() принимает данные как строки и не знает, что в данном случае нужны только числа.
Чтобы программа могла выполнять математические вычисления, она не должна принимать никаких данных, кроме чисел.
В зависимости от предназначения калькулятора, программа может преобразовывать строки функции input() в целые числа или в числа с плавающей точкой. В данном случае целые числа подходят больше. Функцию input() нужно передать внутри функции int(), чтобы преобразовать ввод в целое число.
Теперь попробуйте ввести два целых числа:
Все работает без ошибок. Однако если вы введёте символы, пробелы или буквы, программа вернёт ошибку:
Итак, вы написали строку для ввода данных в программу.
Примечание: Попробуйте самостоятельно преобразовать входные данные в числа с плавающей точкой.
Инструменты управления данными¶
Иконка |
Инструмент |
Назначение |
---|---|---|
Задать текущую проекцию |
Задает проекцию для шейп-файла, если ранее она не была задана. |
|
Объединение атрибутов по районам |
Присоединяет дополнительные атрибуты к векторному слою на основе пространственного взаимного расположения. Атрибуты из одного векторного слоя присоединяются к атрибутивной таблице другого векторного слоя и экспортируются в шейп-файл. |
|
Разбить векторный слой |
Делит векторный слой на несколько отдельных слоев на основе значения указанного поля. |
|
Объединение shape-файлов |
Объединяет несколько шейп-файлов, находящихся в одной директории, в новый шейп-файл, основываясь на типе слоя (точечный, линейный, полигональный). |
|
Создать пространственный индекс |
Create a spatial index for OGR- supported formats. |
Таблица Ftools 5: Инструменты управления данными fTools
Вводные замечания
Технически, получить координаты, длины или площади пространственных объектов в современных ГИС достаточно просто. Гораздо сложнее понять насколько точны значения которые мы получили, и что можно сделать для улучшения точности полученных величин.
В зависимости от используемой для расчета системы координат (СК) и метода расчет пространственных характеристик объекта можно осуществить тремя способами:
- Расчет в СК слоя (Layer CRS) — для расчетов используется собственная система координат слоя. Поскольку векторные слои чаще всего хранят в не-спроецированном виде (в географической системе координат, например WGS1984 или Pulkovo 1942), все пространственные характеристики будут рассчитаны в десятичных градусах. Результаты таких расчетов имеют смысл только для координат точек и не имеют смысла для длин и площадей, так как единицы в таких системах угловые, а не линейные. Для расчетов площадей и длин, нужно предварительно перепроецировать слой в одну из прямоугольных систем координат. Если данные уже перепроецированы, этот способ вполне корректен.
- Расчет на эллипсоиде (Ellipsoid) — расчет пространственных характеристик объектов осуществляется на сфере или эллипсоиде. Использование данного метода позволяет получать наиболее точные результаты и не требует предварительных действий по перепроецированию или выбору проекции и подходит для всех типов геометрии (точек, линий и полигонов). Фактически, проекция данных игнорируется. В общем случае, рекомендуется использовать именно расчет на эллипсоиде.
На данный момент в QGIS реализовано два инструмента для расчета площадей:
- Инструмент «Экспорт/Добавить поле геометрии (входит в состав модуля fTools). Данный инструмент поддерживает все три способа расчета площадей (в СК слоя, в СК вида и на эллипсоиде).
- Набор функций для расчета пространственных характеристик в калькуляторе полей (Field Calculator), тут на настоящий момент реализована поддержка расчетов только в СК слоя.
Заключение
В заключение, сделаем важное замечание: правилом хорошего тона считается документирование, какое ПО (версия) и какой инструмент использовались для расчета пространственных характеристик объектов. Дело в том, что в разном ПО используются отличающиеся алгоритмы расчетов, параметры (точность назначения) СК и эллипсоидов, что приводит к тому, что для одних и тех же данных рассчитанные пространственные характеристики несколько отличаются
В научном мире приоритет отдается алгоритмам имеющим открытый исходный код, чтобы каждый мог воспроизвести расчеты и найти ошибки алгоритмов. В связи с этим QGIS как инструмент в руках ученого предстает в более выгодном свете.
При расчетах длин и площадей с использованием проекций необходимо также указывать, какие именно проекции использовались, особенно это касается расчетов в глобальном охвате, т.к. чем больше охват территории, тем больше разница в результатах расчетов выполненных в разных проекциях.