양쪽에 폭이 다른 QGIS 버퍼 다각형


12

나는 산불 위험 평가를위한지도를 작성하고 건물의 다른면에서 거리가 다른 건물 외피 주변에 "방어 가능한 공간"버퍼 구역을 꾸준히 표시하도록 요청받습니다. (이미지 참조)

QGIS에서 필요한 각 거리에 대한 버퍼를 만든 다음 가능한 한 가깝게 일치하는 버퍼를 수동으로 그려서이 작업을 수행했습니다.

이것은 분명히 이상적이지 않습니다. QGIS로 이러한 버퍼를 만들 수있는 방법이 있습니까? ArcGIS 및 MapInfo에도 액세스 할 수 있습니다.

다중 버퍼 거리


1
GIS.SE에 오신 것을 환영합니다! 간격을 정의하는 항목 (예 : 양면이 25m, 양면이 19m 인 이유)과 같이 좀 더 자세하게 설명 할 수 있습니까? 어떤 속성이나 다른 논리가 있습니까?
BradHards

3
한 가지 방법은 폴리를 라인으로 변환하고, 버퍼 거리 필드를 추가하고, 올바른 거리로 채우고, 버퍼 라인을 용해하고, 버퍼를 분해하고, 중간에 구멍을 제거하는 것입니다. 스크립트 나 모델로 바꾸면 수동 방법보다 빠를 수 있습니다. 그러나 가변 버퍼 거리를 얻 거나이 라인이 이러한 유형의 버퍼라고 말하는 일부 속성을 만들면 자체적으로 수행 할 수 있으므로 각 모양에 수동 개입이 필요한 것처럼되어 속도가 느려집니다.
Chris W

@BradHards 감사합니다, 나는 오랫동안 여기에 숨어 ​​왔습니다! 거리는 보고서를 작성하는 컨설턴트에 의해 제공되며 산불의 경우 합리적으로 방어 할 수있는 건물과의 거리를 나타냅니다. 거리는 건물마다 다르며 건물의 각 측면도 다를 수 있습니다. 쉽게 만들기 위해. 13m에서 30m까지의 거리를 보았습니다.
chrisxrobertson

@ChrisW 폴리 라인을 생각하지 않았습니다. 감사합니다. 시간이 많이 걸리지는 않지만 적어도 버퍼가 더 정확합니다.
chrisxrobertson

@BradHards 위험 평가를 매핑하고 있기 때문에, 필자는 매핑이 방어 가능한 공간으로 간주되는 기존 영역이 무엇인지 추측합니다. 기존 상태 조사와 마찬가지로 사이트마다 다릅니다. 방어 할 수있는 공간 구조물의 모든면에서 균일 한 30 ' 이어야 합니다 (현재 위치와 방어 구역에 따라 다름). 케이스는 모두 매우 독특한 기능이기 때문에 프로세스를 자동화 / 가속화하는 방법을 모르겠습니다.
Chris W

답변:


6

따라서 이미 버퍼링이 필요한 다각형이 있고 거리 (투영 시스템에 따라 미터 또는 피트)가 있다고 가정합니다.

이 버퍼 거리를 입력해야하기 때문에 여기서 수동으로 작업해야 할 내용이 무엇이든 상관 없습니다.

그러나 QGIS에서 몇 가지 모델로 많은 수작업을 제거 할 수 있습니다.

모델은 다음과 같습니다.

  1. 다각형을 폴리 라인으로 변환합니다.
  2. 폴리 라인을 분해합니다.
  3. 버퍼에 사용될 버퍼 열을 추가하십시오.

폴리 라인을 분해하므로 각면 (폴리 라인)마다 다른 버퍼 거리를 가질 수 있습니다.

그런 다음 각 폴리 라인의 버퍼 거리를 수동으로 설정합니다.

다음 모델 :

  1. GRASS 가변 거리 버퍼. (엔드 캡 스타일이 없으므로 GRASS를 사용하므로 끝이 다른 쪽과 겹치지 않습니다.)
  2. 모서리를 고정하는 볼록 껍질.

사진에서 모델 1 :

원래 다각형 :

여기에 이미지 설명을 입력하십시오

  1. 다각형에서 폴리 라인으로 :

여기에 이미지 설명을 입력하십시오

  1. 폴리 라인을 분해합니다.
  2. 값을 수동으로 추가하여 버퍼 열을 추가하십시오.

여기에 이미지 설명을 입력하십시오

모델 2 :

  1. 버퍼 컬럼이있는 가변 거리 GRASS 버퍼. v.buffer.column에 "폴리 라인 끝에 캡을 만들지 마십시오"가 체크되어 있습니다.

여기에 이미지 설명을 입력하십시오

  1. 모서리를 고정시키는 볼록 껍질 :

여기에 이미지 설명을 입력하십시오

모서리는 우리가 원하는 방식입니다. 엔드 캡을 사용하면 장거리 버퍼와 오버랩이 많이 발생합니다.

모델 1 :

여기에 이미지 설명을 입력하십시오

모델 2 :

여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.