중요

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

10.3. 라벨 설정

Labels are textual information you can display on vector features, mesh layers or maps. They add details you could not necessarily represent using symbols. Two types of text-related items are available in QGIS:

  • Text Format: 글꼴, 크기, 색상, 음영, 배경, 버퍼 등등 텍스트의 모양을 정의합니다.

    주로 글꼴 위젯을 통해, 맵 위에 놓일 텍스트(조판/맵 제목, 장식, 축척 막대 등등)를 렌더링하는 데 이런 옵션들을 사용할 수 있습니다.

    Text Format 항목을 생성하려면:

    1. styleManager Style Manager 대화창을 열고

    2. Text format 탭을 선택한 다음

      ../../../_images/stylemanager_textformat.png

      그림 10.25 스타일 관리자 대화창의 텍스트 서식

    3. symbologyAdd Add item 버튼을 클릭하면 됩니다. 환경 설정 을 위한 Text Format 대화창이 열립니다. 다른 속성과 마찬가지로, 이 속성들을 데이터 정의 할 수 있습니다.

  • Label Settings: 텍스트 서식 설정을 위치 또는 다른 텍스트 또는 피처와의 상호 작용과 관련된 속성(호출, 배치, 중첩, 축척에 따른 가시성, 마스크 등등)으로 확장합니다.

    They are used to configure smart labelling for vector and mesh layers through the labelingSingle Labels tab of the vector or mesh Layer Properties dialog or Layer Styling panel or using the labelingSingle Layer Labeling Options button of the Label toolbar.

    Label Settings 항목을 생성하려면:

    1. styleManager Style Manager 대화창을 열고

    2. Label Settings 탭을 선택한 다음

      ../../../_images/stylemanager_labelsettings.png

      그림 10.26 스타일 관리자 대화창에서 라벨 설정

    3. symbologyAdd Add item 메뉴를 클릭하고 사용자가 라벨을 추가하려는 피처의 도형 유형에 해당하는 항목을 선택하십시오.

    다음과 같은 속성과 함께 Label Settings 대화창이 열립니다. 다른 속성과 마찬가지로, 이 속성들을 데이터 정의 할 수 있습니다.

10.3.1. 라벨 텍스트 서식 설정

Text Format 항목을 환경 설정하든 또는 Label Settings 항목을 환경 설정하든, 다음 옵션들을 설정하게 됩니다:

속성 탭

텍스트 서식

라벨 설정

Text

checkbox

checkbox

Formatting

checkbox

checkbox

Buffer

checkbox

checkbox

Mask

checkbox

Background

checkbox

checkbox

Shadow

checkbox

checkbox

Callout

checkbox

Placement

checkbox

Rendering

checkbox

10.3.1.1. 텍스트 탭

../../../_images/label_text.png

그림 10.27 라벨 설정 - 텍스트 탭

text Text 탭에서 다음 항목을 설정할 수 있습니다:

  • Font: 사용자 컴퓨터에서 사용할 수 있는 글꼴 가운데 선택할 수 있습니다.

  • Style: 일반적인 글꼴 스타일은 물론, 밑줄 또는 취소선도 설정할 수 있습니다.

  • Size: 텍스트의 크기를 모든 지원 단위 로 설정할 수 있습니다.

  • Color: 텍스트의 색상을 설정할 수 있습니다.

  • the Opacity: 텍스트의 불투명도를 설정할 수 있습니다.

  • and Allow HTML Formatting enables the use of a subset of HTML tags and CSS rules to customize the label.

탭 하단에 있는 위젯은 사용자의 스타일 관리자 데이터베이스 에 저장된 호환 가능한 항목들을 필터링 가능한 목록으로 보여줍니다. 이를 통해 기존 서식 또는 설정을 바탕으로 현재 텍스트 서식 또는 라벨 설정을 쉽게 환경 설정할 수 있고, 스타일 데이터베이스에 새 항목을 추가할 수도 있습니다. Save format… 또는 Save settings… 버튼을 누르고 이름 및 태그(들)를 입력하면 됩니다.

참고

Label Settings 항목을 환경 설정하는 이 위젯에서 텍스트 서식 항목도 설정할 수 있습니다. 항목을 선택하면 라벨의 현재 텍스트 속성 을 한번에 덮어씁니다. 마찬가지로 텍스트 서식을 생성하거나 덮어쓸 수 있습니다.

Allow HTML Formatting

With Allow HTML Formatting enabled, you need to provide the HTML code in the Value field. Use whitespaces instead of tabs for any kind of indentation. The expression is parsed and any supported HTML tag overrides its corresponding setting in the labels properties. Because it is impossible to list and detail every HTML tag and CSS property that QGIS currently supports, we invite you to explore and test in your labels the ones supported by the underlying Qt library.

Examples of supported HTML tags:

  • Text formatting, such as italic or bold, e.g.:

    <i>QGIS</i> <b>rocks!</b>
    
  • Superscript and subscript, where the text will be vertically super or sub aligned and automatically sized to 2/3 of the parent font size. You can also set a fixed font size for the superscript/subscript by including css rules, e.g.:

    <sup style="font-size:33pt">my superscript text</sup>
    
  • Text horizontal alignment, using either HTML the align="xxx" attribute or center tag. For HTML5 compatibility, prefer using the CSS property text-align.

    주의

    Horizontal alignment can not be used for curved labels.

  • Structuring a block of text using header tags (such as h1, h2, …), or paragraphs (with p, div, br):

    <div class="myDiv">
      <h2>QGIS always rocks!!</h2>
      <p align="center">Let's dive into details of its nice features.</p>
    </div>
    
  • Image insertion: any image format readable by QGIS can be used in HTML label content. It can be served from local file paths, HTTP links, or base64 embedded content, using the src="xxx" attribute. Image sizes can be specified via the width="##" and height="##" attributes, in points unit. If width or height is not specified it will automatically be calculated from the original image size. Images are placed inline only, not as floating images, and not on curved text labels.

    <img src="qgis.png" width=40 height=60>
    

