Обтравочный слой на основе полигонов с QGIS?

13

У меня есть слой линии и слой многоугольника. Оба файла имеют одинаковый SRS. Я хочу в новом файле формы только линии, покрытые полигонами.

Я попробовал в QGIS Vector -> Geoprocessing -> Clipинструмент, но у меня только пустой шейп-файл.

Как мне сделать это с QGIS?

введите описание изображения здесь

ustroetz
источник
Какую версию QGIS вы используете?
artwork21
2.0.1-Dufour на OS X 10.9.
otroetz
2
Оказалось, что мой линейный слой является многострочным, а клипер QGIS неправильно обрабатывает многострочное. Я преобразовал это в отдельные части, и тогда это работало.
otroetz
Не могли бы вы указать, где и как перейти от многорядной к одной части? спасибо
Патрибус
1
@Patribo В QGIS перейдите наVector -> Geometry Tools -> Multipart to singleparts
ustroetz

Ответы:

11

Используйте Vector -> Geoprocessing -> Clipинструмент

Ввод - это слой ваших дорог, слой обрезки - слой многоугольника.

введите описание изображения здесь

Поместите слой линии в «слой входного вектора», а слой многоугольника в «Слой клипа».

Натан У
источник
Я попробовал это. Я получаю только пустой шейп-файл. Что может быть не так?
otroetz
1
Это одна и та же проекция?
Натан W
Да. И если я сделаю это так, как вы показали (входной векторный слой = многоугольник, клип-слой = линия), я получу тот же слой многоугольника взамен, как я вставил.
ustroetz
2
Проблема заключалась в том, что мой линейный слой был многострочным, а клипер не обрабатывал это должным образом. После преобразования его в отдельные части он работал так, как вы описали.
otroetz
Я также возвращал пустой шейп-файл. Моя проблема заключалась в том, что я не смог остановить редактирование только что созданного слоя маски.
Бен Майо
8

Это доставляло мне бесконечные часы разочарования, и приведенные выше ответы (даже те, что были в комментариях) также не работали для меня, но я нашел свое собственное решение, которое помогло.

Оказывается, чтобы сделать пересечение или клип между двумя слоями, они должны быть сохранены на диске с одним и тем же CRS . Таким образом, даже если они выглядят так, как будто они перекрываются в QGIS, он может выполнять свои собственные преобразования «На лету», чтобы выровнять их.

Чтобы это исправить, сделайте это для каждого слоя:

  1. Щелкните правой кнопкой мыши, Сохранить как ...
  2. Установите формат ESRI Shapefile, выберите имя файла и выберите CRS, который вы будете использовать для всех слоев. Нажмите кнопку ОК, чтобы сохранить и загрузить этот файл.
  3. Повторите для другого слоя, выбрав тот же CRS.
  4. Используйте инструмент обрезки с новыми слоями. Это должно сделать свое дело.

Если вы хотите узнать, вызывает ли вас проблема с преобразованием «На лету», сделайте следующее:

  1. Перейдите в меню Проект и выберите Свойства проекта ...
  2. Перейти на вкладку CRS
  3. Снимите флажок Включить преобразование CRS «на лету» и нажмите « Применить» , ОК.

Если ваш CRS не совпадает, слои больше не должны перекрываться. Вы можете увидеть положение любого слоя, щелкнув правой кнопкой мыши по слою и перейдя к Zoom to Layer . Когда вы загружаете два файла с одинаковыми CRS, они должны идеально выровняться.

Brideau
источник
Предложение Натана У меня не сработало, и ваше предложение сработало, спасибо.
Тилек