중요

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

16.2. 속성 테이블 작업

속성 테이블은 선택한 레이어의 피처에 관한 정보를 표시합니다. 테이블에 있는 각 행은 (도형을 지닌 또는 지니지 않은) 피처를 나타내며, 각 열은 피처에 관한 한 가지 특정 정보를 담고 있습니다. 테이블에 있는 피처를 검색하고, 선택하고, 이동시키거나 편집할 수도 있습니다.

16.2.1. 서문: 공간 및 비공간 테이블

QGIS는 공간 및 비공간 레이어를 로드할 수 있습니다. PostgreSQL, MS SQL 서버, SpatiaLite 및 오라클은 물론 현재 GDAL에서 지원하는 테이블과 구분자로 구분된 텍스트도 포함합니다. 로드된 레이어는 모두 Layers 패널 안에 나열됩니다. 레이어를 공간적으로 활성화시킬 수 있는지 여부가 맵 상에서 레이어와 상호 작용할 수 있는지 여부를 결정합니다.

속성 테이블 뷰를 통해 비공간 테이블을 둘러보고 편집할 수 있습니다. 거기에, 비공간 테이블을 사용해서 필드 검색을 할 수도 있습니다. 예를 들면, 디지타이즈 작업 중에 비공간 테이블의 열을 이용해서 속성값 또는 허용되는 값의 범위를 정의한 다음 특정 벡터 레이어에 추가할 수 있습니다. 자세한 내용은 속성 양식 속성 에 있는 편집 위젯을 자세히 살펴보세요.

16.2.2. 속성 테이블 인터페이스 소개

벡터 레이어의 속성 테이블을 열려면, 레이어 패널 에서 해당 레이어를 클릭해서 활성화시키십시오. 그 다음 메인 Layer 메뉴에서 openTable Open Attribute Table 메뉴 옵션을 선택하십시오. 레이어를 오른쪽 클릭한 다음 컨텍스트 메뉴에서 openTable Open Attribute Table 을 선택하거나, 속성 툴바에 있는 openTable Open Attribute Table 아이콘을 클릭해도 됩니다. 단축키를 선호한다면, F6 키를 누르면 속성 테이블이 열릴 것입니다. Shift+F6 키 조합을 누르면 선택한 피처로 필터링한 속성 테이블이 열리고, Ctrl+F6 키 조합을 누르면 가시화 피처로 필터링한 속성 테이블이 열릴 것입니다.

이렇게 하면 레이어의 피처 속성을 표시하는 새 창이 열립니다. (그림 16.68 참조) Settings ► Options ► Data sources 메뉴의 설정에 따라, 도킹 창(docked window) 또는 일반 창에서 속성 테이블을 열 것입니다. 속성 테이블 제목에 레이어가 공간적으로 제한됐는지는 물론, 레이어에 있는 피처의 총 개수 및 현재 선택한/필터링한 피처의 개수도 표시됩니다.

../../../_images/vectorAttributeTable.png

그림 16.68 “regions” 레이어의 속성 테이블

속성 테이블 창 상단에 있는 아이콘들은 다음과 같은 기능을 제공합니다:

표 16.1 사용할 수 있는 도구들

아이콘

라벨

목적

기본 단축키

toggleEditing

Toggle editing mode

편집 기능 활성화

Ctrl+E

multiEdit

Toggle multi edit mode

여러 피처들의 여러 필드들을 업데이트

saveEdits

Save Edits

현재 수정 사항을 저장

refresh

Reload the table

newTableRow

Add feature

도형 없는 새 피처를 추가

deleteSelectedFeatures

Delete selected features

레이어에서 선택한 피처를 제거

editCut

Cut selected features to clipboard

Ctrl+X

copySelected

Copy selected features to clipboard

Ctrl+C

editPaste

Paste features from clipboard

복사한 피처로부터 새 피처를 삽입

Ctrl+V

expressionSelect

Select features using an Expression

selectAll

Select All

레이어에 있는 모든 피처를 선택

Ctrl+A

invertSelection

Invert selection

레이어에 있는 현재 선택을 반전

Ctrl+R

deselectActiveLayer

Deselect all

현재 레이어에 있는 모든 피처를 선택 해제

Ctrl+Shift+A

filterMap

양식을 이용해서 피처 필터링/선택하기

Ctrl+F

selectedToTop

Move selected to top

선택한 행을 테이블 맨 위로 이동

panToSelected

Pan map to the selected rows

Ctrl+P

zoomToSelected

Zoom map to the selected rows

Ctrl+J

newAttribute

New field

데이터소스에 새 필드를 추가

Ctrl+W

deleteAttribute

Delete field

데이터소스에서 필드를 제거

editTable

Organize columns

속성 테이블에서 필드를 표시/숨기기

calculateField

Open field calculator

행에 있는 여러 피처들의 필드를 업데이트

Ctrl+I

conditionalFormatting

Conditional formatting

테이블 서식 작업 활성화

dock

Dock attribute table

속성 테이블 도킹/언도킹을 토글

actionRun

Actions

레이어 관련 액션 목록

참고

데이터 유형 및 사용자의 QGIS 버전과 함께 빌드한 GDAL 라이브러리에 따라, 일부 도구를 사용하지 못 할 수도 있습니다.