Examples of supported CSS properties:

  • Font properties (color, font-family, font-size, font-weight, font-style, word-spacing). Note that word-spacing will always use unit points.

  • Text decorations such as underline, overline and line-through (text-decoration)

  • Text alignment (vertical-align, text-align). Horizontal alignment can not be used for curved labels.

CSS properties can be set on HTML tags with the style attribute. The HTML tag span does not apply any formatting to text by itself and is ideal if you just want to apply CSS styling. A CSS property name and its value are separated by a colon (:). Multiple CSS properties are separated by semicolon (;), e.g.:

<span style="text-decoration:underline;text-align:center;color:blue;word-spacing:20">I will be displayed as blue underlined and centered text with increased space between words</span>

다음은 (동일한 라벨에 서로 다른 색상 및 밑줄을 적용한) HTML 기반 표현식과 렌더링의 예시입니다:

format(
  '<span style="color:blue">%1</span> ( <span style="color:red"><u>%2 ft</u></span> )',
  title( lower( "Name" ) ),
  round($length)
)
../../../_images/label_HTML_formatting.png

그림 10.28 HTML 서식을 활성화한 라벨 작업

10.3.1.2. 서식 탭

../../../_images/label_formatting.png

그림 10.29 라벨 설정 - 서식 탭

labelformatting Formatting 탭에서 다음 항목을 설정할 수 있습니다:

  • 텍스트의 대소문자 스타일을 변경하려면 Type case 옵션을 사용하십시오. 텍스트를 다음과 같이 렌더링할 수 있습니다:

    • No change: 변경 사항 없음

    • All uppercase: 모두 대문자로 변경

    • All lowercase: 모두 소문자로 변경

    • Title case: 원본 텍스트가 대/소문자만 사용하는 경우, 각 단어의 첫 문자를 대문자로, 다른 문자들을 소문자로 조정합니다. 원본 텍스트가 대/소문자를 섞어 사용하는 경우, 첫 문자를 제외한 다른 문자들은 변경하지 않습니다.

    • Force first letter to capital: 텍스트의 각 단어의 첫 문자를 대문자로 변경하고, 다른 문자들은 변경하지 않습니다.

  • 단어들 사이의 여백, 개별 문자 사이의 여백을 변경하려면 Spacing 옵션을 사용하십시오.

  • With Tab distance you can adjust the replacement spacing for Tab characters in the label, in any supported unit. This allows e.g. to properly separate or vertically align elements of a layout legend text.

  • Stretch 비율: 인자를 통해 텍스트를 수평 방향으로 늘리거나 좁힐 수 있습니다. 라벨에 약간의 추가적인 텍스트를 맞추기 위해 글꼴 너비를 정밀 조정하는 데 편리합니다.

  • checkbox Enable kerning: 텍스트 글꼴의 장식 꼬리(f, y 등 활자의 몸체에서 돌출한 부분)를 활성화합니다.

  • Text orientation: 텍스트의 방향을 Horizontal 수평 또는 Vertical 수직으로 설정할 수 있습니다. 라벨 설정 시 (예를 들어, 라인 피처를 평행 배치 모드로 적절히 라벨 작업하기 위해) Rotation-based 를 선택할 수도 있습니다.

  • 사용자 라벨이 밑에 있는 맵 객체와 어떻게 혼합될지 설정하려면 Blend mode 옵션을 사용하십시오. (자세한 내용은 혼합 모드 를 참조하세요.)

  • unchecked Apply label text substitutes: 이 옵션은 객체 수준에 따라 라벨 텍스트를 대체할 (예를 들어 도로 유형을 축약한다던지 하는) 텍스트 목록을 지정할 수 있습니다. 맵 상에 라벨을 표시할 때 대체 텍스트를 사용합니다. 대체 텍스트를 재사용하거나 쉽게 공유하기 위해 대체 텍스트 목록을 내보내거나 가져올 수도 있습니다.

  • Multiple lines 환경 설정:

    • Wrap on character 옵션을 통해 강제로 텍스트를 줄바꿈하는 문자를 정의할 수 있습니다.

    • Wrap lines to 옵션을 사용하면 자동 줄바꿈을 위한 이상적인 행 길이를 설정할 수 있습니다. 행 길이는 Maximum line length 또는 Minimum line length 가운데 하나로 표현할 수 있습니다.

    • Line Height 결정: 줄 높이 값을 Millimeters, Points, Pixels, Percentage, 또는 Inches 단위 가운데 하나로 설정할 수 있습니다. 줄 높이를 백분율로 설정하면, 해당 글꼴 계열의 기본 텍스트 줄 간격의 백분율을 의미합니다. 줄 높이는 일반적으로 텍스트 크기의 1.2에서 1.5배입니다.

    • Alignment 서식: 사용할 수 있는 전형적인 값은 Left 왼쪽 정렬, Right 오른쪽 정렬, Justify 양쪽 정렬, 그리고 Center 가운데 정렬입니다.

      포인트 라벨 속성을 설정할 때, Follow label placement 옵션을 선택하면 라벨 배치에 따라 텍스트를 정렬할 수도 있습니다. 이 경우, 포인트에 대한 라벨의 최종 배치에 따라 텍스트를 정렬할 것입니다. 예를 들어 라벨이 포인트 왼쪽에 위치한다면 라벨 텍스트를 오른쪽 정렬하고, 오른쪽에 위치한다면 왼쪽 정렬할 것입니다.

    참고

    곡선 기반 라벨 배치 는 아직 Multiple lines 서식을 지원하지 않습니다. 지원하게 될 때 이 옵션은 비활성화될 것입니다.

  • 라인 라벨의 경우 라인의 방향을 결정할 수 있는 Line direction symbolLeft 또는 Right 를 가리키는 심볼로 포함시킬 수 있습니다. Placement 탭에서 이 심볼을 Curved 또는 Parallel 배치 옵션과 함께 사용하면 더 좋습니다. 심볼 위치를 설정할 수 있는 옵션, 그리고 방향을 역전시킬 수 있는 Reverse direction 옵션도 존재합니다

  • 숫자 텍스트 서식을 설정하려면 Formatted numbers 옵션을 활성화시키십시오. Decimal places 를 통해 소수점 숫자 개수를 설정할 수 있습니다. 기본값은 소수점 이하 3 자리입니다. checkbox Show plus sign 을 활성화하면 양수 앞에 플러스 표시를 추가할 수 있습니다.

