QGIS에서 래스터 셀에 레이블을 지정하는 방법은 무엇입니까?


10

QGIS 인쇄 관리자 도구에서 작은 해상도 래스터 파일을 표시하려고합니다. 나는 각 셀의 값 (- 위치에 작은 라벨을 보여 드리고자합니다 년경 각 셀의 중간).

어떻게 할 수 있습니까? 이 작업을 수행하는 데 도움이되는 플러그인이 있습니까?

내 생각은 gdal2xyz를 사용하고 CSV 플러그인을 사용하여 해당 파일을로드 한 다음 벡터 파일로 저장하는 것입니다. 불행히도 많은 래스터 파일이 있기 때문에 많은 작업이 필요합니다.

또 다른 아이디어는 gdal2xyz.py를 사용한 다음 ogr2ogr을 사용하여 벡터 파일로 저장하는 것입니다.

이 프로세스를 일괄 처리 할 수있는 방법이 있습니까? 훨씬 쉽게 할 수있는 오픈 소스 프로그램이 있습니까?


같은 것을 의미 합니까? 이 기능에 대한 기능 요청 이 이미 있습니다 .
Tomas

답변:


7

QGIS에는 셀 레이블을 지정하기위한 플러그인이나 기능이없는 것 같습니다.

변환 된 벡터 파일을 사용하여 셀 중심에 레이블을 지정하는 것이 가장 좋습니다. 오픈 소스 통계 패키지 R에는 뛰어난 공간 도구가 많이 있으며 래스터 파일을 일괄 처리하거나 빠르게 처리하여 모양 파일 (벡터 / 포인트)을 만들 수 있습니다.

library(maptools)
library(raster)

# Load the raster from a file
r <- raster("/workspace/TEMP/raster.asc")

# Convert to spatial points
p <- as(r, "SpatialPointsDataFrame")

# Save as a shapefile
writeSpatialShape(p, "/workspace/TEMP/raster_points")

shapefile에는 각 점에 대한 래스터 값이있는 열이 있습니다. 그런 다음 크기가 0이고 적절하게 레이블이 지정된 점을 QGIS에로드 할 수 있습니다. 그들은 세포의 중심에 나타납니다.

예를 들어 디렉토리의 모든 TIF 파일을 살펴 보려면 다음을 수행하십시오.

for (file in dir("/workspace/TEMP/", pattern="*.tif")) { # list all .tif files
  r <- raster(file)
  p <- as(r, "SpatialPointsDataFrame")
  writeSpatialShape(p, substr(file, start = 1, stop = nchar(file) -4)) # substr() removes extension.
}

4

R을 사용할 수없는 경우 (또는 QGIS 환경 내에서 수행하려는 경우) 처리 도구 상자에 SAGA 도구가 있으며 셀 값을 추출 하기위한 포인트에 대한 래스터 값이 있습니다.

출력 Shapes레이어에 레이블 을 지정하고 원래 래스터로 오버레이 할 수 있습니다 .

여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.