Объединение слоев и полигонов

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
_taras_
Активный участник
Сообщения: 230
Зарегистрирован: 28 июл 2018, 08:40
Репутация: 16
Откуда: Киев

Объединение слоев и полигонов

Сообщение _taras_ »

Здравствуйте!
Мне надобно объединить два слоя, на которых есть по одному полигону и затем соединить эти полигоны в один без внутренних границ.
И второе. Я понял как делать отверстия в полигонах. А как делается границ второго полигона, который находится на другом слое?
Пользую (хотя это громко сказано) QGIS 3.2.3-Bonn
Аватара пользователя
Prince660
Активный участник
Сообщения: 164
Зарегистрирован: 25 мар 2011, 20:12
Репутация: 15
Ваше звание: Питоновод
Откуда: г. Симферорполь
Контактная информация:

Re: Объединение слоев и полигонов

Сообщение Prince660 »

Ну если два слоя по одному полигону, то открыть оба слоя для редактирования и скопировать полигон из одного слоя в другой. А потом стандартным инструментом объединения объектов, собственно их объеденить. А второе не совсем понял...
_taras_
Активный участник
Сообщения: 230
Зарегистрирован: 28 июл 2018, 08:40
Репутация: 16
Откуда: Киев

Re: Объединение слоев и полигонов

Сообщение _taras_ »

Постараюсь расписать второй вопрос.
Я создаю карту водной растительности.
Первый слой - зеркало воды; второй - прибрежно-водная (тростник, рогоз и т.п); третий - растения с плавающими листьями (рдесты). И в нем формируются участки других растений, которые я определяю на следующий слой. И возник вопрос как с минимальными усилиями повторить контур отверстия в полигоне одного слоя на втором?
Dmitry Stasev
Участник
Сообщения: 67
Зарегистрирован: 13 мар 2018, 08:59
Репутация: 22
Откуда: MO

Re: Объединение слоев и полигонов

Сообщение Dmitry Stasev »

_taras_ писал(а): 28 сен 2018, 10:21 как с минимальными усилиями повторить контур отверстия в полигоне одного слоя на втором?
Если совсем с минимальными, я бы:
- создал новый слой (Back),
- на нем объект охватывающий содержимое

- Меню-вектор-геообработка-РАЗНОСТЬ (там в параметрах выбрать свои 2 слоя)
- в Полученном слое разности удалить внешнюю часть

наименования команд могут отличаться, т.к. у меня qgis218
Вложения
333.png
333.png (28.86 КБ) 24850 просмотров
222.png
222.png (20.39 КБ) 24850 просмотров
111.png
111.png (34.48 КБ) 24850 просмотров
Yuraz
Участник
Сообщения: 51
Зарегистрирован: 14 май 2018, 14:21
Репутация: 2
Откуда: Россия

Re: Объединение слоев и полигонов

Сообщение Yuraz »

Коллеги, помогите. Есть несколько смежных районов области. Например объединяю через
Вектор - Управление данными - Объединить векторные слои
Выбираю несколько смежных - всё хорошо, объединяет. Но теперь надо убрать линии между районами. Вызываю
Вектор - Геообработка - Dissolve
где то хорошо обрабатывает, граница между районами стирается, а какие то районы ни в какую не хочет.
Подскажите, как в смежных районах стереть общую линию?

По большому счёту - цель - вытащить общую внешнюю границу всех районов.
pic-0000.png
pic-0000.png (102.12 КБ) 24559 просмотров
trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Объединение слоев и полигонов

Сообщение trir »

Dmitry Stasev
Участник
Сообщения: 67
Зарегистрирован: 13 мар 2018, 08:59
Репутация: 22
Откуда: MO

Re: Объединение слоев и полигонов

Сообщение Dmitry Stasev »

ST_Union скорее всего оставит линии
Чтобы линия ушла что-то вроде: (буфер + 0.1) - 0.1
Yuraz
Участник
Сообщения: 51
Зарегистрирован: 14 май 2018, 14:21
Репутация: 2
Откуда: Россия

Re: Объединение слоев и полигонов

Сообщение Yuraz »

Ребят, отлично, в SQL как говорится "въехал", а где SQL консоль в QGIS или это для PostGIS? Установить её под эти цели? И у меня слои подгружены из обычных MAP файлов от ПО MapInfo. Серверов БД на машине никаких нет. Наверное надо перегнать MAP в любую БД? И манипулировать там в любой клиентской SQL консоли?
Dmitry Stasev
Участник
Сообщения: 67
Зарегистрирован: 13 мар 2018, 08:59
Репутация: 22
Откуда: MO