10.3.1.3. 버퍼 탭

../../../_images/label_buffer.png

그림 10.30 라벨 설정 - 버퍼 탭

라벨 주위에 버퍼(테두리)를 생성하려면, labelbuffer Buffer 탭에서 checkbox Draw text buffer 체크박스를 활성화하십시오. 다음을 설정할 수 있습니다:

  • Size: 버퍼의 크기를 모든 지원 단위 로 설정할 수 있습니다.

  • Color: 버퍼의 색상을 설정할 수 있습니다.

  • checkbox Color buffer’s fill: 버퍼는 라벨의 외곽선으로부터 바깥쪽으로 확장하기 때문에 이 옵션을 활성화하면 라벨 내부를 채웁니다. 라벨 텍스트 밑에 뭐가 있는지 볼 수 있게 해주는 투명도 값을 가진 라벨 또는 특수한 혼합 모드를 사용하고 있을 경우 이 채우기 옵션이 의미가 있을 수도 있습니다. 완전히 투명한 라벨을 사용하는 동안 이 체크박스를 비활성화시키면, 외곽선으로 표시된 텍스트 라벨을 생성할 수 있습니다.

  • Opacity: 버퍼의 투명도를 선택할 수 있습니다.

  • Pen join style 적용: Round 원호, Miter 직각 또는 Bevel 경사 가운데 하나를 선택할 수 있습니다.

  • 사용자 라벨의 버퍼가 밑에 있는 맵 객체와 어떻게 혼합될지 설정하려면 Blend mode 옵션을 사용하십시오. (자세한 내용은 혼합 모드 를 참조하세요.)

  • 고급 paintEffects 그리기 효과 를 추가하려면 unchecked Draw effects 옵션을 체크하십시오. 외곽 빛내기(glow)나 흐리기(blur) 등을 통해 텍스트 가독성을 향상시킬 수 있습니다.

10.3.1.4. 배경 탭

labelbackground Background 탭에서 각 라벨 밑에 위치한 형태를 환경 설정할 수 있습니다. 배경을 추가하려면, unchecked Draw Background 체크박스를 활성화한 다음 Shape 유형을 선택하십시오. 다음 가운데 하나를 선택할 수 있습니다:

  • Rectangle, Square, Circle 또는 Ellipse: 채우기 심볼 의 완전한 속성을 사용하는 직사각형, 정사각형, 원, 또는 타원 같은 정규 형태

  • SVG: 파일 또는 URL로 불러오는, 또는 프로젝트 또는 스타일 데이터베이스에 내장된 (자세한 내용은 내장 파일 선택기 참조) SVG 심볼

  • 심볼 라이브러리 에서 생성하거나 선택할 수 있는 Marker Symbol

../../../_images/label_background.png

그림 10.31 라벨 설정 - 배경 탭

선택한 형태에 따라 다음 속성 가운데 일부를 환경 설정해야 합니다:

  • Size type: 프레임의 크기 유형을 선택할 수 있습니다:

    • Fixed: 텍스트 크기에 상관없이 모든 라벨에 동일한 크기를 적용합니다.

    • Buffer: 또는 텍스트의 경계 상자 위에 버퍼를 적용합니다.

  • Size: 프레임의 크기를 X 및 Y 방향으로, 모든 지원 단위 로 설정합니다.

  • Rotation: 배경의 기울기를 Sync with label, Offset of label 그리고 Fixed 가운데 하나로 설정합니다. 뒤의 두 옵션은 도 단위로 각도를 지정해줘야 합니다.

  • Offset X,Y: 배경 항목을 X 그리고/또는 Y 방향으로 이동시킵니다.

  • Radius X,Y: 배경 형태의 모서리를 둥글게 만듭니다. (직사각형 및 정사각형 형태에만 적용할 수 있습니다.)

  • Opacity: 배경의 투명도를 설정할 수 있습니다.

  • Blend mode: 렌더링 시 배경과 다른 항목을 혼합할 수 있습니다. (혼합 모드 참조)

  • SVG 심볼의 경우, 기본 속성(Load symbol parameters)을 이용하거나 사용자 지정 Fill color, Stroke colorStroke width 를 설정할 수 있습니다.

  • unchecked Draw effects: 텍스트 가독성을 향상시키기 위한 고급 paintEffects 그리기 효과 를 추가할 수 있습니다.

10.3.1.5. 그림자 탭

../../../_images/label_shadow.png

그림 10.32 라벨 설정 - 음영 탭