이 아이콘들 아래엔 (편집 모드 일 때만 활성화되는) 간편 필드 계산 막대가 있는데, 이 계산 막대를 통해 레이어에 있는 피처들 전부 또는 일부에 계산을 간편하게 적용할 수 있습니다. 이 막대는 calculateField Field Calculator (속성값 편집 참조)와 동일한 표현식 을 이용합니다.

16.2.2.1. 테이블 뷰 대 양식 뷰

QGIS는 속성 테이블에서 데이터를 쉽게 수정할 수 있는 뷰 모드 2개를 제공하고 있습니다:

  • openTable Table view: 피처 여러 개의 값을 각 행이 피처를 나타내고 각 열이 필드를 나타내는 표 모드로 표시합니다. 열 헤더를 오른쪽 클릭하면 테이블을 표시하는 방식을 환경 설정 할 수 있고, 셀을 오른쪽 클릭하면 피처와 대화형 작업 을 할 수 있습니다.

    속성 테이블은 테이블 뷰 모드에서 수직/수평 스크롤 이동을 전환할 수 있는 Shift+Mouse Wheel 스크롤링을 지원합니다. 맥OS에서도 마우스를 트랙패드로 교체하면 이 기능을 사용할 수 있습니다.

  • formView Form view: 첫 번째 패널에 피처 식별자 를 표시하고 두 번째 패널에는 첫 번째 패널에서 클릭한 식별자의 속성만 표시합니다. 첫 번째 패널 상단에 있는 드롭다운 메뉴에서 속성(Column preview) 또는 표현식(Expression)을 이용해서 “식별자” 를 지정할 수 있습니다. 이 드롭다운 메뉴에서 최근 사용한 표현식 10개를 다시 사용할 수도 있습니다. 양식 뷰는 레이어 필드 환경 설정을 (속성 양식 속성 참조) 사용합니다.

    첫 번째 패널 하단에 있는 화살표를 이용해서 피처 식별자를 탐색할 수 있습니다. 사용자가 탐색하는 대로 두 번째 패널의 피처 속성이 업데이트될 것입니다. 첫 번째 패널 하단의 다음 버튼들 가운데 하나로 맵 캔버스에 있는 활성 피처를 식별하거나 활성 피처로 이동할 수 있습니다:

    • highlightFeature Highlight current feature: 맵 캔버스에 현재 피처가 가시화되어 있는 경우 현재 피처를 강조합니다.

    • panTo Automatically pan to current feature: 현재 피처로 자동 이동합니다.

    • zoomTo Zoom to current feature: 현재 피처로 확대/축소합니다.

대화창 우하단에 있는 대응하는 아이콘을 클릭해서 두 뷰 모드 사이를 전환할 수 있습니다.

Settings ► Options ► Data Sources 메뉴에서 속성 테이블이 열릴 때의 Default view 를 설정할 수도 있습니다. ‘Remember last view’, ‘Table view’ 또는 ‘Form view’ 옵션 가운데 하나를 선택할 수 있습니다.

../../../_images/attribute_table_views.png

그림 16.69 속성 테이블의 테이블 뷰(위) 대 양식 뷰(아래)

16.2.2.2. 열 환경설정하기

테이블 뷰에서 열 헤더를 오른쪽 클릭하면, 다음을 제어할 수 있도록 해주는 도구에 접근할 수 있습니다:

열 너비 설정하기

열 헤더를 오른쪽 클릭한 다음 다음 가운데 하나를 선택하면 열 너비를 설정할 수 있습니다:

  • Set width…: 원하는 값을 입력할 수 있습니다. 기본적으로, 위젯에는 현재 값이 표시됩니다.

  • Set all column widths…: 모든 열 너비를 동일한 값으로 설정할 수 있습니다.

  • Autosize: 열에 가장 알맞은 너비로 조정할 수 있습니다.

  • Autosize all columns: 모든 열을 가장 알맞은 너비로 조정할 수 있습니다.

열 헤더의 오른쪽 경계선을 드래그해서 열 너비를 변경할 수도 있습니다. 이 새 열 너비는 레이어에 저장되어, 다음에 속성 테이블을 열 때 복원될 것입니다.

열 숨기기와 정리하기 및 액션 활성화하기

Hide column: 열 헤더를 오른쪽 클릭하면 (“테이블 뷰” 모드인) 속성 테이블에서 열을 숨길 수 있습니다. 좀 더 고급 제어를 하려면, 대화창 툴바에서 editTable Organize columns… 버튼을 누르거나 열 헤더의 컨텍스트 메뉴에서 Organize columns… 항목을 선택하십시오. 새로 열리는 대화창에서 다음을 제어할 수 있습니다:

  • 사용자가 표시하거나 숨기고자 하는 열을 체크/체크 해제할 수 있습니다: 숨긴 열은 직접 복원할 때까지 속성 테이블 대화창의 모든 인스턴스에서 사라질 것입니다.

  • 속성 테이블에서 열을 재정렬하기 위해 항목을 드래그&드롭할 수 있습니다. 이 작업은 테이블 렌더링을 변경하는 것이지 레이어 데이터소스의 필드 순서를 변경하는 것이 아니라는 점을 기억하십시오.

  • 각 행에 활성화된 액션들의 드롭다운 박스 또는 버튼 목록을 표시하는 새로운 가상 Actions 열을 추가할 수 있습니다. 액션에 관한 자세한 정보를 알고 싶다면 액션 속성 을 참조하세요.

행 정렬하기

