13.3. 라벨 설정

라벨은 벡터 피처 또는 맵 위에 표시할 수 있는 텍스트 정보를 말합니다. 심볼로는 표현할 수 없는 세부 정보를 추가합니다. QGIS는 두 가지의 텍스트 관련 항목을 사용할 수 있습니다.

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

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

    Text Format 항목을 생성하려면:

    1. styleManager Style Manager 대화창을 열고

    2. Text format 탭을 선택한 다음

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

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

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

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

    이 속성들은 벡터 레이어 Layer Properties 대화창의 labelingSingle Labels 탭이나 Layer Styling 패널, 또는 라벨 툴바labelingSingle Layer Labeling Options 버튼을 통해 벡터 레이어를 위한 스마트 라벨 작업을 환경 설정하는 데 사용됩니다.

    Label Settings 항목을 생성하려면:

    1. styleManager Style Manager 대화창을 열고

    2. Label Settings 탭을 선택한 다음

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

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

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

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

13.3.1. 라벨 텍스트 서식 설정

Whether you are configuring a Text Format or Label Settings item, you will be given the following options:

Properties tab

Text format

Label settings

Text

checkbox

checkbox

Formatting

checkbox

checkbox

Buffer

checkbox

checkbox

Mask

checkbox

checkbox

Background

checkbox

checkbox

Shadow

checkbox

Callout

checkbox

Placement

checkbox

Rendering

checkbox

13.3.1.1. 텍스트 탭

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

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

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

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

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

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

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

  • the Opacity

  • and Allow HTML Formatting: The HTML formatting option enables the proper rendering of some HTML tags to customize the label. The supported tags are the HTML Color tags (applied to text, underline, strikethrough, and overline).

    In order to use the HTML formatting, you need to provide the HTML code in the Value field. The expression is parsed and any supported HTML tag overrides its corresponding setting in the labels properties. They also combine well with other background, shadow, buffer… properties of labels.

    Below an example of a HTML-based expression and rendering (applies different colors and underline to the same label):

    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

    그림 13.20 Labeling with HTML formatting enabled

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

참고

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

13.3.1.2. 서식 탭

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

그림 13.21 라벨 설정 - 서식 탭

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

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

    • No change: 변경 사항 없음

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

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

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

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

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

  • 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: 행 높이를 설정할 수 있습니다.

    • 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 을 활성화하면 양수 앞에 플러스 표시를 추가할 수 있습니다.

13.3.1.3. 버퍼 탭

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

그림 13.22 라벨 설정 - 버퍼 탭

라벨 주위에 버퍼(테두리)를 생성하려면, 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) 등을 통해 텍스트 가독성을 향상시킬 수 있습니다.

13.3.1.4. 배경 탭

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

  • a regular shape such as Rectangle, Square, Circle or Ellipse using full properties of a fill symbol

  • an SVG symbol from a file, a URL or embedded in the project or style database (more details)

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

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

그림 13.23 라벨 설정 - 배경 탭

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

  • 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: 렌더링 시 배경과 다른 항목을 혼합할 수 있습니다. (혼합 모드 참조)

  • For SVG symbol, you can use its default properties (Load symbol parameters) or set a custom Fill color, Stroke color and Stroke width.

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

13.3.1.5. 그림자 탭

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

그림 13.24 라벨 설정 - 음영 탭

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

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

  • 그림자가 질 항목으로부터의 Offset 을 다음 가운데 설정하십시오:

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

    • 그림자가 질 항목으로부터의 그림자 오프셋 거리를 설정합니다.

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

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

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

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

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

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

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

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

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

13.3.2.1. 마스크 탭

labelmask Mask 탭에서 라벨 주위에 마스크 영역을 정의할 수 있습니다. 사용자가 심볼 및 라벨을 비슷한 색상으로 덮으면서 라벨이 잘 보이도록 하려 하는 경우 이 기능이 아주 유용합니다.

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

그림 13.25 라벨 설정 - 마스크 탭

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

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

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

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

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

    • Pen Join Style

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

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