텍스트에 그림자를 추가하려면, labelshadow Shadow 탭을 선택한 다음 checkbox Draw drop shadow 옵션을 활성화하십시오. 다음을 설정할 수 있습니다:

  • Draw under 옵션으로 그림자를 생성할 항목을 지정하십시오. Text 자체, Buffer 또는 Background 와 같은 특정 요소, 또는 Lowest label component 가운데 하나를 선택할 수 있습니다.

  • Set the shadow’s Offset from the item being shadowed, ie:

    • 각도: 그림자가 질 각도를 기저 항목의 방향에 따라 시계 방향으로 설정합니다.

    • The distance of offset from the item being shadowed

    • 오프셋 거리의 단위를 선택합니다.

    checkbox Use global shadow 체크박스를 체크하면, 각도의 영점이 라벨 항목의 방향을 따르지 않고 언제나 북쪽을 향하도록 고정됩니다.

  • Blur radius: 그림자의 모양을 조정할 수 있습니다. 사용자가 선택한 단위의 숫자를 높이면 그림자가 옅어집니다.

  • Opacity: 그림자의 투명도를 선택할 수 있습니다.

  • Scale 인자를 사용해서 그림자의 크기를 재조정할 수 있습니다.

  • Color: 그림자의 색상을 선택할 수 있습니다.

  • 사용자 라벨의 그림자가 밑에 있는 맵 객체와 어떻게 혼합될지 설정하려면 Blend mode 옵션을 사용하십시오. (자세한 내용은 혼합 모드 를 참조하세요.)

10.3.2. 라벨의 상호 작용을 환경 설정하기

앞에서 설명한 텍스트 서식 설정 이외에도, 라벨이 다른 라벨 또는 피처와 어떻게 상호 작용할지 설정할 수 있습니다.

10.3.2.1. 마스크 탭

labelmask Mask 탭에서 라벨 주변에 마스크 영역을 정의할 수 있습니다. 심볼들이 중첩하는데 라벨들이 비슷한 색상이기 때문에 라벨들이 잘 보이도록 하고 싶을 때 매우 유용한 기능입니다. 라벨 마스크는 마스크에 설정된 경계 안쪽에 지정한 피처를 그리지 않도록 막습니다. 예를 들면, 라벨의 2mm 안쪽에 지정한 레이어를 그리지 않지만 또다른 레이어의 피처는 보이도록 라벨 마스크를 설정할 수 있습니다. 라벨 마스크는 다른 피처를 덮고 있는 라벨의 가독성을 제어할 수 있게 해준다는 점에서 라벨 버퍼와 비슷합니다. 둘 사이의 차이점은 라벨 버퍼는 아래에 있는 모든 피처들 위에 생성되지만, 라벨 마스크는 다른 레이어들이 그려지지 않도록 선택할 수 있다는 점입니다.

../../../_images/label_mask.png

그림 10.33 라벨 설정 - 마스크 탭 (텍스트 예시가 또다른 레이어가 제외되어 있음을 나타내는 녹색 배경을 보여주고 있습니다)

라벨에 마스크 효과를 생성하려면:

  1. labelmask 탭에서 checkbox Enable mask 체크박스를 활성화하십시오.

  2. 그러면 다음을 설정할 수 있습니다:

    • Size: 마스크의 크기를 지원 단위 로 설정할 수 있습니다.

    • Opacity: 라벨 주위의 마스크 영역의 투명도를 설정할 수 있습니다.

    • Pen Join Style

    • checkbox Draw effects 체크박스를 체크하면 그리기 효과 를 설정할 수 있습니다.

  3. 중첩하는 레이어의 속성 가운데 labelmask Mask 탭에서 이 마스크 형태를 마스크 소스로 선택하십시오. (마스크 속성 참조)

10.3.2.2. 호출 탭

복잡한 맵 위에 라벨을 배치할 때 흔히 호출(callout) 을 사용하곤 합니다. 관련 피처에서 떨어진 (또는 외부에 배치된) 라벨을 피처와 라벨을 연결하는 동적 라인으로 식별합니다. 두 종단점 가운데 하나를 (라벨 또는 피처 가운데 하나가) 이동시키면, 연결자(connector)의 형태를 다시 계산합니다.

../../../_images/label_callouts.png

그림 10.34 다양한 호출 설정을 가진 라벨

라벨에 호출을 추가하려면, labelcallout Callouts 탭을 선택한 다음 checkbox Draw callouts 옵션을 활성화하십시오. 다음을 설정할 수 있습니다:

  1. 연결자의 Style 을 다음 가운데 선택합니다:

    • Simple lines: 직선, 최단 경로

    • Manhattan style: 90° 꺾인 라인

    • Curved lines: 만곡 라인

    • Balloons: 라벨을 감싸고 피처를 가리키는 말풍선. 모서리를 둥글게 만들 수 있습니다.

  2. Set the properties of the callout. The following table shows the different properties, with description and compatible connector style.

    표 10.1 Label callout properties

    Property

    Style of callout

    Description

    Fill style

    Balloons

    A fill symbol with full display capabilities, including layer effects, data-defined settings, … for drawing the balloon shape.

    Corner radius

    Corner radius of the speech bubble

    Wedge width

    Sets how large the bubble speech connection with feature’s pointer should be

    Margins

    Margins around the label’s text, in the unit of your choice

    Line style

    All but balloons

    A line symbol with full display capabilities, including layer effects, data-defined settings, … for drawing the connector line.

    Curvature

    Curved lines

    The percentage of curvature of the connection line

    Orientation

    Orientation, starting from the label to the feature. It can be Clockwise, Counter-clockwise, or Automatic (determining an optimal orientation for each label).

    Minimum length

    All but balloons

    Minimum length of the connector line

    Draw lines to all feature parts

    In case of a multi-part feature, indicates whether a connector line should be drawn from the label to each geometry part.

    Label anchor point

    Controls where the connector line should join to the label text. Available options:

    • Closest point: 가장 가까운 포인트에 연결합니다.

    • Centroid: 중심점

    • 가장자리에 있는 고정 위치(Top left, Top center, Top right, Left middle, Right middle, Bottom left, Bottom center and Bottom right)에 연결합니다.

    Offset from label area

    Controls the distance from the label anchor point (where the callout line ends). This avoids drawing lines right up against the text.

    Offset from feature

    All

    Controls the distance from the feature (or its anchor point if a polygon) where callout lines end. E.g., this avoids drawing lines right up against the edges of the features.

    Feature anchor point

    Where the connector line ends on the (polygon) feature. Available options:

    • Pole of inaccessibility: 도달불능극

    • Point on exterior: 외곽 포인트

    • Point on surface: 표면 포인트

    • Centroid: 중심점

    End point marker

    Balloons

    A marker symbol with full display capabilities including layer effects, data-defined, … for rendering a marker symbol below the endpoint of the balloon callout.

    Blend mode

    All

    Controls the blending of the callout.

    Data defined placement 프레임에서, 호출의 (라벨 쪽) Origin 그리고/또는 (피처 쪽) Destination 포인트 좌표를 제어할 수 있습니다. 라벨 작업 툴바 에 있는 moveLabel Move Label, Diagram or Callout 도구로도 호출의 배치를 직접 제어할 수 있습니다. 이런 방법으로 각 호출의 시작점 및 종단점을 이동시킬 수 있습니다. 마우스 커서를 가까이 가져가면 노드가 강조될 것입니다. 필요한 경우, 호출을 이동시키는 동안 Shift 키를 누르고 있으면 두 호출 포인트 사이의 각도가 15도씩 늘어나는 방식으로 포인트를 스냅시킬 것입니다.

10.3.2.3. 배치 탭

Choose the labelplacement Placement tab for configuring label placement and labeling priority. Note that the placement options differ according to the type of vector or mesh layer, namely point, line or polygon, and are affected by the global PAL setting.

포인트 레이어에서의 배치

사용할 수 있는 포인트 라벨 배치 모드는 다음과 같습니다:

  • Cartographic: 이상적인 지도 제작법의 배치 규칙을 따라 포인트 피처와 시각적으로 더 잘 어울리는 위치에 포인트 라벨을 생성합니다. 라벨을 다음과 같이 배치할 수 있습니다:

    • 포인트 피처 자체로부터 또는 (Distance offset from 옵션에서 설정하는) 피처를 표현하는 데 쓰인 심볼의 경계로부터 지원 단위 로 설정한 Distance 에 라벨을 배치할 수 있습니다. 심볼 크기가 고정되지 않은 경우, 예를 들어 데이터 정의 크기로 설정됐거나 또는 범주 렌더링 작업자에서 서로 다른 심볼을 사용하는 경우 심볼 경계를 기준으로 하는 옵션이 매우 유용합니다.

    • within a Maximum Distance from the feature, which is an optional setting that allows you to control how far a label can be placed from the feature it’s labeling. This works alongside the Distance setting to create a range for label placement, adding flexibility to position labels more effectively, especially on busy maps, ensuring they fit neatly around their corresponding features.

    • using the Prioritize Placement option, which decides what’s more important when placing labels. There are two options:

      • Prefer closer labels: By default, labels are kept close to the feature.

      • Prefer position ordering: The label will try to stay in a specific position (like top left or top right), even if it’s a bit farther away from the feature. The label only moves to other positions if there’s no room within the maximum distance at your preferred position.

    • following a Position priority which dictates placement candidates for anchoring labels around and (centered) over the point feature, and the order in which the positions are tested. The default order, based on guidelines from Krygier and Wood (2011) and other cartographic textbooks, is as follows:

      1. 우상단

      2. 좌상단

      3. 우하단

      4. 좌하단

      5. 우중단

      6. 좌중단

      7. 약간 우측으로 쏠린 상단

      8. 약간 좌측으로 쏠린 하단

      Using the dataDefine Data-defined override button, you can provide a comma separated list of placements in order of priority. This also allows only certain placements to be used, for certain features only, so e.g., for coastal features you can prevent labels being placed over the land.

  • Around Point: labels are placed in a circle around the feature with an equal radius set in Distance. Additionally you can set Maximum Distance from the feature, to control how far a label can be placed from the feature it’s labeling. The placement priority is clockwise from the “top right”. The position can be constrained using the data-defined Quadrant option.

  • Offset from Point: 포인트 피처에서 다양한 단위의 Offset X,Y 거리에, 또는 가급적 피처 위로 라벨을 배치할 수 있습니다. 배치를 제약하기 위해 데이터 정의 Quadrant 옵션을 사용할 수 있고, 라벨에 Rotation 을 할당할 수 있습니다.

라인 레이어에서의 배치

라인 레이어 용 라벨 모드는 다음을 포함합니다:

  • Parallel: 피처를 표현하는 일반화된 라인에 평행하게 라벨을 그립니다. 라인 가운데 좀 더 직선에 가까운 부분 위로 들어가는 배치를 선호합니다. 다음을 정의할 수 있습니다:

    • Allowed positions: Above line, On line, Below lineLine orientation dependent position (라인의 좌측 또는 우측에 라벨 배치). 동시에 여러 옵션을 선택할 수 있습니다. 이런 경우, QGIS가 최적의 라벨 위치를 찾을 것입니다.

    • Distance: 라벨과 라인 사이의 거리

  • Curved: 라인 피처의 곡률에 따라 라벨을 그립니다. Parallel 모드에서 사용할 수 있는 파라미터는 물론, 라벨을 내부에 그릴지 또는 외부에 그릴지, 그리고 Maximum angle between curved characters polygon 을 통해 각 문자 사이의 최대 각도도 정의할 수 있습니다.

  • Horizontal: 라인 피처의 길이를 따라 라벨을 수평으로 그립니다.