Re: Объединение слоев и полигонов

Сообщение Dmitry Stasev »

Все можно сделать проще
Создаешь виртуальный слой и вперед.
Имена слоев = имена таблиц
4.png
4.png (21.49 КБ) 24504 просмотра
Yuraz
Участник
Сообщения: 51
Зарегистрирован: 14 май 2018, 14:21
Репутация: 2
Откуда: Россия

Re: Объединение слоев и полигонов

Сообщение Yuraz »

Эх, наверное мне не разобраться будет ((
Создал виртуальный на основе одного слоя. Ок.
Создал виртуальный на основе двух слоёв. Написал запрос SELECT * FROM 'Район1', 'Район2' . Ошибок нет, слой создался, отобразился правда только Район1. Название колонок не знаю (слои взял из MapInfo, MAP файл).
Но у меня слоёв несколько десятков, которые надо склеить в один и получить внешнюю границу.
Подскажите, как запросец в моем случае оформить?
Dmitry Stasev
Участник
Сообщения: 67
Зарегистрирован: 13 мар 2018, 08:59
Репутация: 22
Откуда: MO

Re: Объединение слоев и полигонов

Сообщение Dmitry Stasev »

Ну тогда и не стоит с сиквелами мучаться.
1. Берете все свои слои, склеиваете(объединяете) их через вектор - геообработка
2. Результат слияния опять же через геообработку (буфер фиксированной ширины) увеличиваете на ... маленький, но достаточный буфер )))
!!! Только там галочку поставьте "результат объединения"
3. полученный объект (Буфер) опять прогоняете через (буфер фиксированной ширины) с тем же значением, но отрицательным
Должно все получиться
trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Объединение слоев и полигонов

Сообщение trir »

(буфер + 0.1) - 0.1
теоретически мы можем потерять мелкие острова и сегменты полилиний
Dmitry Stasev
Участник
Сообщения: 67
Зарегистрирован: 13 мар 2018, 08:59
Репутация: 22
Откуда: MO

Re: Объединение слоев и полигонов

Сообщение Dmitry Stasev »

trir писал(а): 05 фев 2019, 11:14теоретически мы можем потерять мелкие острова и сегменты полилиний
Непременно! Поэтому
Dmitry Stasev писал(а): 05 фев 2019, 11:07увеличиваете на ... маленький, но достаточный буфер )))
Надеюсь ТС понимает, что 0,1 градуса и 0,1 метра две большие разницы
Dmitry Stasev
Участник
Сообщения: 67
Зарегистрирован: 13 мар 2018, 08:59
Репутация: 22
Откуда: MO

Re: Объединение слоев и полигонов

Сообщение Dmitry Stasev »

Сразу не заметил
Yuraz писал(а): 05 фев 2019, 09:32Но у меня слоёв несколько десятков
Да не наклеишься, если только плагином каким...
или можно в консоли пайтона так сделать:

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

sql = ''
tpl = u' select geometry from "%s" \n'
for layer in iface.legendInterface().selectedLayers():
    if sql != '':
        sql = sql + u' union all \n'
    sql = sql + tpl % (layer.name())

layer = QgsVectorLayer("?query="+sql, 'virtual', "virtual")
QgsMapLayerRegistry.instance().addMapLayer(layer, True)
должно сделать виртуальный объединенный слой для выделенных в дереве слоев
ну а потом буфером его )
Yuraz
Участник
Сообщения: 51
Зарегистрирован: 14 май 2018, 14:21
Репутация: 2
Откуда: Россия

Re: Объединение слоев и полигонов

Сообщение Yuraz »

Объединил благополучно через MMQGIS, теперь один полигон, но районы присутствуют. Осталось стереть границу между ними.
Dmitry Stasev писал(а): 05 фев 2019, 11:072. Результат слияния опять же через геообработку (буфер фиксированной ширины) увеличиваете на ... маленький, но достаточный буфер )))
Дмитрий, а где буфер задать. Галочка есть, а значения где задать ...0,1..?
pic-0007.png
pic-0007.png (58.41 КБ) 24394 просмотра
Ответить

Вернуться в «QGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя