4.2. Lesson: 라벨 도구

어떤 오브젝트에 대한 어떤 정보를 보이기 위해 맵에 라벨을 추가할 수 있습니다. 라벨은 어떤 벡터 레이어와도 연계될 수 있습니다. 이때 라벨의 내용은 해당 레이어의 속성 데이터를 따릅니다.

주석

Layer Properties 대화 창에도 동일한 기능을 제공하는 Labels 탭이 있지만, 이번 예제에서는 툴바 버튼으로 실행할 수 있는 Label tool 을 사용하겠습니다.

이 강의의 목표: 레이어에 유용하고 보기 좋은 라벨을 추가하기.

4.2.1. basic Follow Along: 라벨 이용

라벨 도구에 접근하려면 먼저 해당 기능이 활성화돼 있는지 확인해야 합니다.

  • 메뉴의 View ‣ Toolbars 항목을 선택하십시오.

  • Label 항목 옆에 체크 표시가 돼 있는지 확인하십시오. 표시가 안 돼 있다면 Label 항목을 클릭해서 활성화하십시오.

  • Layers list 에 있는 places 레이어를 클릭해서 선택합니다.

  • Click on the following toolbar button: mActionLabeling

Layer labeling settings 대화 창이 나타날 것입니다.

  • Label this layer with... 옆에 있는 체크박스에 체크합니다.

이제 라벨에 쓰일 속성 항목을 선택해야 합니다. 이전 강의에서 여러분은 이 목적에 NAME 항목이 가장 적합하다는 사실을 배웠습니다.

  • 목록에서 NAME 을 선택한 다음,

../../../_images/select_label_with.png
  • OK 를 클릭하십시오.

이제 맵 상에 다음과 같은 라벨이 보일 것입니다.

../../../_images/first_place_names.png

4.2.2. basic Follow Along: 라벨 옵션 변경

이전 강의에서 사용자 맵을 위해 선택한 스타일에 따라, 서로 겹치거나 위치 표식에서 너무 떨어져 있는 등 라벨 서식이 어울리지 않을 수도 있습니다.

  • 이전과 마찬가지로 Label tool 버튼을 클릭해서 실행하십시오.

  • 왼쪽 옵션 목록에서 Text 를 선택한 다음, 다음과 같이 텍스트 서식 옵션을 변경하십시오.

../../../_images/label_formatting_options.png

폰트 문제를 해결했습니다! 이제 라벨이 겹치는 문제를 살펴봅시다. 다만 그 전에 Buffer 옵션을 보겠습니다.

  • Label tool 대화 창을 엽니다.

  • 왼쪽 옵션 목록에서 Buffer 를 선택합니다.

  • Draw text buffer 옆의 체크박스를 체크한 다음, 다음과 같이 텍스트 서식 옵션을 변경하십시오.

../../../_images/buffer_options.png
  • Apply 버튼을 클릭합니다.

places 라벨에 색상 버퍼 또는 윤곽선이 추가되어 맵 상에서 더 잘 보이는 것을 알 수 있습니다.

../../../_images/buffer_results.png

이제 라벨의 위치를 상응하는 위치 표식에 맞춰보겠습니다.

  • Label tool 대화 창에서 Placement 탭을 선택합니다.

  • Distance 값을 2mm 로 변경하고, Around point 를 선택하십시오.

../../../_images/offset_placement_settings.png
  • Apply 버튼을 클릭합니다.

이제 라벨이 위치 표식을 가리지 않는다는 사실을 알 수 있습니다.

4.2.3. moderate Follow Along: 레이어 심볼 대신 라벨 사용

많은 경우 포인트의 위치가 매우 정확할 필요는 없습니다. 예를 들어 places 레이어의 포인트들 대부분은 도시 또는 교외 전체를 나타내며, 이런 피처와 연결되는 특정 포인트는 대축척에서 그다지 정확하지는 않습니다. 사실을 말하자면 포인트의 위치를 너무 정확히 설정하면 맵을 읽을 때 혼란해지기 쉽습니다.

다음과 같은 예를 들어봅시다. 세계 지도 상에서 유럽 연합을 나타내는 포인트가 폴란드 근처에 위치할 수도 있습니다. 이런 맵을 읽을 때 유럽 연합 이라는 라벨을 가진 포인트가 폴란드에 있다면 유럽 연합의 수도가 폴란드라고 착각할 수 있습니다.