../../../_images/line_label_placement.png

그림 10.35 라인 피처의 라벨 배치 예시

배치 모드 이외에도 다음을 설정할 수 있습니다:

  • Repeating Labels Distance: 피처의 길이에 걸쳐 라벨을 여러 번 표시합니다. 라벨 사이의 거리를 Millimeters, Points, Pixels, Meters at scale, Map UnitsInches 단위로 정의할 수 있습니다.

  • A Label Overrun Distance (수평 모드에서는 사용할 수 없음): 라인 피처의 종단(또는 시작)을 넘어 연장할 수 있는 라벨의 최대 허용 거리를 지정합니다. 이 값을 늘리면 짧은 라인 피처에 라벨을 표시할 수 있게 됩니다.

  • Label Anchoring: 라벨이 지시하는 라인 피처에서의 라벨의 배치를 제어합니다. Settings … 를 클릭하면 다음 가운데 선택할 수 있습니다:

    • 라벨이 가까이 배치될 라인에서의 위치를 (비율로) 선택합니다. 데이터 정의를 할 수 있으며, 선택할 수 있는 값은 다음과 같습니다:

      • labelAnchorCenter Center of Line

      • labelAnchorStart Start of Line

      • labelAnchorEnd End of Line

      • 또는 labelAnchorCustom Custom…

    • Clipping: 라인 상에서 라벨 배치를 어떻게 계산할지를 결정합니다. 기본적으로 라인의 가시 영역만 사용하지만, 좀 더 일관적인 결과를 내기 위해 전체 영역을 사용할 수도 있습니다.

    • Anchor text: 텍스트의 어느 (시작, 중앙, 또는 종단) 부분을 고정점에 정렬시킬지를 제어합니다. Automatic 앵커를 사용한다면:

      • 라인의 시작점에 가깝게 (0~25%) 고정된 라벨의 경우 라벨 텍스트의 시작 부분에 앵커를 배치할 것입니다.

      • 라인의 종단점에 가깝게 (75~100%) 고정된 라벨의 경우 라벨 텍스트의 종단 부분에 앵커를 배치할 것입니다.

      • 라인의 중앙에 가깝게 (25~75%) 고정된 라벨의 경우 라벨 텍스트의 중앙 부분에 앵커를 배치할 것입니다.

    • Placement Behavior: Preferred Placement Hint 를 사용해서 라벨 고정점을 라벨 배치를 위한 힌트 정도로만 취급할 수 있습니다. Strict 를 선택하면 라벨을 라벨 고정점에 정확히 배치합니다.

폴리곤 레이어에서의 배치

폴리곤의 라벨을 배치하는 데 다음 모드 가운데 하나를 선택할 수 있습니다:

../../../_images/polygon_label_placement.png

그림 10.36 폴리곤 피처의 라벨 배치 예시

  • Offset from Centroid: 라벨을 피처의 중심점에, 또는 피처의 중심점에서 (지원 단위 의) 고정 Offset X,Y 거리에 배치합니다. 맵 캔버스에 렌더링된 폴리곤의 부분을 기반으로 (visible polygon) 또는 사용자가 볼 수 있느냐에 상관 없이 폴리곤 전체를 기반으로 (whole polygon) 참조 중심점을 결정할 수 있습니다. 또한:

    • 중심점 포인트를 해당 폴리곤의 내부로 강제할 수 있고

    • 지정 사분면 내부에 라벨을 배치할 수 있으며

    • 기울기를 할당할 수 있습니다.

    • Allow placing labels outside of polygons: 라벨을 폴리곤 내부에 배치할 수 없는 경우 폴리곤 외부에 라벨을 배치합니다. 데이터 정의 속성 덕분에 외부 라벨을 허용할 수도, 방지할 수도, 또는 피처 별로 외부 라벨을 강제할 수도 있습니다.

  • Around Centroid: 중심점 주변으로 사전 설정한 거리 안에 라벨을 배치합니다. 정확히 중심점에 배치하는 것을 선호합니다. 역시, 중심을 visible polygon 또는 whole polygon 기반으로 정의할 수 있으며, 중심점 포인트를 폴리곤 내부로 강제할지 여부도 정의할 수 있습니다.

  • Horizontal: 폴리곤 내부의 최적 위치에 수평 라벨을 배치합니다. 폴리곤 경계에서 가장 먼 위치에 배치하는 것을 선호합니다. Allow placing labels outside of polygons 옵션으로 라벨을 폴리곤 외부에 배치할 수도 있습니다.

  • Free (Angled): 폴리곤 내부의 최적 위치에 기울인 라벨을 배치합니다. 기울기는 폴리곤의 방향을 따르며, 폴리곤 경계에서 가장 먼 위치에 배치하는 것을 선호합니다. Allow placing labels outside of polygons 옵션으로 라벨을 폴리곤 외부에 배치할 수도 있습니다.

  • Using Perimeter: 폴리곤 경계선을 표현하는 일반화된 라인에 평행하게 라벨을 그립니다. 경계선 가운데 좀 더 직선에 가까운 부분 위로 들어가는 배치를 선호합니다. 다음을 정의할 수 있습니다:

    • Allowed positions: Above line, On line, Below lineLine orientation dependent position (폴리곤 경계선의 좌측 또는 우측에 라벨 배치). 동시에 여러 옵션을 선택할 수 있습니다. 이런 경우, QGIS가 최적의 라벨 위치를 찾을 것입니다.

    • Distance: 라벨과 폴리곤 외곽선 사이의 거리

    • the Repeating Labels Distance: 경계선의 길이에 걸쳐 라벨을 여러 번 표시합니다.

  • Using Perimeter (Curved): 폴리곤 경계선의 곡률에 따라 라벨을 그립니다. Using Perimeter 모드에서 사용할 수 있는 파라미터는 물론, 라벨을 내부에 그릴지 또는 외부에 그릴지, 그리고 Maximum angle between curved characters polygon 을 통해 각 문자 사이의 최대 각도도 정의할 수 있습니다.

  • Outside Polygons: 항상 폴리곤의 외부의 설정한 Distance 에 라벨을 배치합니다.

