Bagaimana cara memberi label sel raster di QGIS?

10

Saya mencoba menunjukkan file raster resolusi kecil di alat QGIS Print Manager. Saya ingin menunjukkan label kecil dengan setiap nilai sel (posisi - sekitar tengah setiap sel).

Bagaimana saya bisa melakukannya? Apakah ada plugin yang dapat membantu saya menyelesaikan tugas ini?

Ide saya adalah menggunakan gdal2xyz, memuat file seperti itu menggunakan plugin CSV dan kemudian menyimpannya sebagai file vektor. Sayangnya itu banyak pekerjaan, karena saya punya banyak file raster.

Gagasan lain adalah menggunakan gdal2xyz.py, lalu ogr2ogr untuk menyimpannya sebagai file vektor.

Apakah ada cara untuk menggabungkan proses ini? Apakah ada program sumber terbuka di mana saya dapat melakukannya dengan lebih mudah?

matandked
sumber
Maksud Anda sesuatu seperti ini ? Sudah ada permintaan fitur untuk fungsi ini .
Tomas

Jawaban:

7

Tampaknya tidak ada plugin untuk atau fungsionalitas dalam QGIS untuk memberi label sel.

Menggunakan file vektor yang dikonversi untuk memberi label pusat sel mungkin adalah taruhan terbaik Anda. Paket statistik open-source R memiliki banyak alat spasial yang sangat baik dan dapat membuat batch atau dengan cepat memproses file raster untuk membuat shapefile (vektor / titik).

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 akan memiliki kolom dengan nilai raster untuk setiap titik. Poin-poin tersebut kemudian dapat dimuat ke QGIS, diberi ukuran 0 dan dilabeli dengan tepat; mereka muncul di tengah sel.

Untuk melewati, misalnya, semua file TIF dalam direktori:

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.
}
Simbamangu
sumber
4

Jika R tidak tersedia (atau, ingin melakukannya dalam lingkungan QGIS), sekarang ada alat SAGA di kotak alat pemrosesan, nilai-nilai Raster untuk menunjuk untuk mengekstraksi nilai sel.

Kita bisa memberi label pada Shapeslayer output dan menimpanya dengan raster asli.

masukkan deskripsi gambar di sini

Kazuhito
sumber