중요

번역은 여러분이 참여할 수 있는 커뮤니티 활동입니다. 이 페이지는 현재 100.00% 번역되었습니다.

4.2. 수업: 동적 인쇄 조판 생성하기

여러분이 이제 기본 맵 조판을 생성하는 방법을 배웠기 때문에, 여기에서 한 발짝 더 나아가 예를 들어 용지 크기를 변경할 때 맵 범위와 용지 속성에 맞춰 동적으로 조정되는 맵 조판을 생성할 것입니다. 생성일자 또한 동적으로 조정될 것입니다.

4.2.1. ★★☆ 따라해보세요: 동적 맵 캔버스 생성하기

  1. 맵 캔버스에 protected_areas.shp, places.shp, rivers.shp 그리고 water.shp ESRI 셰이프파일 포맷 데이터셋들을 불러와서 여러분의 편의에 맞춰 조정하십시오.

  2. 모든 것이 사용자 마음에 들도록 렌더링되고 심볼도 적용된 후에야, Project 툴바에 있는 newLayout New Print Layout 아이콘을 클릭하거나 Project ► newLayout New Print Layout 메뉴 옵션을 선택하십시오. 새 인쇄 조판의 제목을 설정하라는 메시지가 뜰 것입니다.

  3. 우리는 헤더(header)와 남아프리카 공화국 스왈렌담(Swellendam) 시 근접 지역의 맵으로 이루어진 지도 조판을 생성하고자 합니다. 이 조판의 여백은 7.5mm, 헤더의 높이는 36mm이어야 합니다.

  4. 캔버스 상에 main map 이라는 맵 항목을 생성하고 Layout 패널로 가서 Variables 부분으로 스크롤한 다음 Layout 을 찾으십시오. 여기에서 동적 인쇄 조판 전체에 걸쳐 사용할 수 있는 변수를 몇 개 설정할 것입니다. Layout 패널에서 Variables 부분으로 스크롤하십시오. 가장 먼저 정의할 변수는 여백입니다. symbologyAdd 버튼을 누른 다음 sw_layout_margin 이라는 이름을 입력하고 그 값을 7.5 로 설정하십시오. symbologyAdd 버튼을 다시 누른 다음 sw_layout_height_header 라는 이름을 입력하고 그 값을 36 으로 입력하십시오.

  5. 이제 변수라는 수단을 통해 맵 캔버스의 위치와 크기를 자동적으로 생성할 수 있는 준비가 끝났습니다. 맵 항목이 선택된 상태인지 확인한 다음, Item Properties 패널로 가서 Position and Size 부분을 여십시오. XdataDefineExpressionOn Data defined override 버튼을 클릭하고 Variables 항목에서 @sw_layout_margin 을 선택하십시오.

  6. YdataDefineExpressionOn Data defined override 버튼을 클릭한 다음, Edit… 을 선택하고 다음 공식을 입력하십시오:

    to_real(@sw_layout_margin) + to_real(@sw_layout_height_header)
    
  7. WidthHeight 변수를 사용해서 맵 항목의 크기를 생성할 수 있습니다. WidthdataDefineExpressionOn Data defined override 버튼을 클릭하고 다시 Edit … 을 선택한 다음, 다음 공식을 입력하십시오:

    @layout_pagewidth - @sw_layout_margin * 2
    

    HeightdataDefineExpressionOn Data defined override 버튼을 클릭한 다음, Edit… 을 선택하고 다음 공식을 입력하십시오:

    @layout_pageheight -  @sw_layout_height_header -  @sw_layout_margin * 2
    
  8. 주 맵 캔버스 범위의 좌표를 담고 있는 그리드도 생성할 것입니다. 다시 Item Properties 패널로 가서 Grids 부분을 여십시오. symbologyAdd 버튼을 클릭해서 그리드를 삽입하십시오. Modify grid … 를 클릭하고 QGIS 주 캔버스에서 선택한 맵 축척을 따라 X, YOffset 에 대한 Interval 을 설정하십시오. Grid type 가운데 Cross 가 이 예제의 목적에 잘 부합합니다.