공통 배치 설정

몇몇 라벨 배치 설정을 모든 레이어 도형 유형에 대해 사용할 수 있습니다:

도형 생성기

Geometry Generator 프레임에서, 사용자는 표현식 을 이용해서 라벨을 배치하고 렌더링하는 데 쓰이는 기저 도형을 수정할 수 있습니다. 도형을 동적으로 이동시키거나, 또다른 도형(유형)으로 변환시키는 데 유용할 수 있습니다.

도형 생성기를 사용하려면:

  1. checkbox Geometry generator 옵션을 체크하십시오.

  2. 도형 생성에 사용할 표현식을 입력하십시오.

  3. 관련이 있는 경우, 표현식이 산출할 도형 유형을 선택하십시오: 배치 또는 렌더링 같은 도형 기반 라벨 설정을 새로운 도형 유형의 케이퍼빌리티와 일치하도록 업데이트합니다.

다음은 몇몇 활용 사례입니다:

  • 또다른 필드인 “label_position” 에 저장되어 있는 도형을 사용

  • 라벨 작업에 심볼로부터 생성된 도형 도 사용

  • 확대/축소 수준과 상관없이 거리/크기를 계산하기 위해 @map_scale 변수를 사용

  • 만곡 배치 모드와 결합, 포인트 피처를 둘러싼 원호 라벨을 생성:

    exterior_ring(make_circle($geometry, 20))
    
  • 라인 피처의 시작점과 종단점에 라벨을 추가:

    collect_geometries( start_point($geometry), end_point($geometry) )
    
  • 라벨 배치를 위한 공간을 확보하기 위해 강을 나타내는 라인을 평활화:

    smooth( $geometry, iterations:=30, offset:=0.25, min_length:=10 )
    
데이터 정의

Data Defined 그룹은 라벨 배치에 대해 피처 별로 직접 제어할 수 있는 기능을 제공합니다. 데이터 정의는 라벨의 속성 또는 다음을 설정할 표현식에 의존적입니다:

  • XY 좌표

  • 앞에서 설정한 사용자 지정 위치에서의 텍스트 정렬:

    • Horizontal: Left, Center 또는 Right 가운데 하나를 선택할 수 있습니다.

    • Vertical: Bottom, Base, Half, Cap 또는 Top 가운데 하나를 선택할 수 있습니다.

  • the text Rotation. Rotation is defined as clockwise angle with 0° pointing in the direction of East for Horizontal oriented text and with 0° pointing in North direction for Vertical oriented text. Different units can be defined for the labeling rotation (e.g. degrees, minutes of arc, turns). Check the Preserve data rotation values entry if you want to keep the rotation value in the associated field and apply it to the label, whether the label is pinned or not. If unchecked, unpinning the label rotation is reset and its value cleared from the attribute table.

    참고

    폴리곤 피처의 데이터 정의 기울기는 현재 Around centroid 배치 모드에서만 지원합니다.

참고

데이터 정의 라벨 배치를 위한 라벨 맵 도구(예: Rotate labelMove label 도구)와 함께 표현식을 사용할 수는 없습니다. 위젯이 해당 보조 저장소 필드 로 재설정될 것입니다.

우선 순위

Priority 부분에서 각 라벨의 배치 우선 순위를 정의할 수 있습니다. 예를 들어 서로 다른 도표 또는 라벨 후보들이 동일 위치에 존재하는 경우, 더 높은 우선 순위를 가진 항목이 표시되고 나머지 후보들은 표시되지 않을 수도 있습니다.

우선 순위는 더 높은 가중치를 가진 방해물 피처 때문에 라벨이 누락되어도 될지 평가하는 데에도 쓰입니다.

방해물

어떤 맥락에서는 (예를 들어 라벨이 높은 밀도로 모여 있는 경우, 피처와 중첩하는 경우 등등) 라벨이 관계 없는 다른 피처를 중첩하는 위치에 배치될 수도 있습니다.

방해물이란 QGIS가 그 위로 다른 피처의 라벨 또는 도표를 배치하지 않도록 하는 피처를 말합니다. Obstacles 부분에서 이 기능을 제어할 수 있습니다:

  1. 레이어의 피처가 (동일 레이어에 있는 다른 피처의 항목을 포함한) 모든 라벨 및 도표의 방해물로서 동작해야 하는지 여부를 결정하려면 checkbox Features act as obstacles 옵션을 활성화하십시오.

    이 옵션 옆에 있는 dataDefine Data-defined override 제어를 이용하면, 방해물로 사용할 피처 하위 집합을 전체 레이어 대신 선택할 수 있습니다.

  2. 방해물의 가중치를 조정하려면 Settings 버튼을 사용하십시오.

    • 모든 잠재적인 방해물 피처에 대해 Obstacle weight 를 할당할 수 있습니다: 이 값보다 높은 배치 우선 순위를 가진 모든 라벨 또는 도표 는 방해물을 중첩할 수 있습니다. 이보다 낮은 우선 순위를 가진 라벨 또는 도표는, 다른 위치에 배치가 불가능한 경우, 누락될 것입니다.

      이 가중치도 데이터 정의할 수 있습니다. 즉 동일 레이어 안에서 특정 피처가 다른 피처보다 중첩될 가능성이 높게 만들 수 있습니다.

    • 폴리곤 레이어의 경우, 피처가 어떤 유형의 방해물인지 선택할 수 있습니다:

      • Over the feature’s interior: 폴리곤 내부에 라벨이 배치되지 않도록 합니다. (라벨을 완전히 폴리곤 바깥에 배치하거나 폴리곤 내부에 살짝만 걸치도록 배치하는 것을 선호합니다.)

      • Over the feature’s boundary: 폴리곤의 경계선을 가로질러 라벨이 배치되지 않도록 합니다. (라벨을 폴리곤 바깥에 또는 완전히 폴리곤 내부에 배치하는 것을 선호합니다.) 이 옵션은 피처가 전체 영역을 덮고 있는 (행정 구역, 범주 커버리지 등의) 레이어에 유용합니다. 이런 경우 피처 내부에 라벨을 배치해야 하고, 라벨이 피처들 사이의 경계선을 가로질러 배치되는 일을 피해야 더 보기에도 좋습니다.