열 헤더를 클릭하면, 어떤 열로든 행들을 정렬시킬 수 있습니다. 작은 화살표는 정렬 순서를 나타냅니다. (아래를 가리키는 화살표는 최상위 행으로부터 아래 방향으로 값을 내림차순으로 정렬하고, 위를 가리키는 화살표는 최상위 행으로부터 아래 방향으로 값을 오름차순으로 정렬한다는 의미입니다.) 열 헤더의 컨텍스트 메뉴에서 Sort… 항목을 선택하고 표현식을 작성해서 행들을 정렬시킬 수도 있습니다. 예를 들어 열 여러 개를 이용해서 행들을 정렬시키려면 concat(col0, col1) 같은 표현식을 작성하면 됩니다.

양식 뷰에서는, sort Sort by preview expression 옵션을 통해 피처 식별자를 정렬할 수 있습니다.

행을 정렬하는 작업은 테이블 렌더링에만 영향을 줄 뿐 레이어 데이터소스 내부의 피처 순서를 변경하지는 않는다는 점을 기억하십시오.

서로 다른 유형의 열을 기반으로 정렬하기

문자열과 숫자 유형의 열들을 기반으로 속성 테이블을 정렬하려 할 때, concat("USE", "ID") 표현식이 문자열 값을 (예를 들어 'Borough105' < 'Borough6') 반환하기 때문에 예기치 못한 결과로 이어질 수도 있습니다. 대신 concat("USE", lpad("ID", 3, 0)) 과 같은 표현식을 사용하면 'Borough105' > 'Borough006' 을 반환하므로 이런 오류를 해결할 수 있습니다.

16.2.2.3. 테이블 셀의 조건부 서식 작업

조건부 서식을 설정하면, 피처에 대해 사용자 지정 조건을 적용시켜 사용자가 특별히 집중하고자 하는 속성 테이블 항목을 강조할 수 있습니다:

  • 도형 (예를 들어 다중 부분 피처, 작은 면적을 가진 피처, 또는 지정한 맵 범위 안에 있는 피처 등등)

  • 필드 값 (예를 들어 값을 한계값과 비교하거나, 비어 있는 셀을 식별하거나, 값을 복제하거나 등등)

테이블 뷰의 (양식 뷰에서는 활성화할 수 없습니다) 속성 창 우상단에 있는 conditionalFormatting Conditional formatting 버튼을 클릭하면 조건부 서식 패널을 활성화할 수 있습니다.

이 새 패널에서 radioButtonOnField 또는 radioButtonOffFull row 의 서식을 렌더링하기 위한 새 규칙을 추가할 수 있습니다. 새 규칙을 추가하는 양식이 열리는데, 다음 항목을 정의할 수 있습니다:

  • 규칙의 이름

  • 표현식 작성기 함수를 이용한 조건

  • 서식: 사전 정의된 서식 목록에서 선택하거나, 다음과 같은 속성을 기반으로 생성할 수도 있습니다:

    • 배경 및 텍스트 색상

    • 아이콘 사용 여부

    • 볼드체, 이탤릭체, 밑줄, 취소선

    • 폰트

../../../_images/attribute_table_conditional_formating.png

그림 16.70 속성 테이블의 조건부 서식

16.2.3. 속성 테이블의 피처와 상호작용

16.2.3.1. 피처 선택

테이블 뷰에서, 속성 테이블의 각 행은 레이어에 있는 유일 피처의 속성들을 표시합니다. 행을 선택하면 피처도 선택되며 마찬가지로 맵 캔버스에서 (도형을 사용할 수 있는 레이어인 경우) 피처를 선택하면 속성 테이블에서 해당 행이 선택됩니다. 맵 캔버스(또는 속성 테이블)에서 선택한 피처의 집합을 변경하는 경우, 그에 따라 속성 테이블(또는 맵 캔버스)에 있는 선택도 업데이트됩니다.

행 왼쪽에 있는 행 번호를 클릭하면 행을 선택할 수 있습니다. Ctrl 키를 누른채 클릭하면 여러 행들 을 선택 표시할 수 있습니다. Shift 키를 누른 채 행 왼쪽에 있는 행 헤더를 몇 개 클릭하면 연속 선택 을 할 수 있습니다. 현재 커서 위치와 클릭한 행 사이의 모든 행들이 선택될 것입니다. 테이블에 있는 셀을 클릭해서 속성 테이블에서 커서 위치를 이동해도 행 선택이 변경되지는 않습니다. 맵 캔버스에서 선택을 변경해도 속성 테이블에서 커서 위치가 이동되지 않습니다.

속성 테이블의 양식 뷰에서는, 기본적으로 왼쪽 패널에 표시된 필드의 값으로 (표시 속성 참조) 피처를 식별합니다. 패널 상단에 있는 드롭다운 목록을 통해 기존 필드를 선택하거나 또는 사용자 지정 표현식을 이용해서 이 식별자를 대체할 수 있습니다. 컨텍스트 메뉴에서 피처 목록을 정렬하도록 선택할 수도 있습니다.

오른쪽 패널에 피처의 속성을 표시하려면 왼쪽 패널에 있는 값을 클릭하십시오. 피처를 선택하려면, 식별자 왼쪽에 있는 정사각형 심볼 안을 클릭해야 합니다. 기본적으로, 심볼이 노랑색으로 바뀔 겁니다. 테이블 뷰와 마찬가지로, 앞에서 설명한 대로 조합키를 이용해서 여러 피처를 한꺼번에 선택할 수 있습니다.