4.2.2. ★★☆ 따라해보세요: 동적 헤더 생성하기

  1. addBasicShape Add Shape 버튼으로 헤더를 담게 될 직사각형을 삽입하십시오. Items 패널에서 header 라는 이름을 입력하십시오.

  2. Item Properties 패널로 다시 가서 Position and Size 부분을 여십시오. X 는 물론 YdataDefineExpressionOn Data defined override 버튼들을 사용해서 sw_layout_margin 변수를 선택하십시오. Width 는 다음 표현식을 사용해서 정의해야 합니다:

    @layout_pagewidth - @sw_layout_margin * 2
    

    그리고 Heightsw_layout_height_header 변수로 정의해야 합니다.

  3. addNodesShape Add Node Item 버튼을 사용해서 헤더를 서로 다른 부분들로 분할하는 수평선 하나와 수직선 2개를 삽입할 것입니다. 수평선 하나와 수직선 2개를 생성한 다음 각각 Horizontal line, Vertical line 1, Vertical line 2 라고 이름 붙이십시오.

    1. 수평선의 경우:

      1. Xsw_layout_margin 변수로 설정하십시오.

      2. Y 에 대한 표현식을 다음과 같이 설정하십시오:

        @sw_layout_margin + 8
        
      3. Width 에 대한 표현식을 다음과 같이 설정하십시오:

        @layout_pagewidth -  @sw_layout_margin * 3 - 53.5
        
    2. 첫 번째 수직선의 경우:

      1. X 에 대한 표현식을 다음과 같이 설정하십시오:

        @layout_pagewidth - @sw_layout_margin * 2 - 53.5
        
      2. Ysw_layout_margin 변수로 설정하십시오.

      3. 첫 번째 수직선의 높이는 우리가 생성한 헤더의 높이와 반드시 동일해야만 하기 때문에, Heightsw_layout_height_header 변수로 설정하십시오.

    3. 두 번째 수직선은 첫 번째 수직선의 왼쪽에 배치됩니다.

      1. X 에 대한 표현식을 다음과 같이 설정하십시오:

        @layout_pagewidth - @sw_layout_margin * 2 - 83.5
        
      2. Ysw_layout_margin 변수로 설정하십시오.

      3. 두 번째 수직선의 높이는 첫 번째 수직선의 높이와 동일해야 하기 때문에, Heightsw_layout_height_header 변수로 설정하십시오.

    다음 그림은 우리가 생성한 동적 조판의 구조를 보여줍니다. 수평선과 수직선으로 만들어진 영역을 몇몇 요소들로 채울 것입니다.

../../../_images/dynamic_layout_structure.png

4.2.3. ★★☆ 따라해보세요: 동적 헤더 용 라벨 생성하기

  1. 여러분의 QGIS 프로젝트 제목을 자동으로 포함시킬 수 있습니다. Project Properties 에서 설정한 제목 말입니다. label Add Label 버튼으로 라벨을 삽입하고 project title (variable) 이라는 이름을 입력하십시오. Items Properties 패널의 Main Properties 에 다음 표현식을 입력하십시오:

    [%@project_title%]
    

    라벨의 위치를 설정하십시오.

    1. X 의 경우, 다음 표현식을 사용하십시오:

      @sw_layout_margin + 3
      
    2. Y 의 경우, 다음 표현식을 사용하십시오:

      @sw_layout_margin + 0.25
      
    3. Width 의 경우, 다음 표현식을 사용하십시오:

      @layout_pagewidth - @sw_layout_margin *2 - 90
      
    4. Height 의 경우, 11.25 라고 입력하십시오.

    Appearance 에서 글꼴 크기를 16포인트로 설정하십시오.

  2. 두 번째 라벨은 여러분이 생성한 맵의 설명을 포함할 것입니다. 다시 라벨을 삽입하고 map description 이라는 이름을 붙이십시오. Main Propertiesmap description 문자열을 입력하십시오. Main Properties 에 다음도 포함시킬 것입니다:

    printed on: [%format_date(now(),'dd.MM.yyyy')%]
    

    여기에 Date and Time 함수 2개를 (nowformat_date 를) 사용했습니다.

    라벨의 위치를 설정하십시오.

    1. X 의 경우, 다음 표현식을 사용하십시오:

      @sw_layout_margin + 3
      
    2. Y 의 경우, 다음 표현식을 사용하십시오:

      @sw_layout_margin + 11.5
      
  3. 세 번째 라벨은 여러분의 조직에 대한 정보를 포함할 것입니다. 먼저 Item PropertiesVariables 메뉴에서 변수를 몇 개 생성할 것입니다. Layout 메뉴로 가서, 매번 symbologyAdd 버튼을 클릭하고 각각 o_department, o_name , o_adresso_postcode 라는 이름을 입력하십시오. 두 번째 행에는 여러분의 조직에 대한 정보를 입력하십시오. Main Properties 부분에서 이 변수들을 사용할 것입니다.

    Main Properties 에 다음을 입력하십시오:

    [% @o_name %]
    [% @o_department %]
    [% @o_adress %]
    [% @o_postcode %]
    

    라벨의 위치를 설정하십시오.

    1. X 의 경우, 다음 표현식을 사용하십시오:

      @layout_pagewidth - @sw_layout_margin - 49.5
      
    2. Y 의 경우, 다음 표현식을 사용하십시오:

      @sw_layout_margin + 15.5
      
    3. Width 의 경우, 49.00 라고 입력하십시오.

    4. Height 의 경우, 다음 표현식을 사용하십시오:

      @sw_layout_height_header - 15.5
      
../../../_images/dynamic_layout_organisation.png

4.2.4. ★★☆ 따라해보세요: 동적 헤더에 그림 추가하기

  1. addImage Add Picture 버튼을 사용해서 여러분의 organisation information 라벨 위에 그림을 배치하십시오. 이 그림에 organisation logo 라는 이름을 붙인 다음, 로고의 위치와 크기를 정의하십시오:

    1. X 의 경우, 다음 표현식을 사용하십시오:

      @layout_pagewidth - @sw_layout_margin - 49.5
      
    2. Y 의 경우, 다음 표현식을 사용하십시오:

      @sw_layout_margin + 3.5
      
    3. Width 의 경우, 39.292 라고 입력하십시오.

    4. Height 의 경우, 9.583 이라고 입력하십시오.

    여러분의 조직의 로고를 포함시키려면 여러분의 홈 디렉터리에 로고를 저장한 다음 Main Properties ► Image Source 에 경로를 입력해야 합니다.

  2. 이 조판에는 아직 방위표가 없습니다. northArrow Add North Arrow 버튼을 사용해서 방위표를 삽입할 것입니다. 기본 방위표를 사용하고, 방위표의 위치를 다음과 같이 정의하십시오:

    1. X 의 경우, 다음 표현식을 사용하십시오:

      @layout_pagewidth - @sw_layout_margin * 2 - 78
      
    2. Y 의 경우, 다음 표현식을 사용하십시오:

      @sw_layout_margin + 9
      
    3. Width 의 경우, 21.027 이라고 입력하십시오.

    4. Height 의 경우, 21.157 이라고 입력하십시오.

4.2.5. ★★☆ 따라해보세요: 동적 헤더의 축척 막대 생성하기

  1. 헤더에 축척 막대를 삽입하려면 scaleBar Add Scale Bar 버튼을 클릭한 다음 방위표 위에 있는 직사각형 안에 배치하십시오. Main PropertiesMap 에서 main map(Map 1) 을 선택하십시오. 이렇게 하면 여러분이 QGIS 주 캔버스에서 선택한 범위에 따라 축척이 자동으로 변경됩니다. StyleNumeric 으로 선택하면 축척 막대 대신 단순한 축척을 삽입합니다. 이 축척도 위치와 크기를 정의해줘야 합니다.

    1. X 의 경우, 다음 표현식을 사용하십시오:

      @layout_pagewidth - @sw_layout_margin * 2 - 78
      
    2. Y 의 경우, 다음 표현식을 사용하십시오:

      @sw_layout_margin + 1
      
    3. Width 의 경우, 25 라고 입력하십시오.

    4. Height 의 경우, 8 이라고 입력하십시오.

    5. 중심에 Reference point 를 배치하십시오.

축하합니다! 여러분의 첫 동적 지도 조판을 생성하셨습니다. 이 조판을 살펴보고 모든 것이 여러분이 바라던 대로 보이는지 확인하십시오! 동적 지도 조판은 여러분이 page properties 를 변경할 때마다 자동적으로 반응합니다. 예를 들어 여러분이 용지 크기를 DIN A4에서 DIN A3로 변경하는 경우, refresh Refresh view 버튼을 클릭하면 페이지 디자인이 조정됩니다.

../../../_images/dynamic_layout.png

4.2.6. 다음은 무엇을 배우게 될까요?

다음 페이지에서, 여러분은 완성해야 할 과제를 받게 될 것입니다. 이제까지 배웠던 기술들을 연습해볼 수 있을 것입니다.