단순한 '레이블'이 아닌 위처럼 특정한 이름에만 다른 색깔로 표현해본적 있는가?
없을 가능성도 있고 있다면 표현하고자 하는 지역만 따로 Clip해낸 뒤 색깔을 줬을 가능성이 높다.
그럴 땐 'Label Expression'을 이용해보자.
물론 표현식이 약간 복잡하게 느껴질 수 있겠지만 뭐든 할 수록 늘어나는 법이니 한번 도전해보는 것도 좋을 듯.
위 처럼 해볼까?
먼저, 표출하고자 하는 텍스트가 있는 레이어에 가서 우측 버튼을 누르고 'Properties..' -> Express 를 클릭한다.
맨 마지막 'Label Expression'에 가보면 여러분은 Advanced 에 클릭되어 있지 않을 것이다.
그게 기본형이니까.
헌데 지금 우리는 그 Advanced 모드를 이용해 볼 것이다.
Function FindLabel ( [NAME] )
if StrComp("청운면", [NAME]) = 0 then
FindLabel = "<clr red='255' green='255' blue='0'>" & [NAME] & "</clr>"
else
FindLabel = [NAME]
End if
End Function
자아, 설명드린다.
저 위에 있는 [NAME]은 테이블 필드명이다.
프로그램이랄 것도 없다.
단순하게 name이란 필드를 읽어 그녀석이 "청운면"이면 색깔을 바꿔라하는 것인데...
일단, 위에 수식은 VBscript 라는 것이다.
흔히 비주얼 베이직이라고 하는데 GIS 에서는 비주얼 베이직 스크립트가 이용된다.
아, 파이썬이라는 언어도 이용된다.
아무거나 해도 괜찮다. 요즘 흔하고 흔한게 프로그램이니 이행하는데 어렵진 않을 것이다.
다만 색깔 바꾸는 과정이 조금 이해하기 어려울 텐데...
저건 HTML 문법이다. 비주얼 베이직에 HTML에 자꾸 어렵게만 간다.
HTML은 우리가 흔히 접하는 인터넷 페이지 언어라고 생각하면 된다.
쉽게, 인터넷으로 표출되려면 HTML로 씌여야 한다는 것이다.
위의 것과 연관시켜 생각해보면 비교라든가 분석이라든가 뭔가 생각하는 과정은 비주얼 베이직과 파이썬이라는 프로그램 언어로 하고 마지막 표출하는 건 인터넷 언어인 HTML로 표현된다는 것이다.
clr = color 의 줄임말(GIS 프로그램에서만 표현 가능하다)이고 red 이후에 쓴 숫자는 빨간색을 0부터 255단계로 나눈 것을 말한다.
즉, 위에서는 붉은색 최고와 초록색 최고를 섞어버린 효과가 노랑으로 표출된 것이다.