GRASS로 벡터 영역을 채우는 부스 트로피 돈 패턴을 생성 할 수 있습니까?


21

GRASS로 벡터 영역을 채우는 부스 트로피 돈 패턴을 생성 할 수 있습니까?

GRASS에 벡터 영역이 있습니다. 그리고이 영역을 채우는 보스 트로피 돈 패턴 인 벡터 (폴리 라인)를 생성하고 싶습니다.

아래 그림에서 "회색"영역이 있으며 빨간색 폴리 라인을 자동으로 생성하고 싶습니다.

GRASS 또는 다른 GIS 도구로 가능합니까?

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

완벽한 세계에서 함수는 다음과 같은 인수를 사용합니다.

  • 시작 지점 (이 지역의 어느 곳에 나 있어야 함)
  • 두 평행선 사이의 거리
  • 방향 (패턴을 그리는 데 도움이되는 벡터)

흥미로운 질문입니다. 시작점을 어떻게 결정 하시겠습니까? "왼쪽 상단"이 예제와 같이 항상 좋은 코너 포인트와 관련이있는 것은 아닙니다.
Darren Cope

내가 질문에 귀하의 코멘트에 대답
아드 BARRAL

1
PyGRASS를 사용하여 무언가를 요리 할 수 ​​있습니다. grass.osgeo.org/grass70/manuals/libpython/pygrass_index.html
markusN

필요한 출력은 선이 그려진 이미지입니까, 아니면 트랙터를 통해 필드를 가장 효율적으로 쟁기질하기 위해 좌표를 출력 한 후에 있습니까?
nmtoken

답변:


2

이러한 기능을 작성하는 방법에 대해서는 잘 모르지만 수행 단계는 다음과 같습니다.

  1. 원하는 방위각으로 하나의 선을 그리고 다각형이 완전히 덮 이도록 오프셋을 가진 새로운 선을 만듭니다.

라인 필드 생성

  1. 다각형 경계와 부스트로 피온 사이의 간격을 정의하기 위해 다각형을 버퍼링합니다. 버퍼링 된 다각형의 경계에서 선을 자르고 내부 부품을 유지합니다.

버퍼링 된 다각형으로 선 필드 컷

  1. 라인의 끝과 시작 지점을 올바른 순서로 연결하십시오.

준비된 Boustrophedon 패턴


1
나는 똑같은 것을 시도했다, 나는 당신이 여기 무언가에 있다고 생각합니다. 1 단계와 2 단계는 상당히 쉬우거나 조롱 할 수 있습니다. 3 단계는 더 까다 롭습니다. postgis st_intersection()에서는 병렬 버퍼 / 내부 버퍼를 나타내는 점을 내부 버퍼를 ST_LineLocatePoint()따라 해당 값 으로 정렬하고 대체 쌍을 결합 할 수 있습니다.
Steven Kay

1
다각형의 경계에 내부 모서리 또는 스파이크가 있으면 끝점과 시작점을 연결하는 선이 경계와 교차 할 수 있습니다. 교차가 발생하는지 테스트하는 것은 어렵지 않지만 그러한 경우 선 스트링을 그리는 올바른 방법과 자동으로 만드는 방법은 무엇입니까? 일반적인 해결책을 찾기가 쉽지 않을 수 있습니다.
user30184

당신이 옳습니다, 올바른 방향을 얻는 것은 까다로울 것입니다. 또한, 가장자리의 경우이있을 것이다이 방법을 생각 :) 구멍 필드 또는 필드 U는 모양의 예
스티븐 케이
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.