따라서 이런 종류의 오해를 피하기 위해 포인트 심볼을 비활성화하고 대신 라벨만을 표출시키는 작업도 유용합니다.

QGIS에서는 라벨의 위치를 상응하는 포인트 바로 위로 변경해서 렌더링하는 방법을 쓸 수 있습니다.

  • places 레이어의 Layer labeling settings 대화창을 엽니다.

  • 옵션 목록에서 Placement 옵션을 선택합니다.

  • Offset from point 버튼을 클릭합니다.

위치 표식을 기준으로 라벨의 위치를 설정할 수 있는 Quadrant 옵션이 나타날 것입니다. 이 예제의 경우, 라벨의 중심을 위치 표식에 맞추고자 하기 때문에 center quadrant 를 선택합니다.

../../../_images/quadrant_offset_options.png
  • 마찬가지로 레이어 스타일을 편집해서 포인트 심볼을 감추십시오. Ellipse marker 의 너비와 높이를 0 으로 설정합니다.

../../../_images/hide_point_marker.png
  • OK 를 클릭하면 다음과 같은 결과를 볼 수 있습니다.

../../../_images/hide_point_marker_results.png

맵을 줌아웃하는 경우, 라벨 가운데 일부가 대축척에서 서로 겹쳐지는 것을 막기 위해 사라지는 것을 볼 수도 있습니다. 많은 포인트를 가진 데이터셋으로 작업하는 경우 이런 현상을 원할 수도 있지만, 그렇지 않다면 유용한 정보를 잃어버리게 됩니다. 이런 일들을 다룰 수 있는 다른 가능성도 있습니다. 이 강의의 후반부 예제에서 이를 다시 설명하겠습니다.

4.2.4. moderate Try Yourself 사용자 지정 라벨

  • 라벨 및 심볼 설정을 위치 표식을 드러내고 라벨 오프셋을 2.00mm 로 되돌리십시오. 이 단계에서 위치 표식이나 라벨의 스타일을 조정하는 편이 좋습니다.

결과 확인

  • 맵의 축척을 1:100000 으로 설정하십시오. Status Bar 에 있는 Scale 박스에 직접 입력하면 됩니다.

  • 이 축척에서 잘 보이도록 라벨을 조정해보십시오.

결과 확인

4.2.5. moderate Follow Along: 라인 라벨 작업

이제 라벨 작업을 어떻게 하는지 알게 됐지만, 또 다른 문제가 있습니다. 포인트와 폴리곤의 라벨 작업은 쉽습니다. 하지만 라인은 어떨까요? 라인 라벨을 포인트의 경우와 똑같이 작업하면, 다음과 같은 결과를 얻게 됩니다.

../../../_images/bad_street_labels.png

이제 roads 레이어의 라벨 서식을 알기 쉽도록 재설정해보겠습니다.

  • 여러분이 혼란스럽지 않도록 Places 레이어를 숨깁니다.

  • 이전 예제에서 했던 것처럼 streets 레이어의 라벨을 활성화합니다.

  • 더 많은 라벨을 볼 수 있도록 폰트 Size10 으로 설정합니다.

  • Swellendam 도시 지역으로 줌인합니다.

  • Label tool 대화 창의 Advanced 탭에서 다음과 같이 설정합니다.

../../../_images/street_label_settings.png

텍스트 스타일에 기본값을 사용했기 때문에 라벨을 읽기 힘들다는 사실을 알아차리셨습니까? 라벨 텍스트 서식의 Color 를 진회색 또는 검은색으로, buffer 를 연노랑색으로 설정합니다.

축척에 따라 다르지만, 사용자 맵이 다음처럼 보일 것입니다.

../../../_images/street_label_formatted.png

도로명 일부가 반복적으로 나타나는데, 반드시 필요하지는 않습니다. 이렇게 반복되지 않게 하려면,

  • Label labelling settings 대화 창에서 Rendering 옵션을 클릭한 다음 Merge connected lines to avoid duplicate labels 를 선택합니다.

../../../_images/merge_lines_option.png
  • OK 를 클릭합니다.

알아차리기에는 너무 짧은 피처에 라벨이 붙는 일을 막기 위한 유용한 기능도 있습니다.

  • 마찬가지로 Rendering 패널에서 Suppress labeling of features smaller than ... 의 값을 5mm 로 설정합니다. Apply 를 클릭하면 어떤 결과가 나오는지 살펴보십시오.

다른 Placement 설정도 시험해봅시다. 이전에도 봤듯이 이런 경우 horizontal 옵션은 적절하지 않습니다. 대신 curved 옵션을 시험해보겠습니다.

  • Layer labeling settings 대화 창의 Placement 패널에 있는 Curved 옵션을 선택합니다.

결과는 다음과 같습니다.

../../../_images/final_street_labels.png

이전에는 보였던 라벨들 가운데 다수가 사라졌다는 것을 알 수 있습니다. 이리 저리 꼬인 도로 라인을 따라가면서 읽을 수도 있도록 만드는 일이 어렵기 때문입니다. 어느 쪽이 더 쓸모가 있는지 혹은 더 보기 좋은지를 따져 여러분이 어떤 옵션을 사용할 것인지 결정할 수 있습니다.

4.2.6. hard Follow Along: 데이터 정의 설정

  • Streets 레이어의 라벨을 비활성화합니다.

  • Places 레이어의 라벨을 비활성화합니다.

  • attributes 버튼을 클릭해서 Places 레이어의 속성 테이블을 엽니다.

지금 여러분이 관심을 가져야 할 항목은 각 오브젝트의 도시 구역 유형을 정의하는 place 하나뿐입니다.이 데이터를 이용해서 라벨 스타일을 바꿀 수 있습니다.

  • places Labels 패널에 있는 Text 패널을 찾으십시오.

  • Italic 드롭다운 메뉴에 있는 Edit... 을 선택해서 Expression string builder 를 엽니다.

../../../_images/expression_string_builder.png

텍스트 입력란에 "place" = 'town' 을 입력하고 OK 를 두 번 클릭합니다.

../../../_images/expression_builder_settings.png

결과는 다음과 같습니다.

../../../_images/italic_label_result.png

4.2.7. hard Try Yourself 데이터 정의 설정 사용

주석

고급 라벨 작업 설정의 일부를 보여드리기 위해 조금 앞으로 뛰어넘겠습니다. 고급 수준에서는 여러분이 다음 내용을 이해한다고 가정합니다. 이해가 안 된다면 이 부분을 건너뛰어도 좋습니다. 필요한 내용을 학습한 후에 다시 시도해보십시오.

  • places 레이어의 속성 테이블을 엽니다.

  • edit 버튼을 클릭해서 편집 모드로 들어갑니다.

  • 새 열을 추가하고,

../../../_images/add_column_button.png
  • 다음과 같이 설정합니다.

../../../_images/font_size_column.png
  • 각각 다른 places 유형(예를 들어 PLACE 항목의 각 키 값)에 사용자 지정 폰트 크기를 설정하는 데 이 열을 사용합니다.

결과 확인

4.2.8. hard 라벨 작업의 더 많은 가능성들

이 강의에서 모든 옵션을 다룰 수는 없지만, Label tool 에는 유용한 다른 기능들이 많이 있다는 것을 기억하십시오. 렌더링을 축척 기반으로 설정하거나, 레이어의 라벨들에 대한 렌더링 우선순위를 조정하거나, 모든 라벨 옵션을 레이어 속성을 이용해 설정할 수 있습니다. 라벨의 기울기, XY 좌표, 그리고 다른 속성들까지도 (해당 목적을 위해 할당된 속성 항목이 있다면) 설정할 수 있습니다. 그리고 이런 속성들을 Label tool 에 인접한 도구들을 이용해서 편집할 수도 있습니다.

mActionLabeling mActionShowPinnedLabels mActionPinLabels mActionShowHideLabels mActionMoveLabel mActionRotateLabel mActionChangeLabelProperties

(필요한 속성 항목이 존재하고 사용자가 편집 모드일 경우 이 도구들이 활성화될 것입니다.)

여러분 마음대로 라벨 작업 시스템의 가능성을 탐색해보십시오.

4.2.9. In Conclusion

이제 레이어 속성을 이용해서 동적인 라벨을 생성하는 방법을 배웠으니, 여러분의 맵을 더욱 유익하고 멋지게 만들 수 있게 됐습니다!

4.2.10. What’s Next?

이제 속성이 여러분의 맵에 어떻게 시각적인 변화를 줄 수 있는지 알게 됐으니, 오브젝트 그 자체의 심볼을 바꾸는 데 이용해보는 건 어떨까요? 이것이 바로 다음 강의의 주제입니다!