맵 작성기 QGIS의 자동 맵 회전


10

문제는지도 작성기에서지도 회전을 자동으로 계산할 수있게 만드는 것입니다. 하나의 파일에 자체 투영 매개 변수가있는 많은 맵이 있으며 투영 수식 또는 다른 방법으로 맵 작성기에서 맵 회전을 정의하고 싶습니다.

예 : 프로젝트에서 하나의 특정지도 위치 :

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

투영은

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

지도 작성기에서지도 경계는 다음과 같습니다.

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

투영 매개 변수를 사용하여 맵에 대해 선택된 회전 각도

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

지도 회전 각도는 위치 및 투영 매개 변수에 따라지도마다 다릅니다.

매번이 값을 수동으로 찾지 않기 때문에이 프로세스를 자동화하고 맵 회전 각도를 자동으로 계산할 수 있습니까 (아틀라스 생성 메뉴를 통해 모든 맵에 대해 범용 작곡가를 만들고 싶습니다)?


1
지형지 물을지도 프레임의 가장자리와 평행이되도록 회전 하시겠습니까? 형상 측면 중 하나의 방위각을 계산하고이를 사용하여 회전 할 수 있습니까? 그것이 회전 = degree (atan (abs ((y1-y2) / (x1-x2))))와 같은 선이라면 각도를 각도로 표시합니다. 그런 다음 90-회전하면 맵 프레임과 정렬됩니다.
mixedbredie 2016 년

2
아틀라스를 사용하고 있습니까? "최소 방향 경계 상자"도구를 사용하여 적용 범위 레이어를 생성하는 경우 해당 레이어에는 데이터 정의 속성을 사용하여 맵 항목 회전에 바인딩 할 수있는 회전 속성이 포함됩니다.
ndawson 2016 년

@mixedbredie, 예,지도 경계가지도 캔버스의지도 프레임과 평행이되도록지도를 회전하고 싶습니다. 방위각을 계산하려고했지만 문제는 맵이있는 내 레이어가 폴리곤이며 첫 번째 점이 왼쪽 상단 정점 또는 다른 특정 정점 (오른쪽 하단 등)이라는 말이 없다는 것입니다. 따라서 거의 모든 각도가 만족
Jane

@ndawson이 제안한 솔루션은 대단합니다. 새로운 경계 상자 레이어를 숨겨진 범위 레이어로 사용하면 모든 것이 정렬됩니다.
mixedbredie 2012 년

1
Processing Toolbox (Ctrl + Alt + T)를 열고 "방향"을 검색하십시오. QGIS 지리 알고리즘> 벡터 일반 도구 아래에 도구가 표시됩니다.
mixedbredie 2012 년

답변:


3

질문에 대한 의견에서 @ndawson이 찾은 솔루션 아래. 이 답변에 대해 의견을 말하고 향상 시키십시오.

이미 사용중인 맵 엔벨로프 그리드의 처리 된 도구 상자 방향 최소 경계 상자 도구에서 실행하십시오.

오리엔테이션 바운딩 박스 툴

원래 레이어와 완전히 동일한 레이어를 만듭니다. 속성 테이블에는 ANGLE 필드가 있습니다.

OBB 필드

이제 작곡가에서이 ANGLE 필드를 사용하여 회전 할 데이터 정의 필드를 채울 수 있습니다.

데이터 정의 각도

문제는 각도가 초기 다각형을 만드는 방법에 따라 다르기 때문에 항상 사용하기 쉽지는 않은 것 같습니다. 몇 가지 테스트를 수행했으며 소스 다각형을 그리는 방법에 따라 다릅니다. ANGLe 필드의 속성 값을 적절히 조정해야 할 수도 있습니다.

(빨간색은 OMBB 도구 다각형 인 검은 색의 원래 다각형입니다). 예를 들어 유사한 다각형을 위해 디지털화 된 두 가지 방법이 있습니다 (오른쪽 또는 왼쪽으로 이동)

OMBB 예

각도 값을 원래 레이어로 되돌리려면 공간 위치 결합 작업을 사용할 수 있습니다.


정말 고맙습니다! 나는 당신의 자세한 답변을주의 깊게 빨간색으로했습니다! 그러나 문제는 더 복잡해 보입니다. 모든 맵에 대한 속성 테이블에 모든 맵과 투영이있는 레이어가 있습니다. WGS84에서 맵 세트가있는 초기 레이어이지만 맵을 준비 할 때 속성 테이블 (모든 맵마다 다름)에서 가져온 맵 캔버스에 투영을 설정하고이 프로젝트에서 맵 회전 값이 필요합니다. 따라서 모든 맵을 자체 투영에 다시 저장 한 다음 다각형에 대해 OMBB를 실행해야합니다. 일부 맵을 테스트했지만, 회전 각도 값이 OMBB를 통해 계산 된 것과 다릅니다.
Jane

속성 테이블의 프로젝션 공식을 기반으로 맵 작성기에서 회전 각도 값을 계산하는 것이 좋습니다
Jane

쉬운 일이 아닙니다 ! 나는 특히 회전 각도에 대해 간단한 방법으로 어떻게 할 수 있는지 알지 못합니다. "transform"함수를 사용하여 데이터를 투영하는 방법이 있지만 좌표가 아닌 다른 작업에서는 작동하지 않을 것입니다. (소스 CRS에서 대상 CRS로 변환 된 형상을 반환합니다. 구문 : transform (geom, source_auth_id, dest_auth_id)-예 : geom_to_wkt (transform ($ geometry, 'EPSG : 2154', 'EPSG : 4326'))
gisnside
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.