마우스로 피처를 선택하는 것 외에도, 속성 테이블 툴바에서 다음과 같은 툴을 이용해서 피처의 속성에 기반한 자동 선택을 할 수 있습니다(더 자세한 정보와 용례를 알고 싶다면 자동 선택 항 및 그 다음 항을 참조하세요):

  • expressionSelect Select By Expression…

  • formSelect Select Features By Value…

  • deselectActiveLayer Deselect All Features from the Layer

  • selectAll Select All Features

  • invertSelection Invert Feature Selection

양식을 이용해서도 피처를 선택할 수 있습니다.

16.2.3.2. 피처 필터링

속성 테이블에서 피처를 선택하고 나면, 테이블에 선택한 레코드만 표시하기를 바랄 수도 있습니다. 속성 테이블 대화창 좌하단에 있는 드롭다운 목록에서 Show Selected Features 항목을 선택하면 간단하게 선택한 레코드만 볼 수 있습니다. 이 목록은 다음과 같은 필터를 제공하고 있습니다:

  • openTable Show All Features

  • openTableSelected Show Selected Features - Layer 메뉴에서 Open Attribute Table (Selected Features) 항목을 선택하거나 Attributes Toolbar 를 이용하거나 Shift+F6 단축키를 누르는 것과 동일합니다.

  • openTableVisible Show Features visible on map - Layer 메뉴 또는 Attributes Toolbar 에서 Open Attribute Table (Visible Features) 항목을 선택하거나, 또는 Ctrl+F6 단축키를 누르는 것과 동일합니다.

  • openTableInvalid Show Features with Failing Constraints - 제약조건 을 만족시키지 못 하는 피처만 표시하도록 피처를 필터링할 것입니다. 만족시키지 못 하는 제약조건이 강한(hard) 조건인지 또는 약한(soft) 조건인지에 따라, 해당 필드 값이 각각 어두운 주황색 또는 밝은 주황색 셀로 표시됩니다.

  • openTableEdited Show Edited and New Features - Layer 메뉴 또는 Attributes Toolbar 에서 Open Attribute Table (Edited and New Features) 항목을 선택하는 것과 동일합니다.

  • Field Filter - 필드 값을 기반으로 필터링할 수 있습니다: 목록에서 열을 선택한 다음 값을 입력 또는 선택하고 Enter 키를 눌러 필터링합니다. 그러면 속성 테이블에 num_field = value 또는 string_field ilike '%value%' 표현식과 일치하는 피처만 표시합니다. 문자열을 좀 더 엄격하게 필터링하려면 checkbox Case sensitive 옵션을 체크하면 됩니다.

  • filterMap Advanced filter (Expression): 표현식 작성기 대화창을 엽니다. 이 대화창에서 테이블 행들과 일치시킬 복잡 표현식 을 생성할 수 있습니다. 예를 들어 하나 이상의 필드를 이용해서 테이블을 필터링할 수 있습니다. 이를 적용하면, 필터 표현식이 양식 하단에 표시될 것입니다.

  • handleStoreFilterExpressionChecked Stored filter expressions ►: 사용자 속성 테이블을 필터링하는 데 자주 쓰이는 저장된 표현식 을 불러옵니다.

양식을 이용해서도 피처를 필터링할 수 있습니다.

참고

속성 테이블에서 레코드를 필터링해도 레이어에서 피처를 필터링하지는 않습니다. 일시적으로 테이블에서 숨겨진 것뿐으로, 맵 캔버스에서 접근할 수도 있고 필터를 제거해서 접근할 수도 있습니다. 레이어에서 피처를 실제로 숨기는 필터를 원한다면, 쿼리 작성기 를 이용하십시오.

Show Features Visible on Map 으로 데이터소스 필터링 업데이트

성능 향상을 목적으로, 속성 대화창이 열릴 때 속성 테이블에 표시되는 피처가 공간적으로 맵 캔버스 범위로 제한돼 있는 경우 (이 방법에 대해서는 데이터소스 옵션 을 참조하세요) 새 캔버스 범위 상에서 Show Features Visible on Map 을 선택하면 공간 제약 조건을 업데이트합니다.

16.2.3.3. 필터 표현식 저장하기

사용자가 속성 테이블 필터링에 사용한 표현식을 향후 호출을 위해 저장할 수 있습니다. Field Filter 또는 Advanced Filter (expression) 항목을 사용하는 경우, 속성 테이블 대화창 하단의 텍스트 위젯에 사용한 표현식을 표시합니다. 이 텍스트 란 옆에 있는 handleStoreFilterExpressionUnchecked Save expression with text as name 아이콘을 클릭하면 프로젝트에 해당 표현식을 저장합니다. 이 아이콘 옆에 있는 드롭다운 메뉴를 클릭하면 (Save expression as…) 저장할 표현식의 이름을 사용자 지정할 수 있습니다. 저장한 표현식이 표시되고 나면, 아이콘이 handleStoreFilterExpressionChecked 으로 변화하고 드롭다운 메뉴에서 표현식을 편집하고(Edit the expression) 이름을 새로 명명하거나, 또는 저장된 표현식을 삭제(Delete stored expression)할 수 있습니다.

필터 표현식은 프로젝트에 저장되며, 속성 테이블의 Stored filter expressions 메뉴를 통해 사용할 수 있습니다. 이 저장된 필터 표현식은 활성화된 사용자 프로파일의 모든 프로젝트가 공유하는 사용자 표현식 과는 다릅니다.