13.3.2.2. 호출 탭

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

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

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

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

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

    • Simple lines: 직선, 최단 경로

    • Manhattan style: 90° 꺾인 라인

    • Curved lines: a curved line

    • Balloons: a speech bubble surrounding the label and pointing to the feature. It can have rounded corners.

  2. For a line-based callout:

    1. 레이어 효과 및 데이터 정의 설정을 포함한, 라인 심볼 의 완전한 성능을 가진 Line style 을 선택하십시오.

    2. If curved, you also define:

      • the percentage of Curvature of the connection line

      • and its Orientation: starting from the label to the feature, it can be Clockwise or Counter-clockwise, or Automatic (determining an optimal orientation for each label)

    3. Minimum length: 호출 하인의 최단 길이를 설정합니다.

    4. Check whether to checkbox Draw lines to all feature parts from the feature’s label

    5. Label anchor point: 연결자 라인이 라벨 텍스트의 어디에 결합할지 제어합니다. 다음 옵션 가운데 선택할 수 있습니다:

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

      • Centroid: 중심점

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

    6. Offset from label area: 이 옵션은 (호출 라인이 끝나는) 라벨 고정점으로부터의 거리를 제어할 수 있습니다. 텍스트에 밀착하는 호출 라인을 그리는 일을 피할 수 있습니다.

  3. For a balloon callout, you’d need to set:

    • the Fill style with full capabilities of a fill symbol including layer effects, and data-defined settings

    • the Corner radius of the speech bubble

    • the Wedge width: how large the bubble speech connection with feature’s pointer should be

    • the Margins around the label’s text

  4. Offset from feature: 이 옵션은 호출 라인이 끝나는 지점에서 피처(또는 폴리곤인 경우 고정점(anchor point))로부터의 거리를 제어할 수 있습니다. 예를 들어 피처의 경계에 밀착하는 호출 라인을 그리는 일을 피할 수 있습니다.

  5. Set the Feature anchor point for the (polygon) feature (the end point of the connector line). Available options:

    • Pole of inaccessibility: 도달불능극

    • Point on exterior: 외곽 포인트

    • Point on surface: 표면 포인트

    • Centroid: 중심점

  6. Set the Blend mode: controls the blending of the callout.

Under the Data defined placement group, coordinates of the Origin (on the label side) and/or Destination (on the feature side) points of the callout can be controlled. Callouts can also be controlled manually by using the moveLabel Move Label, Diagram or Callout tool in the Labeling Toolbar. The start and end points of each callout can be moved this way. The nodes should be highlighted when the mouse pointer is nearby. If needed the Shift Key can be held during the movement. This will snap the point in a way that the angle between the two callout points increments by 15 degrees.

13.3.2.3. 배치 탭

라벨 배치 및 라벨 작업 순서를 환경 설정하려면 labelplacement Placement 탭을 선택하십시오. 포인트, 라인 또는 폴리곤과 같은 벡터 레이어 유형에 따라 배치 옵션이 달라지며, 이는 전체 수준 PAL 설정 의 영향을 받는다는 점을 기억하십시오.

포인트 레이어에서의 배치

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

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

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

    • 우선 순위 위치의 데이터 정의 목록을 통해 개별 피처마다 사용자 정의 또는 설정할 수 있는 Position priority 옵션으로 배치할 수 있습니다. 이런 방법으로 특정 위치만 이용하도록 할 수도 있는데, 예를 들면 해안 피처의 경우 라벨이 육지 위로 올라오지 않도록 예방할 수 있습니다.

      기본적으로, 제도 제작법 모드 배치의 우선 순위는 (guidelines from Krygier and Wood (2011) 및 다른 지도 제작법 교과서들을 따르는) 다음 순서대로 입니다:

      1. 우상단

      2. 좌상단

      3. 우하단

      4. 좌하단

      5. 우중단

      6. 좌중단

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

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

  • Around Point: 라벨을 피처 주위의 (Distance 에서 설정하는) 동일 반경 원 안에 배치할 수 있습니다. 배치 우선 순위는 “우상단” 에서 시계 방향으로 내려갑니다. 데이터 정의 Quadrant 옵션을 이용하면 라벨의 배치를 더 제약할 수도 있습니다.

  • 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

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

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

  • 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: Determines how the label placement on a line is calculated. By default only the visible extent of the line is used but the whole extent can be used to have more consistent results.

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

폴리곤 레이어에서의 배치

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

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

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

  • 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

The Geometry Generator section allows a user to alter the underlying geometry used to place and render the label, by using expressions. This can be useful to perform displacement of the geometry dynamically or to convert it to another geometry (type).

In order to use the geometry generator:

  1. Check the checkbox Geometry generator option

  2. Enter the expression generating the geometry to rely on

  3. If relevant, select the geometry type of the expression output: the label geometry-based settings such as placement or rendering are updated to match the new geometry type capabilities.

Some use cases include:

  • Use a geometry which is saved in another field “label_position”

  • Use the generated geometry from the symbology also for labeling

  • Use the @map_scale variable to calculate distances / sizes be zoom level independent.

  • Combined with the curved placement mode, creates a circular label around a point feature:

    exterior_ring(make_circle($geometry, 20))
    
  • Add a label at the start and the end of a line feature:

    collect_geometries( start_point($geometry), end_point($geometry) )
    
  • Rely on a smoothed line of a river to get more room for label placement:

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

13.3.2.4. 렌더링 탭

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

라벨 옵션

Label options 에서는:

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

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

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

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

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

    참고

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

  • QGIS는 라벨 렌더링 작업 도중 라벨을 읽기 쉽게 표시하기 위해 라벨들의 위치를 자동적으로 평가하고 서로 충돌할 경우 일부 라벨을 숨길 수 있습니다. 하지만 checkbox Show all labels for this layer (including colliding labels) 체크박스를 활성화시켜 라벨들의 위치를 직접 수정할 수 있습니다. (라벨 툴바 참조)

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

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

피처 옵션

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 옵션과 결합해서 훨씬 보기 좋은 맵을 렌더링할 수 있습니다.