Страница 1 из 1

Проблема с удалением узлов в слое PostGIS

Добавлено: 12 фев 2014, 10:02
Fungi
Здравствуйте. У меня есть сервер с Ubuntu и PostgreSQL. Подключаюсь в QGIS к нему, загружаю из PostgreSQL слои, редактирую их, добавляю новые узлы, но почему-то не могу удалить узлы! У меня кнопка "удалить выделенное" вообще не доступна. Это нормально?

Re: Проблема с удалением узлов в слое PostGIS

Добавлено: 12 фев 2014, 17:45
Дмитрий Барышников
У меня работает. Какие версии qgis, postgres, postgis?

[ Сообщение с мобильного устройства ]

Re: Проблема с удалением узлов в слое PostGIS

Добавлено: 13 фев 2014, 03:46
Fungi
qgis Desktop 2.0.1
postgresql 9.1.11
postgis 1.5.3

Re: Проблема с удалением узлов в слое PostGIS

Добавлено: 17 фев 2014, 08:26
Denis Rykov
А права то есть на изменение данных?

Re: Проблема с удалением узлов в слое PostGIS

Добавлено: 20 фев 2014, 09:51
dab
Инструментом "редактирование узлов" выделяете узел полигона и нажимаете Delete на клавиатуре.
Кнопка "удалить выделенное" применима в контексте работы с полигонами(поллиниями и т.п.). Кнопка активна при выделенном полигоне.

Re: Проблема с удалением узлов в слое PostGIS

Добавлено: 21 фев 2014, 03:34
Fungi
Denis Rykov писал(а):А права то есть на изменение данных?
Захожу под postgres, наверное, есть.
dab писал(а):Инструментом "редактирование узлов" выделяете узел полигона и нажимаете Delete на клавиатуре.
Кнопка "удалить выделенное" применима в контексте работы с полигонами(поллиниями и т.п.). Кнопка активна при выделенном полигоне.
Спасибо. Да, линии редактируются и узлы удаляются кнопкой delete, проблемы с типом геометрии "точка", их можно таскать, а удалить никак :( Как же их удалять?

Re: Проблема с удалением узлов в слое PostGIS

Добавлено: 21 фев 2014, 06:49
dab
Fungi писал(а):...проблемы с типом геометрии "точка", их можно таскать, а удалить никак :( Как же их удалять?
Попробуйте через команды консоли Python.
В режиме редактирования точечного слоя выберите один объект и выполните команды

Код: Выделить всё

layer = qgis.utils.iface.activeLayer()
feat = layer.selectedFeatures()[0]
id = feat.id
layer.deleteFeature(id)
В окне консоли Python получите результат либо "True" либо сообщение об ошибке.
Быть может ситуация прояснится.