16.2.3.4. 양식을 이용해서 피처 필터링하기/선택하기

filterMap Filter/Select features using form 을 클릭하거나 Ctrl+F 조합키를 누르면 속성 테이블 대화창이 양식 뷰로 전환되고 모든 위젯도 해당 위젯의 검색형으로 대체될 것입니다.

이 다음부터 설명할 도구 기능은 값으로 피처 선택 에서 설명한 것과 유사합니다. 이 항에서 모든 연산자 및 선택 모드에 대한 설명을 찾아볼 수 있습니다.

../../../_images/tableFilteredForm.png

그림 16.71 필터 양식으로 필터링한 속성 테이블

속성 테이블에서 피처를 필터링/선택하는 경우, 필터를 정의하고 미세 조정할 수 있는 Filter features 버튼이 존재합니다. 이 버튼을 사용하면 Advanced filter (Expression) 옵션을 촉발해서 양식 하단에 있는 편집 가능한 텍스트 위젯에 대응하는 필터 표현식을 표시합니다.

이미 필터링한 피처가 있는 경우, Filter features 버튼 옆에 있는 드롭다운 목록을 이용해서 필터를 미세 조정할 수 있습니다. 다음 옵션을 선택할 수 있습니다:

  • Filter within (“AND”)

  • Extend filter (“OR”)

필터를 적용 해제하려면, 좌하단의 풀다운 메뉴에서 Show all features 메뉴 옵션을 선택하거나 또는 표현식을 삭제한 다음 Apply 버튼을 클릭하거나 Enter 키를 누르십시오.

16.2.3.5. 피처에 대한 더 많은 액션들

사용자가 속성 테이블에서 피처를 조작할 수 있는 가능성이 몇 가지 있습니다. 셀을 오른쪽 클릭하면 다음을 할 수 있습니다:

  • Select all: 피처를 모두 선택(Ctrl+A)할 수 있습니다.

  • Copy cell content: 클립보드로 셀의 내용을 복사할 수 있습니다.

  • Zoom to feature: 피처를 먼저 선택하지 않고서도 피처로 확대/축소할 수 있습니다.

  • Pan to feature: 피처를 먼저 선택하지 않고서도 피처로 이동할 수 있습니다.

  • Flash feature: 맵 캔버스에 있는 피처를 강조할 수 있습니다.

  • Open form: 클릭한 피처의 속성 테이블을 양식 뷰로 켜고 끕니다.

  • 이전에 Layer properties ► Actions 탭에서 활성화시켰던 액션 목록 을 보이게 할 수 있습니다.

../../../_images/copyCellContent.png

그림 16.72 셀 내용 복사 버튼

외부 프로그램에서 (예: 엑셀, 리브레오피스, 또는 사용자 지정 웹 응용 프로그램 등) 속성 데이터를 이용하고 싶은 경우, 하나 또는 그 이상의 행(들)을 선택한 다음 copySelected Copy selected rows to clipboard 아이콘을 클릭하거나 Ctrl+C 조합키를 누르십시오.

Settings ► Options ► Data Sources 메뉴에서 Copy features as 드롭다운 목록을 통해 붙여넣을 포맷을 다음 가운데 정의할 수 있습니다:

  • Plain text, no geometry: 속성을 텍스트로 복사하지만 도형은 건너뜁니다.

  • Plain text, WKT geometry: 속성을 텍스트로 복사하고 도형을 WKT로 반환합니다.

  • GeoJSON: 속성 및 도형을 GeoJSON 데이터 포맷으로 만듭니다.

16.2.4. 속성값 편집

속성 테이블에서 데이터를 수정하려면, 먼저 레이어를 편집 모드로 켜고꺼야 합니다. toggleEditing Toggle Editing 버튼을 클릭하십시오. 레이어 도형 유형 및 클립보드 상태에 따라 속성 테이블 상단 툴바에 몇몇 도구들이 더 활성화됩니다.

그러면 다음과 같은 방법으로 속성값을 편집할 수 있습니다:

  • 셀 안에 새 값을 직접 입력합니다. 속성 테이블이 테이블 뷰 모드인지 양식 뷰 모드인지는 상관없습니다. 셀 별로, 피처 별로 변경할 수 있습니다.

  • 필드 계산기 이용하기: 행에 이미 존재할 수도 있는 필드를 업데이트하거나, 여러 피처에 대해 필드를 생성합니다. 필드 계산기를 이용해서 가상 필드도 생성할 수 있습니다.

  • 간편 필드 계산 막대 이용하기: 필드 계산기와 동일하지만 기존 필드에 대해서만 사용할 수 있습니다.

  • 다중 편집 모드를 이용합니다. 행에서 여러 피처의 여러 필드를 업데이트합니다.

레이어를 편집 모드로 바꾸면 editPaste Paste features from clipboard (Ctrl+V) 클립보드로부터 피처를 붙여넣거나, editCut Cut selected rows to clipboard (Ctrl+X) 클립보드에 선택한 행을 잘라넣거나, 또는 deleteSelectedFeatures Delete selected features 선택한 피처를 삭제할 수 있습니다. 더 자세한 내용은 편집 작업 을 참조하세요.

16.2.4.1. 필드 계산기 이용하기

속성 테이블에 있는 calculateField Field Calculator 아이콘으로 기존 속성값을 기반으로 계산하거나, 또는 ─ 예를 들어 도형 피처의 길이 또는 면적을 계산하는 ─ 함수를 정의할 수 있습니다. 계산 결과를 (가상 필드 일 수도 있는) 새 속성 필드에 저장할 수도 있고, 기존 필드에 있는 값을 업데이트하는 데 쓸 수도 있습니다.

