쉐이프 파일의 일부인 선에서 특정 거리에 평행선 만들기


11

QGIS 2.18을 사용하고 있습니다. 여러 줄을 포함하는 shapefile이 있습니다. 특정 데이터 처리를 처리 한 후 기존 선과 다른 거리에 평행선을 그려야합니다. 예를 들어 기존 shapefile에 32 줄이 있습니다. 라인 ID 번호에서 50, 100, 170, 500,400 거리에 평행선을 그리려고합니다. 한 번에 3,6,20,25,31. QGIS에 동일한 방법이나 플러그인이 있습니까?

답변:


6

QGIS에서 CAD와 같은 명령을 제공 하는 QAD 플러그인을 사용할 수 있습니다 .

투영 좌표계 (데이터를 사용하기 전에 데이터를 투영해야 함) 및 편집 모드가 활성화 된 상태 (레이어를 마우스 오른쪽 버튼으로 클릭하고)에서만 작동합니다 Toggle Editing.

귀하의 경우, 오프셋 버튼 을 클릭해야 합니다 :

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

QAD 텍스트 창 에 표시되는 지침을 따릅니다 (AutoCAD에서와 동일).

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

예를 들어 다음은 두 가지 기능에 대해 다른 오프셋을 사용하는 경우의 출력입니다.

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


답장을 보내 주셔서 감사합니다. 데이터를 투영하지 않고이 작업을 수행 할 수있는 다른 방법이나 플러그인이 있습니까?
Jitendra

미터 ( 50, 100, 170, 500,400 ..의 거리)를 다루는 것처럼 보였으므로 투영 된 데이터로 접근 방식을 사용했습니다 . 투영 변경은 매우 간단합니다. 레이어를 마우스 오른쪽 버튼으로 클릭 Save as하고 마지막으로 투영 좌표계를 선택합니다. 오프셋을 수행 한 후에는 역 동작으로 지리 좌표계로 다시 돌아올 수 있습니다 ... 정확해야합니다.
mgri

데이터를 투영하지 않으면 미터 대신 각도를 처리해야하는데 더 쉬운 지 모르겠습니다.
mgri

QAD 도구가 제대로 작동합니다. 그러나 shapefile의 모든 줄에 대해 수동으로 작업을 반복해야합니다. 속성 테이블 또는 exel 또는 CSV 파일에서 line_ID 및 행간 거리를 자동으로 읽고 동시에 모든 평행선을 그리는 방법이 있습니까?
Jitendra

이 작업을 수행하는 도구를 모르지만 PyQGIS를 사용하여 솔루션을 제공하려고 시도 할 수 있습니다. 관심이 있으십니까?
mgri

6

속성 테이블에 평행선 사이의 거리를 지정하는 열이있는 경우 다음 방법으로 한 번에 열을 수행 할 수 있어야합니다.

처리 도구 상자에서 Single sided buffers (and offset lines) for lines아래 의 알고리즘을 사용할 수 있습니다 GDAL/OGR > [OGR] Geoprocessing. 연산오프셋 곡선 으로 설정하고 버퍼 거리에 거리가 포함 된 열 이름을 입력해야합니다 (필자의 경우 열 이름은 width ). 또한 버퍼 측 을 오른쪽 또는 왼쪽으로 선택하여 평행선을 그릴 선의 어느 쪽을 설정할 수 있습니다 .

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


답변 감사합니다. 귀하의 제안에 따라 OGR 도구를 사용하고 있지만 새로운 출력 형태 파일에는 아무것도 표시되지 않았습니다.
Jitendra

쉐이프 파일이있는 프로젝션 시스템을 공유 할 수 있습니까? 출력 레이어 속성 테이블의 스크린 샷이 도움이 될 수 있습니다.
nash

shapefile의 투영 시스템은 EPSG 4326입니다.
Jitendra

따라서 새 선은 미터가 아닌 미터 단위로 50,100,170,500 및 400의 거리에서 생성된다는 것을 이해합니다 (원하는 것으로 가정합니까?)
nash

거리를 미터 단위로 원한다고 가정하면 투영 시스템에서 쉐이프 파일을 미터 단위 (예 : 적용 가능한 영역의 UTM 투영 시스템)로 변환해야합니다. 그런 다음 알고리즘을 실행하십시오.
nash

6

"v.parallel"을 사용할 수 있습니다.이 도구는 QGIS 처리 도구 상자에서 찾을 수 있습니다.

  1. 라인 ID 번호가있는 라인을 선택하십시오. 3,6,20,25,31 선을 선택하십시오

  2. "v.parallel"을 사용하여 선택한 선에서 평행선을 만듭니다. 그러나 서로 다른 오프셋 거리 (50, 100, 170, 500,400)를 생성하려면 여러 번 수행해야합니다. "측면"옵션이 있으며 평행선의 위치를 ​​지정할 수 있습니다. "병렬"

  3. 결과 : 선택한 선의 왼쪽에 평행선 (파란색) 결과

답장을 보내 주셔서 감사합니다. v.parallel 명령을 사용했지만 새로운 출력 shapefile에 아무것도 표시되지 않았습니다.
Jitendra

1
p / s : "v.parallel"명령은 곡선에서만 작동하며 두 개의 정점 만있는 직선에서는 작동하지 않습니다.
Cy T
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.