10.3.2.4. 렌더링 탭

render Rendering 탭에서, 언제 라벨을 렌더링할 수 있는지 그리고 어떻게 다른 라벨 및 피처와 상호작용하는지를 조정할 수 있습니다.

라벨 옵션

Label options 에서는:

  • 축척에 따라 그리고 픽셀 크기에 따라 가시성을 설정할 수 있는 축척 기반Pixel size-based 옵션이 있습니다.

  • Label z-index 옵션은 라벨 렌더링 순서는 물론, 다른 레이어의 라벨과의 관계를 설정하는 것처럼 (데이터 정의 무시 표현식을 이용해서) 동일 레이어에 있는 다른 피처 라벨과의 관계성도 결정합니다. 더 낮은 Z 인덱스를 가진 (모든 레이어의) 라벨 위에 더 높은 Z 인덱스를 가진 라벨을 렌더링합니다.

    여기에, 라벨 2 개가 일치하는 Z 인덱스를 가지도록 논리가 수정됐을 경우:

    • 동일 레이어의 라벨인 경우, 더 큰 라벨 위에 더 작은 라벨을 그립니다.

    • 서로 다른 레이어의 라벨인 경우, 레이어 자체의 우선 순위(예를 들어 맵 범례에서의 순서)를 따릅니다.

    참고

    이 설정은 다른 레이어의 피처 아래에 라벨을 그리도록 하는 것이 아니라, 그저 모든 레이어의 피처 위에 라벨을 어떤 순서로 렌더링할지 제어할 뿐입니다.

  • Allow inferior fallback placements: QGIS는 기본적으로 라벨을 사용자 설정에 따라 최적의 위치에 렌더링하려 시도합니다. 이 모드를 체크하면, 예를 들어 만곡 라벨 텍스트를 맞추기에는 라인이 너무 짧아서 피처 중심 포인트 바로 위에 라벨을 수평으로 배치할 수도 있는 경우처럼, 다른 선택지가 없는 경우 피처를 더 보기 안 좋은 위치로 배치하게 할 수도 있습니다.

  • Show labelAlways Show 에서 데이터 정의 표현식을 이용하면, 어떤 라벨을 렌더링해야 하는지를 미세 조정할 수 있습니다.

  • Show upside-down labels: 라벨을 위아래로 뒤집어 표시할 수 있습니다. Never, When rotation defined 또는 Always 가운데 선택할 수 있습니다.

  • Overlapping labels 프레임에서는 레이어에 있는 피처에 대해 라벨이 겹쳐져도 되는지 여부를 그리고 각각의 라벨을 어떻게 처리해야 할지를 제어할 수 있습니다.

    • Never overlap: 라벨 일부가 누락되는 한이 있더라도 레이어의 라벨들을 절대로 겹치게 배치하지 않습니다.

    • Allow overlaps if required: 라벨을 다른 방식으로는 배치할 수 없는 경우, 겹치는 라벨을 렌더링합니다. 이 모드는 가능한 경우 라벨을 조금 덜 이상적인 위치로 이동시킬 것입니다. 예를 들어 라벨을 라인 또는 폴리곤의 중심으로부터 더 멀리 이동시켜 다른 라벨과 겹치지 않게 할 수 있다면, 그렇게 할 것입니다. 그러나 가능한 위치가 달리 없는 경우 라벨을 겹치게 렌더링합니다.

    • Allow overlaps without penalty: 한 라벨이 다른 라벨과 겹치거나 또는 가려도 아무 문제없습니다. 라벨을 좀 더 먼 위치로 이동시켜 서로 겹치지 않게 할 수 있더라도, 항상 최적의 배치를 (예를 들어 가장 중심에 가까운 배치를) 사용할 것입니다.

    겹치는 라벨과 차선의 배치를 둘 다 허용하면, 라벨이 레이어의 모든 피처에 표시되도록 보장할 것입니다… 가장 보기 좋은 렌더링이 아닐지라도 말이죠!

피처 옵션

Feature options 에서는:

  • 다중 부분 피처의 모든 부분에 라벨을 그리는 Label every part of a multi-part features 옵션을 선택할 수도 있고, Limit number of features to be labeled to 옵션을 선택해서 라벨을 그릴 피처의 개수를 제한할 수도 있습니다.

  • 라인 및 폴리곤 레이어 둘 다 라벨을 그릴 피처의 최소 크기를 설정할 수 있는 Suppress labeling of features smaller than 옵션을 제공합니다.

  • 폴리곤 피처의 경우, 라벨이 피처 내부에 완전히 들어가는지 여부를 바탕으로 표시할 라벨을 필터링할 수도 있습니다.

  • 라인 피처의 경우, Merge connected lines to avoid duplicate labels 옵션을 선택하면 배치 탭 에 있는 Distance 또는 Repeat 옵션과 결합해서 훨씬 보기 좋은 맵을 렌더링할 수 있습니다.