편집을 지원하는 레이어라면 필드 계산기를 사용할 수 있습니다. 필드 계산기 아이콘을 클릭하면 대화창이 열립니다. (그림 16.73 참조) 레이어가 편집 모드가 아닌 경우, 필드 계산기가 계산을 하기 전에 경고 메시지를 표시한 다음 레이어를 편집 모드로 전환할 것입니다.

필드 계산기 대화창은 표현식 작성기 대화창을 바탕으로 표현식을 정의하고 계산 결과를 기존 또는 새로 생성한 필드에 적용할 수 있는 완전한 인터페이스를 제공합니다. 필드 계산기 대화창을 이용하려면, 먼저 다음 가운데 어떤 작업을 하기 원하는지 선택해야만 합니다:

  1. 레이어 전체에 계산 결과를 적용할지 또는 선택한 피처에만 계산 결과를 적용할지

  2. 계산 결과를 추가할 새 필드를 생성할지 또는 기존 필드를 업데이트할지

../../../_images/fieldcalculator.png

그림 16.73 필드 계산기

새 필드를 추가하기로 결정한 경우, 필드명, 필드 유형(정수형, 실수형, 날짜 또는 문자열), 그리고 필요한 경우 필드의 총 길이 및 정밀도를 입력해야 합니다. 예를 들면, 필드 길이를 10으로 그리고 필드 정밀도를 3으로 선택한 경우 소수점 앞에 7자리, 소수점, 그리고 소수점 아래 3자리를 입력할 수 있습니다.

다음은 Expression 탭을 이용하는 경우 필드 계산기가 어떻게 작동하는지 보여주는 짧은 예시입니다. QGIS 예시 데이터셋의 railroads 레이어의 길이를 킬로미터 단위로 계산하려 합니다:

  1. QGIS에 railroads.shp 셰이프파일을 불러온 다음 openTable Open Attribute Table 아이콘을 클릭합니다.

  2. toggleEditing Toggle editing mode 아이콘을 클릭한 다음 calculateField Field Calculator 아이콘으로 필드 계산기 대화창을 엽니다.

  3. checkbox Create a new field 체크박스를 체크해서 계산 결과를 새로운 필드로 저장하도록 합니다.

  4. Output field name 산출 필드명을 length_km 으로 설정하십시오.

  5. Output field type 산출 필드 유형을 Decimal number (real) 로 선택하십시오.

  6. Output field length 산출 필드 길이를 10 으로, Precision 정밀도를 3 으로 설정하십시오.

  7. Geometry 그룹의 $length 를 더블클릭해서 필드 계산기 표현식 란에 도형의 길이를 추가하십시오. (표현식이 작성되는 대로 표현식 란 아래에 실시간으로 업데이트되는 산출물의 미리보기를 60글자까지 볼 수 있습니다.)

  8. 필드 계산기 표현식 란에 / 1000 을 입력해서 표현식을 완성한 다음 OK 버튼을 클릭하십시오.

  9. 이제 속성 테이블에서 새 필드 length_km 를 찾아볼 수 있습니다.

16.2.4.2. 가상 필드 생성하기

가상 필드란 실시간으로 계산되는 표현식을 기반으로 한 필드를 말합니다. 즉 기저 파라미터가 변하자마자 그 값을 자동적으로 업데이트한다는 뜻입니다. 표현식은 레이어에 있는 모든 피처에 적용되며 한 번만 설정하면 됩니다. 기저 값이 변할 때마다 필드를 다시 계산해야 할 필요가 없습니다. 예를 들어, 사용자가 피처를 디지타이즈하는 과정에서 면적을 평가해야 하는 경우 또는 변할 수도 있는 (예: now() 함수 이용 시) 날짜들 사이의 기간을 자동으로 계산해야 하는 경우 가상 필드를 이용할 수 있습니다.

calculateField Field calculator 대화창을 통해 가상 필드를 생성하는데, 정규 필드와 동일한 과정 을 따릅니다. checkbox Create virtual field 옵션을 체크하고 사용자 표현식이 생성하게 될 데이터와 호환되는 필드 유형을 사용해야 한다는 점만 기억하십시오.

레이어 속성 대화창의 sourceFields Fields 탭을 통해 가상 필드를 편집합니다. (필드 속성 을 참조하세요.) Comment 열에서 필드를 정의하는 표현식을 볼 수 있으며, 그 옆에 있는 expression 버튼을 클릭하면 업데이트를 위한 표현식 편집기 창이 열립니다.

참고

가상 필드 사용법

  • 필드 생성 시에만 필드를 가상 필드라고 설정할 수 있습니다.

  • 가상 필드는 레이어 속성에 영구히 유지되지 않습니다. 가상 필드가 생성된 프로젝트의 프로젝트 파일에만 저장되고 사용할 수 있다는 뜻입니다.

16.2.4.3. 간편 필드 계산 막대 사용하기

언제든 사용할 수 있는 필드 계산기와는 달리, 속성 테이블 상단에 있는 간편 필드 계산 막대는 레이어가 편집 모드인 경우에만 표시됩니다. 간편 필드 계산 막대는 표현식 엔진의 도움을 받아 이미 존재하는 필드를 더 빨리 편집할 수 있습니다:

  1. 드롭다운 목록에서 업데이트할 필드를 선택하십시오.

  2. 사용자가 표현식을 직접 입력하거나 또는 expression 표현식 버튼을 이용해서 표현식을 작성해서 텍스트란을 채우십시오.

  3. 사용자의 필요에 따라 Update All, Update Selected 또는 Update Filtered 버튼 가운데 하나를 클릭하십시오.

