Как исправить геометрию в qgis
Обработка геометрии¶
Points, linestrings and polygons that represent a spatial feature are commonly referred to as geometries. In QGIS they are represented with the QgsGeometry class.
Sometimes one geometry is actually a collection of simple (single-part) geometries. Such a geometry is called a multi-part geometry. If it contains just one type of simple geometry, we call it multi-point, multi-linestring or multi-polygon. For example, a country consisting of multiple islands can be represented as a multi-polygon.
Координаты, описывающие геометрию, могут быть в любой системе координат (CRS). Когда выполняется доступ к объектам слоя, ассоциированые геометрии будут выданы с координатами в СК слоя.
Description and specifications of all possible geometries construction and relationships are available in the OGC Simple Feature Access Standards for advanced details.
Создание геометрий¶
There are several options for creating a geometry:
Coordinates are given using QgsPoint class.
Polyline (Linestring) is represented by a list of points. Polygon is represented by a list of linear rings (i.e. closed linestrings). First ring is outer ring (boundary), optional subsequent rings are holes in the polygon.
Составные геометрии имеют дополнительный уровень вложености, так: мульти-точка это список точек, мульти-линия — список линий и мульти-полигон является списком полигонов.
from well-known text (WKT)
from well-known binary (WKB)
Доступ к геометрии¶
First, you should find out geometry type, wkbType() method is the one to use — it returns a value from QGis.WkbType enumeration
As an alternative, one can use type() method which returns a value from QGis.GeometryType enumeration. There is also a helper function isMultipart() to find out whether a geometry is multipart or not.
To extract information from geometry there are accessor functions for every vector type. How to use accessors
The tuples (x,y) are not real tuples, they are QgsPoint objects, the values are accessible with x() and y() methods.
Геометрические предикаты и операции¶
Here you have a small example that combines iterating over the features in a given layer and performing some geometric computations based on their geometries.
Areas and perimeters don’t take CRS into account when computed using these methods from the QgsGeometry class. For a more powerful area and distance calculation, the QgsDistanceArea class can be used. If projections are turned off, calculations will be planar, otherwise they’ll be done on the ellipsoid.
You can find many example of algorithms that are included in QGIS and use these methods to analyze and transform vector data. Here are some links to the code of a few of them.
Additional information can be found in following sources:
Форумы GIS-Lab.info
Геоинформационные системы (ГИС) и Дистанционное зондирование Земли
Как автоматически исправить ошибки геометрии?
Сообщение Prince660 » 15 мар 2017, 20:38
Руками исправлять сотни объектов не вариант. Была мысль написать для этого утилиту на питоне, но при моём уровне программирования это займёт уйму времени.
Подскажите варианты решения проблемы!
Re: Как автоматически исправить ошибки геометрии?
Сообщение Boris » 17 мар 2017, 19:51
Re: Как автоматически исправить ошибки геометрии?
Сообщение nadiopt » 18 мар 2017, 10:37
Re: Как автоматически исправить ошибки геометрии?
Сообщение Prince660 » 18 мар 2017, 15:35
Обе точки на рисунке относятся к Зелёному полигону, он не полностью на рисунок влез. Получается что точки с этими координатами втречаются в полигоне по 2 раза. Для моих задач достаточно сдвинуть точку хоть на одну десятитысячную долю метра чтобы небыло ошибки и при этом было минимальное отклонение по площади. Получившийся зазор между полигонами особого значения не имеет, после дальнейших операций пересечения с другими полигонами осколочные полигоны буду сливать с более крупными соседними.
Переганять в грид не вижу смысла, полигоны изначально были получены из растра (.tif) и собственно от туда ошибки и полезли.
Пока для решения написал модуль на Питоне, который мне в отдельный файл сохраняет совпадающие точки с ошибками. Это упращает их исправление, искать в ручную не надо.
Если есть идеи как реализовать модуль для исправления или может кто-то другие модули знает, пишите, буду рад любой информации.
Re: Как автоматически исправить ошибки геометрии?
Сообщение bolotoved » 19 мар 2017, 02:49
В GRASS есть комплекс модулей для построения правильной топологии и ее исправления, до сих пор возможностей грасса в этом плане мне хватало с лихвой, но нужно вникнуть. Посмотрите краем глаза:
Если приложите фрагмент файла, я на досуге попробую его прогнать через GRASS.
Re: Как автоматически исправить ошибки геометрии?
Сообщение Prince660 » 19 мар 2017, 15:00
bolotoved писал(а): В GRASS есть комплекс модулей для построения правильной топологии и ее исправления, до сих пор возможностей грасса в этом плане мне хватало с лихвой, но нужно вникнуть. Посмотрите краем глаза:
Если приложите фрагмент файла, я на досуге попробую его прогнать через GRASS.
Был бы благодарен за помощ. Потому как с GRASS ещё никогда не работал и сходу разобраться по ссылкам не смог (не силён в английском).
Re: Как автоматически исправить ошибки геометрии?
Сообщение gamm » 19 мар 2017, 17:11
Re: Как автоматически исправить ошибки геометрии?
Сообщение bolotoved » 19 мар 2017, 18:09
Re: Как автоматически исправить ошибки геометрии?
Сообщение bolotoved » 20 мар 2017, 06:39
Re: Как автоматически исправить ошибки геометрии?
Сообщение Prince660 » 21 мар 2017, 23:47
Re: Как автоматически исправить ошибки геометрии?
Сообщение bolotoved » 25 мар 2017, 09:36
Сорри, был в отъезде. Про Грасс на русском мало, но документация там хорошая и написана понятно, на таком уровне владеть чтением английских мануалов необходимо уметь, и судя по вашим задачам, сильно упростит вам жизнь. Первичное представление можно получить в статьях на гис-лабе: http://gis-lab.info/qa.html в качестве ключевого слова нужно внести «GRASS»
Прилагаю результат векторизации и скрипт с помощью которого он получен. Можно геометрию еще упростить и сгладить используя модуль v.generalize, сейчас там без особого упрощения, только со сглаживанием с порогом в 30 м: https://yadi.sk/d/isrl5VRr3GKtwP
Re: Как автоматически исправить ошибки геометрии?
Сообщение Prince660 » 27 мар 2017, 13:13
bolotoved писал(а): Сорри, был в отъезде. Про Грасс на русском мало, но документация там хорошая и написана понятно, на таком уровне владеть чтением английских мануалов необходимо уметь, и судя по вашим задачам, сильно упростит вам жизнь. Первичное представление можно получить в статьях на гис-лабе: http://gis-lab.info/qa.html в качестве ключевого слова нужно внести «GRASS»
Прилагаю результат векторизации и скрипт с помощью которого он получен. Можно геометрию еще упростить и сгладить используя модуль v.generalize, сейчас там без особого упрощения, только со сглаживанием с порогом в 30 м: https://yadi.sk/d/isrl5VRr3GKtwP
Спасибо что заморочились, но мой воз и ныне там. Проверил тот файл что вы выложили в QGIS (проверка топологии) и мне вылезло больше сотни ошибок.
Пока справляюсь с задачей отискивая ошибки различными способами и исправляя их вручную.
Редактирование¶
QGIS предоставляет разнообразные возможности для редактирования векторных данных OGR, PostGIS и Spatialite.
Процедура редактирования данных GRASS имеет свои отличия — подробнее см. раздел Оцифровка и правка векторных слоёв GRASS.
Параллельное редактирование
Данная версия QGIS не различает между собой нескольких пользователей, одновременно редактирующих одни и те же данные. Сохраняются изменения того пользователя, который сохранил их последним.
Настройка порога прилипания и радиуса поиска¶
Перед началом редактирования узлов необходимо установить величину порога прилипания и радиуса поиска, что позволит оптимизировать редактирование геометрии векторных слоёв.
Порог прилипания¶
Порог прилипания — это расстояние, используемое QGIS для поиска ближайшего узла и/или сегмента, к которому надо присоединиться при создании нового узла или передвижении уже существующего. Если превысить порог прилипания, то при нажатии кнопки мыши узел будет создан «в стороне», вместо того, чтобы быть привязанным к уже существующему узлу и/или сегменту. Величина порога прилипания оказывает влияние на функционирование всех инструментов программы, связанных с величинами допуска.
Общая для всего проекта величина порога прилипания устанавливается в Установки ‣ Параметры (для Mac: QGIS ‣
Настройки, для Linux: Редактирование ‣
Параметры). На вкладке Оцифровка можно установить режим прилипания по умолчанию: к вершинам, к сегментам, или к вершинам и сегментам. Также можно определить значения по умолчанию для единиц измерения порога прилипания и радиуса поиска. Эти величины могут быть установлены как в единицах карты, так и в пикселах. Преимущество использования пикселов в качестве единиц заключается в том, что при зуммировании порог прилипания не будет изменяться. В нашем небольшом проекте оцифровки (по рабочему набору данных Alaska) мы установили в качестве единицы порога прилипания фут. Ваши результаты могут отличаться, но величины, близкие к 300 футов, дают приемлемые результаты при работе в масштабе 1:10000.
Величина порога прилипания для отдельного слоя устанавливается в Установки ‣ (или Файл) Параметры прилипания. для включения и настройки режима и порога прилипания для каждого слоя (см. figure_edit_1).
Обратите внимание, что величина порога прилипания для отдельного слоя имеет преимущество над общим порогом прилипания, установленным на вкладке Оцифровка. Таким образом, если надо отредактировать один слой и прилепить его вершины к другому слою, необходимо активировать прилипание «прилипание к» для слоя, затем снизить общий порог прилипания для проекта до меньшего значения. Кроме того, прилипание невозможно для слоя, не активизированного в диалоговом окне параметров прилипания, независимо от параметров общего прилипания. Поэтому необходимо убедиться, что у слоя, к которому необходимо применить прилипание, стоит флажок.
Figure Edit 1:
Edit snapping options on a layer basis
Радиус поиска¶
Радиус поиска — это расстояние, используемое QGIS для поиска ближайшей вершины, которую вы пытаетесь переместить, щелкая кнопкой мыши по карте. За пределом радиуса поиска QGIS не сможет найти и выделить какую-либо вершину для последующего редактирования, о чем сообщит всплывающее окно предупреждения. Порог прилипания и радиус поиска устанавливаются в единицах карты или пикселях, так что для того, чтобы установить приемлемые значения, лучше всего с ними поэкспериментировать. Если установлен слишком большой порог, QGIS может прилепиться к неверной вершине, особенно, если работа идет с большим количеством близко расположенных вершин. Однако слишком маленький порог не позволит обнаружить какой-либо объект.
Радиус поиска для редактирования вершин в единицах слоя устанавливается на вкладке Оцифровка, расположенной в меню Установки ‣ Параметры. Там же устанавливается общий для всего проекта порог прилипания.
Масштабирование и прокрутка карты¶
Перед редактированием слоя следует увеличить район исследований на карте. Это спасёт от ожидания прорисовки всех вершин слоя.
Помимо использования кнопок Прокрутка карты и
Увеличить /
Уменьшить на панели инструментов, навигация также может осуществляться с помощью «колеса» мыши, клавиши «Пробел» и стрелок.
Зуммирование и прокрутка карты с помощью «колеса» мыши¶
Нажатие и удержание «колеса» мыши во время редактирования позволяет перемещать карту в пределах основного окна, а его прокручивание приводит к масштабированию карты. Для увеличения необходимо расположить курсор мыши внутри площади карты и крутить «колесо» вперед (от себя), для уменьшения — назад (к себе). Положение курсора мыши является центром области зуммирования. Можно настроить режим зуммирования «колесом» мыши, используя вкладку Инструменты в меню Установки ‣ Параметры.
Прокрутка карты с помощью стрелок¶
Прокрутка карты во время редактирования возможна с помощью стрелок. Расположите курсор мыши внутри площади карты и нажмите на правую стрелку для перемещения на восток, на левую стрелку для перемещения на запад, стрелку вверх для перемещения на север и стрелку вниз для перемещения на юг.
Также возможно использовать клавишу «Пробел» для временного замещения мыши при прокрутке карты. Нажатие стрелок клавиатуры «Вверх» и «Вниз» приведет к увеличению и уменьшению карты, не прерывая процесса оцифровки.
Топологическое редактирование¶
Кроме установки параметров прилипания для отдельного слоя, в диалоге Параметры прилипания можно активировать некоторые функции контроля топологии. Так, здесь можно можно активировать Включить топологическое редактирование и/или активировать
Предотвращать пересечение новых полигонов.
Включение топологического редактирования¶
Опция Включить топологическое редактирование предназначена для редактирования и управления общими границами в мозаике полигонов. QGIS «определяет» общие границы в мозаике полигонов. При изменении положения вершины одного полигона QGIS позаботится о том, чтобы положение вершины соседнего полигона изменилось соответственно.
Предотвращение пересечения новых полигонов¶
Следующая топологическая опция называется Предотвращать пересечение новых полигонов и позволяет избежать пересечений в мозаике полигонов, что ускоряет редактирование смежных полигонов. Если один полигон уже существует, с помощью этой функции можно оцифровать новый с пересечением первого, и QGIS обрежет второй полигон по общей границе. Основное преимущество заключается в том, что пользователи не должны цифровать все вершины по границе смежных полигонов.
Редактирование существующего слоя¶
По умолчанию, QGIS подгружает слои, делая их доступными только для чтения: это защита от непреднамеренного редактирования слоя, что случается, например, при неловком движении «мышкой». Однако, можно установить редактирование любого слоя при условии, если на это имеется соответствующее разрешение, и основной источник данных имеет возможность записи (т.е. эти файлы доступны не только для чтения). Редактирование слоев наиболее универсально, если используются источники данных, основанных на PostgreSQL/PostGIS.
Все возможности редактирования векторных слоев разделены между панелями инструментов оцифровки и дополнительным функциям оцифровки, описанных в разделе Дополнительные функции оцифровки. Их можно активировать и деактивировать в меню Вид ‣ Панели инструментов ‣. Используя основные инструменты для оцифровки, можно выполнять следующие функции:
Добавить объект: создать точку
Добавить объект: создать линию
Добавить объект: создать полигон
Основные инструменты редактирования векторного слоя
Также, чтобы начать или закончить редактирование, можно использовать кнопку Режим редактирования на панели инструментов по оцифровке. После того, как слой стал редактируемым, над каждой вершиной появятся специальные маркеры и станут доступными кнопки с дополнительными функциями из панели инструментов.
Регулярное сохранение
Не забывайте нажимать Сохранить изменения регулярно. Это позволит не только сохранить последние изменения, но и удостовериться, что источники данных могут принять все сделанные изменения.
Добавление объектов¶
Для каждого объекта сначала идет оцифровка формы, а затем добавляются атрибуты. Чтобы начать оцифровку и создать первую точку нового объекта, надо нажать левой кнопкой мыши в области карты.
Для продолжения линий и полигонов надо продолжать нажимать на левую кнопку мыши для создания каждого дополнительного узла. Чтобы закончить редактирование объекта, просто щелкните правой кнопки мыши в любом месте карты. Это подтверждение того, что редактирование данного объекта окончено.
В процессе редактирования будет появляться окно атрибутов, позволяя тем самым вводить информацию для нового объекта. Figure_edit_2 показывает ввод атрибутов для вымышленной реки Аляски. В вкладке Оцифровка из меню Установки ‣ Параметры можно также активировать функцию Не показывать всплывающее окно ввода атрибутов для каждого создаваемого объекта
Использовать последние введённые значения.
Figure Edit 2:
Enter Attribute Values Dialog after digitizing a new vector feature
С помощью опции Переместить объект на панели инструментов можно двигать созданные объекты.
Типы значений атрибутов
При редактировании shape-файла типы атрибутов проверяются во время ввода. Поэтому невозможно ввести числовое значение в текстовое поле диалога Атрибуты или наоборот. Если это сделать все же необходимо, то следует отредактировать атрибуты на следующем шаге в диалоге Таблица атрибутов.
Редактирование узлов¶
Как для слоев данных PostgreSQL/PostGIS, так и для слоев, состоящих из shape-файлов, Редактирование узлов предоставляет возможности изменения узлов объектов, аналогичные имеющимся в программах CAD. Можно выделить сразу множество вершин и перемещать, добавлять или удалять их все вместе. Инструмент редактирования узлов работает с включенной функцией перепроецирования «на лету», а также поддерживает топологическое редактирование объектов. Этот инструмент, в отличие от остальных инструментов Quantum GIS, довольно «настойчивый»: так, когда некоторая операция выполнена, инструмент продолжает оставаться активным, а объект выделенным. Если инструмент редактирования узлов не может обнаружить объекты, на дисплей выдается предупреждение.
Важно правильно установить Установки ‣ Параметры ‣ Оцифровка ‣ Радиус поиска
, значение должно быть больше нуля. В противном случае QGIS не распознает редактируемую вершину.
Маркировка вершин
Данная версия QGIS поддерживает три типа маркировки вершин — полупрозрачный круг, крест и «без маркера». Чтобы изменить стиль маркировки, выберите Параметры из меню Установки и на вкладке Оцифровка выберите подходящий тип.
Основные операции¶
Включите инструмент Редактирование узлов и выделите объект простым нажатием на него. На месте каждой вершины этого объекта появятся красные рамки.
Добавление узлов: Добавить узлы также просто. Двойной щелчок мыши рядом с отрезком линии добавит новую вершину рядом с положением курсора. Обратите внимание, что вершина появится на ребре объекта, а не точно в месте курсора,но при необходимости ее можно переместить.
Перемещение узлов: Выделите все вершины, которые собираетесь перемещать. Все выделенные вершины будут перенесены в направлении курсора. Если активна функция прилипания, все вершины могут перескочить на ближайшие узлы или линии.
При отпускании кнопки мыши все изменения будут сохранены и появятся в диалоге отмены. Запомните, что все операции поддерживают топологическое редактирование, когда оно включено. Перепроецирование «на лету» также поддерживается. Кроме того, инструмент показывает всплывающие подсказки при наведении указателя мыши на узел.
Вырезать, копировать и вставить объекты¶
Объекты также можно вставить во внешние приложения в виде текста: объекты отражаются в формате CSV, где их геометрия передается форматом OGC Well-Known Text (WKT).
Рассмотрим пример копирования отдельных озер в новый слой:
Загрузите слой, из которого вы собираетесь копировать (исходный слой)
Загрузите или создайте слой, в который вы будете копировать (целевой слой)
Начаните редактирование целевого слоя
Активируйте исходный слой щелчком мыши по нему в легенде
Нажмите кнопку Копировать объекты
Сделайте активным целевой слой, щелкнув по нему в легенде кнопкой мыши
Нажмите Вставить объекты
Завершите редактирование и сохраните изменения
Что случится, если исходный и целевой слой имеют разную структуру (названия полей и их типы отличаются)? QGIS заполнит совпадающие поля и проигнорирует остальные. Если результат копирования атрибутов в целевой слой не имеет значения, то становится неважно, в каком виде они там будут представлены. Если в целевом слое необходимо сохранить все с точностью — объекты и их атрибуты, необходимо убедиться, что структуры исходного и целевого слоя совпадают.
Соответствие вставляемых объектов
Если исходный и целевой слой находятся в одинаковой проекции, тогда геометрия вставленных объектов будет идентична исходному слою. Однако если целевой слой находится в проекции, отличной от исходной, тогда QGIS не гарантирует идентичность геометрии. Это происходит по причине незначительных ошибок округления, неизбежных при переходе от одной проекции к другой.
Удаление выделенных объектов¶
Поддержка удаления объектов
Когда редактируется shape-файл, удаление объектов из него возможно, если QGIS использует версию GDAL 1.3.2 или выше. Версии QGIS для операционных систем OS X и Windows, доступные для скачивания на официальном сайте, сделаны с использованием версии GDAL 1.3.2 или выше.
Сохранение отредактированных слоев¶
Если изменения не могут быть сохранены (например, диск полон или атрибуты имеют неверное значение), QGIS сохранит их в своей памяти. Это позволит откорректировать изменения и попробовать еще раз.
Целостность данных
Создание резервной копии данных перед началом редактирования — это всегда хорошая идея. Несмотря на то, что авторы QGIS сделали все возможное для сохранения ваших данных, они по-прежнему не дают никаких гарантий в этом отношении.
Дополнительные функции оцифровки¶
ОБъединить выбранные объекты
Объединить атрибуты выбранных объектов
Дополнительные возможности редактирования векторного слоя
Отменить и Вернуть¶
Инструменты Отменить и
Вернуть позволяют отменить либо вернуть последний или какой-либо конкретный шаг при редактировании векторных данных. Основной вид операций Отменить/Вернуть представляет из себя виджет, где показаны все действия (см. Figure_edit_3). Этот виджет по умолчанию не показывается, чтобы он появился, надо нажать правой кнопкой мыши на панели инструментов и кликнуть по флажку Отменить/Вернуть. Однако функция Отменить/Вернуть активна, даже если виджет не выведен на экран.
Figure Edit 3:
Redo and Undo digitizing steps
При нажатии кнопки «Отменить» состояние всех объектов и их атрибутов возвращается на шаг назад. Изменения, произведенные в каком-либо другом месте (например, в одном из модулей), могут иметь неспецифические названия для своих операций, которые появляются в этой закладке. Операции можно отменить или оставить их изменения.
Для отмены или повтора действия достаточно выбрать необходимый пункт из списка операций, после чего все объекты будут возвращены в состояние, предшествующее указанной операции.
Упростить объект¶
Инструмент Упростить объект позволяет уменьшить количество вершин объекта, при этом, геометрия объекта не изменяется. Необходимо выделить объект, после чего он будет подсвечен красным и появится ползунок. При движении ползунка красная опоясывающая линия меняет свою форму, показывая тем самым, как именно объект будет упрощен. Если нажать кнопку [OK], новая упрощенная геометрия будет сохранена. Если объект не может быть упрощен (например, мультиполигоны), появится всплывающее окно предупреждения.
Добавить кольцо¶
Можно создать кольцевой полигон, используя функцию Добавить кольцо на панели инструментов. Внутри существующего полигона можно оцифровать последующий полигон, который превратиться в «отверстие», таким образом, только оставшаяся область между границами внешнего и внутреннего полигона и будет кольцевым полигоном.
Добавить часть¶
Можно использовать Добавить часть для добавления новых полигонов к мультиполигональным объектам. Новая полигональная часть должна быть создана за границами мультиполигона.
Удалить кольцо¶
Инструмент Удалить кольцо позволяет удалять кольцевые полигоны внутри существующей площади. Этот инструмент работает только с полигональными слоями. Никакик изменений не произойдет, если инструмент применяется на внешнем контуре полигона. Инструмент может применяться как для полигональных объектов, так и на мультиполигональных. Перед тем, как выделить вершины кольца, настройте порог прилипания для вершин.
Удалить часть¶
Инструмент Удалить часть позволяет удалять части мультиполигональных объектов (например, удалить полигон мультиполигонального объекта). Инструмент не сможет удалить последнюю часть объекта. Она останется нетронутой. Инструмент работает со всеми типами геометрии: точками, линиями, полигонами. Перед тем, как выделить вершины части, необходимо настроить порог прилипания для вершин.
Корректировать объекты¶
Рассмотрим редактирование границы полигона при помощи этого инструмента. Сначала необходимо поставить точку внутри полигона, рядом с местом, где необходимо добавить новую вершину. Затем провести линию через контур и добавить новые вершины. Для завершения операции поместите указатель внутри контура и нажмите правую клавишу мыши. Инструмент автоматически добавит новые вершины в местах пересечения контура. Аналогичным образом можно «вырезать» часть полигона. В этом случаем начинать и заканчивать построение необходимо вне контура.
Инструмент корректировки объектов может изменять начало кольца полигона или замкнутой линии. Так, точка, представленная «дважды», больше не будет таковой. Это не должно быть проблемой при использовании большинства приложений, но, тем не менее, это необходимо иметь в виду.
Параллельная кривая¶
Инструмент Параллельная кривая является новым инструментом редактирования. Он предназначен для параллельного переноса линий и колец полигона. Инструмент может применяться к редактируемому слою (в этом случае изменяются объекты) или же к фоновым слоям (в этом случае создаются копии линий/колец и добавляются в редактируемый слой). Таким образом, он идеально подходит для создания линейных слоёв с фиксированным шагом. Размер смещения отображается в нижней левой части строки состояния.
Разбить объекты¶
Можно разбить объекты, используя инструмент Разбить объекты на панели инструментов. Чтобы разбить объект, просто нарисуйте линию через него.
Объединить выбранные объекты¶
Инструмент Объединить выбранные объекты позволяет объединять объекты, которые имеют общие границы и атрибуты.
Объединить атрибуты выбранных объектов¶
Инструмент Объединить атрибуты выбранных объектов позволяет объединять атрибуты нескольких объектов без их объединения в один объект.
Повернуть значки¶
Инструмент Повернуть значки в настоящее время поддерживает только «старую» символику. Он позволяет изменить поворот точечного символа на карте, если задано вращение по столбцу атрибутивной таблицы точечного слоя на вкладке Стиль из меню свойств слоя — Свойства слоя. В другом случае инструмент будет неактивным.
Figure Edit 4:
Rotate Point Symbols
Чтобы повернуть объект, выделите точечный объект на карте и вращайте его, удерживая нажатой левую кнопку мыши. При этом будет отображаться красная стрелка с величиной угла поворота (см. Figure_edit_4). Когда вы отпустите левую кнопку мыши, в таблице атрибутов обновится значение.
Если удерживать кнопку Ctrl нажатой, поворот будет осуществляться с шагом 15 градусов.
Создание нового векторного слоя¶
QGIS позволяет создавать новые shape-файлы и слои Spatialite. Создание новых слоев GRASS осуществляется с помощью расширения GRASS. Для более подробной информации по созданию слоев GRASS обратитесь к разделу Создание нового векторного слоя GRASS.
Создание нового shape-файла¶
Чтобы создать новый редактируемый shape-файл, выберите Создать ‣ Создать новый shape-файл из меню Слой. Появится диалог Новый векторный слой, как показано на Figure_edit_5. Выберите тип слоя (точка, линия или полигон) и желаемую систему координат.
Обратите внимание, что QGIS пока еще не поддерживает создание объектов в размерности 2.5D (т.е. объектов с координатами X, Y, Z), кроме того, не поддерживается создание объектов с линейной системой координат (координата M).
Figure Edit 5:
Creating a new Shapefile layer Dialog
Создание нового слоя SpatiaLite¶
Чтобы создать новый редактируемый слой SpatiaLite, выберите Создать ‣ Создать слой SpatiaLite из меню Слой. Появится диалог Создать слой SpatiaLite, как показано на Figure_edit_6.
Figure Edit 6:
Creating a New SpatiaLite layer Dialog
Чтобы задать таблицу атрибутов для нового слоя SpatiaLite, добавьте имена и определите соответствующие типы данных для новых столбцов таблицы, затем нажмите кнопку [Добавить]. В завершение нажмите кнопку [OK]. QGIS автоматически добавит новый слой в легенду, и он будет доступен для обычного редактирования, как описано в разделе Редактирование существующего слоя выше.
Дальнейшая работа со слоями SpatiaLite может выполняться при помощи модуля DB Manager, см. раздел db_manager.
Работа с таблицей атрибутов¶
Таблица атрибутов представляет объекты выделенного слоя. Каждая строка таблицы соответствует одному объекту на карте и отражает его атрибуты в столбцах. Объекты в таблице можно искать, выделять, перемещать и редактировать.
Чтобы открыть таблицу атрибутов векторного слоя, необходимо сделать его активным, нажав по нему кнопкой мыши в легенде карты. Затем в меню Слой выберите Открыть таблицу атрибутов. Также можно открыть таблицу атрибутов, щелкнув по слою в легенде правой кнопкой мыши, и выбрав
Открыть таблицу атрибутов из выпадающего меню.
Откроется новое окно, в котором будут представлены атрибуты для каждого объекта слоя (cм. figure_attributes_1). Количество объектов указано в заголовке атрибутивной таблицы.
Figure Attributes 1:
Attribute Table for Alaska layer
Выделение объектов в таблице атрибутов¶
Выделенная строка в таблице атрибутов представляет все атрибуты выделенного объекта слоя. Таблица атрибутов отражает все изменения в выделении объектов слоя через главное окно карты или наоборот. Смена выделения в таблице атрибутов приводит к изменению выделения в главном окне карты, также выделение другого объекта слоя приводит к выделению соответствующей ему строки таблицы.
Каждый столбец может быть отсортирован. Для этого надо нажать кнопкой мыши на его заголовоке. Небольшая стрелка отражает порядок сортировки (направленная вниз стрелка означает убывание величины от верхних строк к нижним, а направленная вверх стрелка означает возрастание величины от верхних строк к нижним).
Чтобы отобразить только выбранные строки, нажмите кнопкой мыши в окошке Только выбранные записи. Для поиска только по выделенным записям активируйте
Искать среди выбранных. Остальные кнопки, расположенные слева снизу атрибутивной таблицы, обладают следующими функциями:
Снять выделение или Ctrl+U
Переместить выделенные в начало или Ctrl+T
Обратить выделение или Ctrl+S
Копировать выбранные строки в буфер обмена также с Ctrl+C
Увеличить карту до выбранных строк также с Ctrl+J
Центрировать выделение также с Ctrl+P
Режим редактирования для редактирования отдельных значений таблицы атрибутов и активации функций, описанных ниже. Также можно использовать комбинацию клавиш Ctrl+E
Удалить выделенные объекты или Ctrl+D
Добавить поле для слоев PostGIS и OGR с версией GDAL >= 1.6. Или используйте комбинацию клавиш Ctrl+W
Удалить поле пока только для слоев PostGIS и OGR с версией GDAL >= 1.9, также доступно по Ctrl+L
Открыть калькулятор полей или Ctrl-I
Игнорирование геометрии в формате WKT
Сохранение выделенных объектов в качестве нового слоя¶
Работа с непространственными атрибутивными таблицами¶
Примером использования непространственных таблиц может быть использование её колонок для ограничения диапазона доступных значений атрибута векторного слоя при оцифровке. Более подробно об этом рассказывается в разделе Поля.