GIS/gis로 시각화 자료 만들기

Qgis 여러 필드 라벨 넣기(두줄로 라벨 넣기, 라벨 여러개 넣기, 라벨 다중 표시, 쌍파이프(||)

조달송 2021. 6. 4. 20:27
728x90

데이터 시각화를 하다 보면, 여러 값에 대해 라벨로 표현하고 싶은 경우가 있다. 예를 들어, 자치구별 인구밀도를 표현하는 자료를 만들 때, 색상으로 인구밀도를 표현하고 라벨로 자치구 이름과 총인구수를 표현하고자 하는 경우이다. 이와 같이 여러 필드를 라벨로 표현하기 위한 방법으로는 크게 2가지가 있다. 하나는 라벨의 형식(폰트나 굵기 등)이 동일하게 입력되어도 되는 경우 줄 바꿈 문자로 표현하는 방법이고, 두 번째는 라벨에 따라 다른 형식으로 표현하는 방법이다. 이번 포스팅에서는 먼저 보편적으로 활용되는 첫 번째 방법을 설명하도록 하겠다.  데이터는 서울시 자치구 데이터와 자치구별 자동차 등록대수 데이터를 활용하였다. 


1. 데이터 결합하기

우선, 자치구 경계 데이터에 자동차 등록대수 데이터를 결합하였다. 여러 필드를 라벨로 넣어도 결국 하나의 레이어 안에 포함된 필드를 라벨링하는 것이기 때문이다. 데이터를 결합하는 방법은 아래의 글에서 확인할 수 있다. 

Qgis 지도 데이터와 엑셀 데이터 편하게 결합하는 방법(행정구역코드표 첨부, join 기능) 

 

Qgis 지도 데이터와 엑셀 데이터 편하게 결합하는 방법(행정구역코드표 첨부, join 기능)

위와 같이 전국 시군구별 인구현황에 대한 시각화 자료를 만든다고 생각해보자. 필자가 캡쳐한 것과 같이 통계지리정보서비스(sgis.kostat.go.kr/)를 활용할 수도 있겠지만, 여기서 제공되지 않는 데

urbn-ds.tistory.com

728x90

 

2. 여러 필드에 대한 라벨 설정하기

Qgis 데이터 라벨링 하기, 원하는 위치로 라벨 이동하기/고정해제하기

 

Qgis 데이터 라벨링 하기, 원하는 위치로 라벨 이동하기/고정해제하기

Qgis로 데이터를 시각화할 때 종종 사용하는 기능이 라벨링 기능이다. 이를 하다보면 가끔 라벨들이 뭉쳐져 있어 원하는 정보가 눈에 들어오지 않을 때가 있다. 그래서 배치를 바꿔보고 싶지만,

urbn-ds.tistory.com

먼저, 하나의 필드만 라벨링할 경우에는 위의 글을 참고하면된다. 위의 글을 참고하여 설정을 하면 아래와 같이 나타날 것이다.

여러 필드를 라벨링 하는 방법의 키포인트는 '|| (쌍파이프)'이다. 단일 라벨에서 값을 설정하는 부분의 옆을 보면 표현식 대화창 아이콘이 있다. 이걸 누르면 필드계산기와 같은 창이 나타나는데, 여기서 라벨링 하고 싶은 필드 두가지를 쌍파이프로 연결해주는 식을 쓰면 된다. 아래의 사진과 같이, 검색창 아래에서 필드와 값을 누르면 작업하는 레이어에 포함된 필드 값이 다 나타나므로 하나하나 입력해주는 수고를 덜 수 있다. 쌍파이프는 표현식 아래나 위에 각종 기호들과 함께 있기도 하고, 키보드에서는 shift+₩표시를 두번 누르면 된다.  

여기까지 따라왔다면 아래와 같은 그림이 나타날 것이다. 여러분들이 원하는 모양과 달리 필드 간에 띄어쓰기도 되어있지 않고, 줄바꿈도 되어있지 않을 것이다. 이런 디테일을 조정하는 방법을 설명드리도록 하겠다. 

3. 라벨 줄바꿈하기

라벨 설정 창에서  서식 탭에 들어가면 '줄바꿈 문자'라는 설정 항목이 있다. 이것을 활용하여 여러줄로 표현이 가능하다. 먼저 필자는 '메롱'을 줄바꿈 문자로 설정하려고 한다. 이를 위해 앞서 2번에서 했듯이 표현식 대화창에 들어갔다. 아래의 사진과 같이 "필드1"과 "필드2" 사이에 문자 '메롱'을 입력하고 메롱 양 옆을 쌍파이프로 연결하였다. 그러고 나서 적용을 누르면 자치구이름과 자동차 등록대수 사이에 메롱이 들어가 있는 것을 확인할 수 있다. 

 

메롱을 줄바꿈 문자로 설정하기 위해 '라벨-서식'탭에 들어가서 줄바꿈 문자에 메롱을 입력하였다. 그 결과, 아래와 같이 줄이 바뀐 것을 확인할 수 있었다. 

 

4. 원하는 단위(~점, ~명 등) 입력하기

자, 이제 자동차등록대수 뒤에 ~~대를 입력해보자. 이 방법은 앞서 메롱을 줄바꿈 문자로 설정하기 전과 같다. 즉, 3번에서 했듯이 자동차등록대수 필드인 "합계" 뒤에 쌍파이프로 연결하고 '대'를 입력해주는 것이다. 

그 결과, 아래와 같이 마음에 쏙 드는 라벨링을 할 수 있었다. 하지만 여기서 만약 자치구 이름은 굵은 글씨체로 하고, 자동차등록대수는 얇은 글씨체로 하려면 위와 같은 방법으로 해결되지 않는다. 맨 앞에서 말했던 '두번째 방법'을 써야하는데, 이 '두번째 방법'에 대해서는 추후에 작성하도록 하겠다. 

반응형