../../../_images/fieldcalculatorbar.png

그림 16.74 간편 필드 계산 막대

16.2.4.4. 다중 필드 편집하기

이전 도구들과는 달리, 다중 편집 모드는 동시에 서로 다른 피처들의 여러 속성들을 편집할 수 있습니다. 레이어가 편집 모드로 전환되면, 다음과 같이 다중 편집 기능에 접근할 수 있습니다:

  • 속성 테이블 대화창에 있는 툴바에서 multiEdit Toggle multi edit mode 버튼을 클릭하십시오.

  • Edit ► multiEdit Modify attributes of selected features 메뉴를 선택하십시오.

참고

속성 테이블에 있는 도구와는 달리, Edit ► Modify Attributes of Selected Features 메뉴 옵션을 선택하면 속성 변경 사항을 입력할 수 있는 모달 대화창이 열립니다. 즉, 실행 전에 피처를 선택해놓아야 합니다.

행에서 여러 필드를 편집하려면:

  1. 편집하고자 하는 피처를 선택합니다.

  2. 속성 테이블 툴바에서 multiEdit 버튼을 클릭하면 대화창이 양식 뷰로 전환될 것입니다. 이 단계에서 피처를 선택할 수도 있습니다.

  3. 속성 테이블의 오른쪽에 선택한 피처의 필드들(및 값들)이 표시됩니다. 각 필드 옆에 현재 다중 편집 상태를 표시해주는 다음과 같은 새 위젯들이 나타납니다:

    • multiEditMixedValues 선택한 피처들이 이 필드에 서로 다른 값들을 담고 있습니다. 텅 빈 것으로 표시되며 각 피처가 원본 값을 유지할 것입니다. 위젯의 드롭다운 목록에서 필드의 값을 리셋할 수 있습니다.

    • multiEditSameValues 선택한 모든 피처들이 이 필드에 동일한 값을 지니며 양식에 표시된 값이 유지될 것입니다.

    • multiEditChangedValues 필드 편집이 끝나 선택한 모든 피처에 입력한 값을 적용할 것입니다. 대화창 상단에 사용자 변경 사항을 적용할지 또는 리셋할지를 묻는 메시지를 표시합니다.

    이 위젯 가운데 하나를 클릭하면 필드 별로 현재 값을 설정하거나 원본 값으로 리셋할 수 있습니다. 즉 필드 별로 사용자 변경 사항을 되돌릴 수 있다는 뜻입니다.

    ../../../_images/attribute_multiedit.png

    그림 16.75 여러 피처의 필드들을 편집하기

  4. 사용자가 원하는 필드를 변경합니다.

  5. 상단의 메시지 텍스트 또는 왼쪽 패널의 다른 모든 피처에 있는 Apply changes 버튼을 클릭합니다.

선택한 모든 피처 에 변경 사항을 적용할 것입니다. 선택한 피처가 없는 경우, 전체 테이블을 사용자 변경 사항으로 업데이트합니다. 수정 작업은 단일 편집 명령어로 이루어집니다. 따라서 undo Undo 아이콘을 클릭하면 선택한 모든 피처의 속성 변경 사항을 한 번에 되돌릴 것입니다.

참고

다중 편집 모드는 자동 생성된 드래그&드롭 양식에서만 사용할 수 있습니다. (사용자 데이터용 양식을 사용자 지정하기 을 참조하세요.) 사용자 UI 양식은 지원하지 않습니다.

16.2.5. 식별 도구를 통해 피처 속성을 탐색하기

identify 피처 식별 도구를 사용해서 맵 캔버스에 어떤 피처의 모든 속성을 표시할 수 있습니다. 속성 테이블에서 피처를 검색해야 할 필요 없이 피처의 모든 데이터를 빠르게 살펴보고 검증할 수 있는 방법입니다.

벡터 레이어에 Identify features 도구를 사용하려면 다음 단계를 수행하십시오:

  1. 레이어 패널에서 벡터 레이어를 선택합니다.

  2. 툴바에 있는 Identify features 도구를 클릭하거나, 또는 Ctrl+Shift+I 단축키를 누릅니다.

  3. 맵 뷰에서 피처 하나를 클릭합니다.

