라벨링을 위해 하나의 등고선 만 선택할 수 있습니까?
내가 각 라인에 대한 수많은 레이블을 가지고 있고 같은 단지의 주요 것들을, 레이블을 선호하는 것 1000 m
및1500 m
라벨링을 위해 하나의 등고선 만 선택할 수 있습니까?
내가 각 라인에 대한 수많은 레이블을 가지고 있고 같은 단지의 주요 것들을, 레이블을 선호하는 것 1000 m
및1500 m
답변:
한 가지 방법은 등고선 레이어를로드하고 스타일을 지정하는 것입니다. 그런 다음 동일한 레이어를 다시로드하고 필터를 적용합니다 (레이어를 마우스 오른쪽 버튼으로 클릭하고 '필터.'로 이동). 그림에 표시된 것과 유사한 필터 표현식을 사용하십시오. 필자의 경우 수직 간격이 50 미터 인 주요 윤곽을 원했고 높이 값이 포함 된 필드를 "prop_value"라고했습니다.
주요 윤곽선을 표시하는 필터링 된 레이어가로드되면 윤곽선 레이블을 적용하고 (필요한 경우) 그림과 같이 선 스타일을 강화합니다.
필터 표현식 :
("prop_value" % 50) = 0
50m의 수직 간격으로 윤곽을 선택합니다. Spatialite 데이터베이스와 함께 작동하지만 shapefile에 대해서는 확실하지 않습니다.
조건에 따라 등고선을 라벨링하고 표시하는 것은 매우 쉬운 방법입니다.
선 기호 너비와 등고선 색상의 "데이터 정의 속성"을 표현식 (스크린 샷 1 참조)과 함께 사용하여 사용자 지정 조건과 유사한 레이블 지정 표현식 (스크린 샷 2 참조)에 따라 다른 선 너비를 적용 할 수 있습니다.
식에 필요한 값을 넣으면됩니다.
즉, 500m 이외의 등고선을 숨기려면이 기호를 사용하여 선 기호의 데이터 정의 속성을 사용할 수 있습니다.
CASE WHEN Elevation / 500 - floor(Elevation / 500) = 0 then
color_rgba(255,255,255,100)
else
color_rgba(255,255,255,0)
end
즉, 500m 간격 만 레이블링하려면 다음 표현식에이 표현식을 사용하십시오.
CASE WHEN Elevation /500 - floor(Elevation / 500) = 0 THEN Elevation || ' m' END
즉, 다른 선 너비를 적용하려면 데이터 정의 속성에 다음과 같은 표현식을 사용하십시오.
CASE WHEN Elevation / 100 - floor(Elevation / 100) = 0 THEN
0.25
WHEN Elevation / 50 - floor(Elevation / 50) = 0 THEN
0.15
ELSE
0.1
END