QGIS 래스터 계산기로 경사 방위를 범주화

2975 단어 QGISGISGDAL
고고학에서 자주 사용하는 경사 방위 래스터를 4방위 벡터 맵으로 변환합니다.

이런 사면 방위 래스터


4 방향으로 구분 된 벡터로 변환하고 싶습니다.


래스터 계산기로 사면 방위 래스터를 범주화





래스터 연산식은 다음과 같습니다. 또한 동쪽이 0으로 반 시계 방향으로 증가하는 래스터 지도입니다. GRASS GIS로 작성한 경사 방위 지도 등이 디폴트로 동쪽이 0의 반시계 방향으로 되어 있습니다.

완성된 래스터 지도는
  • 동쪽 10
  • 북 20
  • 서쪽 30
  • 남쪽 40

  • 가 할당됩니다.

    수식 설명


    ("Aspect@1">0)*("Aspect@1"<=45)*10+
    ("Aspect@1">45)*("Aspect@1"<=135)*20+
    ("Aspect@1">135)*("Aspect@1"<=225)*30+
    ("Aspect@1">225)*("Aspect@1"<=315)*40+
    ("Aspect@1">315)*10
    
  • ""Aspect@1""은 Aspect 레이어의 밴드 1을 의미합니다.
  • ""Aspect@1">0"이 참이면 계산기는 "1"을 반환하고 거짓이면 "0"을 반환합니다.
  • 이어지는 「"Aspect@1"<=45"가 참이면 같게 「1」을, 거짓이면 「0」을 돌려줍니다.
  • 「("Aspect@1">0)*("Aspect@1"<=45)"에서는 0보다 크고, 45 이하가 아닌 값은 모두 0이 돌려주어집니다.
  • "("Aspect@1">0)*("Aspect@1"<=45)*10"에서는 0보다 크고 45 이하의 값이 참인 경우에 10을 곱하기 때문에 0~45의 값을 취하는 픽셀에는 10이 대입됩니다.
  • 마찬가지로 45~135(북쪽)에서는 20이 대입되고, 135~225에서는 30이 대입되고, 225~315에서는 40이 대입됩니다.
  • 참이 되는 것은 어느 하나의 항이므로 전부의 항을 더하면 참이 되는 항의 숫자만이 남습니다.

  • 상기의 계산식은 「 카파 출몰 지도 만들기 」를 참조해 작성했습니다. 함께 부디.

    래스터의 다각형화



    gdal_polygonize.py 명령을 사용합니다.
    # 引数は入力ファイル(Aspect_reclass.tif)、出力ファイル(Aspect.shp)の順に指定
    # -b オプションはバンドの指定「1」を指定します。
    gdal_polygonize.py Aspect_reclass.tif Aspect.shp -b 1
    

    래스터 계산기에서 해당 숫자를 문자열로 변환



    방위각을 나타내는 정수 값이 DN 필드에 입력되므로 문자열(동서남북)으로 변환합니다.



    계산식은 다음과 같습니다. 특별히 설명하지 않을 것 같아요.
    CASE 
    WHEN "DN"=10 THEN  '東'
    WHEN "DN"=20 THEN  '北'
    WHEN "DN"=30 THEN  '西'
    WHEN "DN"=40 THEN  '南'
    END
    

    aspect 필드에 문자열의 방위가 입력되어 있으면 완성.

    좋은 웹페이지 즐겨찾기