Identify results 패널이 레이어 유형에 따라 서로 다른 피처 정보를 표시할 것입니다. 이 패널에는 열이 2개 있는데, 왼쪽이 Feature 그리고 오른쪽이 Feature 열입니다. 이 패널은 다음과 같은 정보를 표시할 것입니다:

  • Derived 부분 - 레이어에 있는 다른 정보로부터 계산한 또는 파생시킨 정보입니다. 예를 들어 폴리곤의 면적 또는 라인의 길이와 같은 정보입니다. 이 부분에서 다음과 같은 일반 정보를 찾아볼 수 있습니다:

    • 도형 유형에 따라, 데카르트 평면에서 레이어 좌표계의 단위로 측정된 피처의 길이, 둘레 또는 면적. 3D 라인 벡터의 경우 데카르트 평면 상의 라인 길이를 구할 수 있습니다.

    • Project Properties 대화창에서 (General –> Measurements`) 설정된 타원체가 있는 경우, 도형 유형에 따라 타원체 상에서 지정한 단위로 측정된 피처의 길이, 둘레 또는 면적을 구할 수 있습니다.

    • 피처가 보유한 도형 부분의 개수와 클릭한 부분의 개수

    • 피처가 보유한 꼭짓점의 개수

    이 부분에서 찾아볼 수 있는 좌표 정보는 다음과 같습니다:

    • 클릭한 포인트의 X 및 Y 좌표값

    • 클릭한 포인트에 가장 가까운 꼭짓점의 번호

    • 가장 가까운 꼭짓점의 X 및 Y 좌표값

    • 곡선을 클릭한 경우, 해당 구간의 반경도 표시합니다.

  • Data attributes: 사용자가 클릭한 피처의 속성 필드 및 값들의 목록입니다.

  • 사용자가 관계성 을 정의한 경우, 관계가 있는 파생 피처에 대한 정보:

    • 관계의 이름

    • 참조 필드 항목, 예를 들어 관계가 있는 파생 피처의 이름 등

    • Actions: 레이어의 속성 대화창에서 정의된 액션들의 목록(액션 속성)이며, 기본 액션은 View feature form 입니다.

    • Data attributes: 관계가 있는 파생 피처의 속성 필드 및 값들의 목록입니다.

16.2.6. 외부 리소스 저장하기 및 가져오기

필드가 외부 저장소 시스템에 저장된 리소스를 대상으로 삼을 수도 있습니다. 사용자의 요청에 따라 양식에 외부 리소스를 저장하고 가져올 수 있게 하기 위해, 속성 양식을 외부 저장소 시스템의 클라이언트 역할을 하도록 환경 설정할 수 있습니다.

16.2.6.1. 외부 저장소 환경 설정하기

외부 저장소를 설정하려면, 먼저 벡터 속성 양식 속성 에서 외부 저장소를 환경 설정한 다음 Attachment 위젯을 선택해야 합니다.

../../../_images/external_storage_configuration.png

그림 16.76 지정한 필드에 대한 WebDAV 외부 저장소를 편집하기

Attachment 위젯에서 Storage type 을 먼저 선택해야 합니다:

  • Select Existing File: 대상 URL이 이미 존재합니다. 사용자가 리소스를 선택할 때 어떤 저장 작업도 하지 않고 단순히 URL로 속성을 업데이트합니다.

  • Simple Copy: (로컬 디스크일 수도 있고 네트워크 공유 파일 시스템일 수도 있는) 파일 디스크 대상 위치에 리소스의 복사본을 저장하고 해당 복사본을 가리키는 경로로 속성을 업데이트합니다.

  • WebDAV Storage: WebDAV 프로토콜을 지원하는 HTTP 서버에 리소스를 푸시하고 해당 서버 URL로 속성을 업데이트합니다. Nextcloud, Pydio, 또는 다른 파일 호스팅 소프트웨어가 이 프로토콜을 지원합니다.

  • AWS S3: AWS Simple Storage Service 프로토콜을 지원하는 HTTP 서버에 리소스를 푸시하고 해당 서버 URL로 속성을 업데이트합니다. 아마존 웹 서비스와 MinIO 호스팅 소프트웨어가 이 프로토콜을 지원합니다.

다음으로, 새 리소스를 저장해야 할 경우 사용할 URL을 제공하는 Store URL 파라미터를 설정해야 합니다. 피처 속성에 따라 특정 값을 설정하려면 데이터 정의 무시 위젯 을 이용해서 표현식을 작성할 수 있습니다.

이 표현식에 @selected_file_path 변수를 사용하면 사용자가 (파일 선택기 또는 드래그&드롭으로) 선택한 파일의 절대 경로를 나타낼 수 있습니다.

참고

WebDAV 또는 AWS S3 외부 저장소를 사용할 때, URL이 “/” 으로 끝나는 경우 이를 폴더로 간주하고 선택한 파일명을 뒤에 붙여 최종 URL로 만들 것입니다.

외부 저장소 시스템에 요구하는 경우 인증 방법 을 환경 설정할 수 있습니다.

참고

AWS S3 외부 저장소를 사용하려면 AWS S3 인증 유형을 이용해야만 합니다.

16.2.6.2. 외부 저장소 사용하기

환경 설정이 끝나면, 피처의 속성을 편집할 때 버튼을 이용해서 로컬 파일을 선택할 수 있습니다. 환경 설정된 저장소 유형 에 따라 (Select existing file 을 선택한 경우를 제외하고) 외부 저장소 시스템에 파일을 저장하고 새 리소스 URL로 필드를 업데이트할 것입니다.

../../../_images/external_storage_store.png

그림 16.77 WebDAV 외부 저장소에 파일을 저장하기

참고

Attachment 위젯 전체에 파일을 드래그&드롭해도 동일한 결과를 얻을 수 있습니다.

저장 프로세스를 중단하려면 taskCancel Cancel 버튼을 누르십시오. Integrated document viewer 를 이용해서 외부 저장소 시스템으로부터 리소스를 자동으로 가져와 URL 바로 아래에 표시하도록 뷰어를 환경 설정할 수 있습니다. external_storage_storewarning 아이콘은 외부 저장소 시스템에서 리소스를 가져올 수 없다는 사실을 나타냅니다. 이런 경우 로그 메시지 패널 에 더 상세한 정보가 나타날 수도 있습니다.