Memahami pengaturan simbologi raster

9

Saya mencoba memahami bagaimana cara menggunakan opsi simbologi untuk layer raster di QGIS, khususnya opsi Resampling, tetapi dokumentasi resmi hanya menyebutkan pengaturan dengan sangat singkat dan tidak menjelaskan secara terperinci tentang cara kerjanya.

Saya tertarik pada cara menggunakan pengaturan untuk melihat gambar raster terbaik seperti peta topografi atau grafik laut, baik melalui layanan peta tileset atau format statis offline seperti GeoTIFF. Sebagian besar video dan tutorial yang saya temukan tampaknya berhubungan dengan resampling untuk tujuan manipulasi data daripada tujuan tampilan.

EDIT: Jawaban yang ada tentang resampling Lanczos cukup informatif dan akan berguna ketika saya melangkah lebih jauh. Namun, pertanyaan saya sebenarnya bukan tentang metode interpolasi yang berbeda, yang saya mengerti dengan cukup baik, tetapi lebih tentang apa efek pengaturan spesifik di QGIS terhadap rendering layer raster.

Biasanya, saya akan menyelidiki ini dengan mengubah pengaturan dan membandingkan hasilnya secara visual, tetapi saya tidak melihat perbedaan ketika saya menerapkannya (selain gambar tidak menampilkan sama sekali di bawah pengaturan tertentu pada tingkat zoom tertentu). Singkatnya, saya tidak mengerti dari nama pengaturan bagaimana saya harus mengharapkan mereka mempengaruhi gambar. Secara khusus:

  • Apa pengaturan "diperbesar" dan "diperbesar", dan langkah apa yang harus saya ambil untuk membandingkannya secara visual? Apakah ini terkait dengan upsampling dan downsampling, seperti yang dijelaskan dalam artikel Lanczos?
  • Apa itu "oversampling", dan bagaimana pengaruhnya terhadap gambar secara visual?
  • Apakah ada pengaturan simbologi lain yang relevan dengan tampilan visual dari sesuatu seperti peta topografi?
Nathan
sumber
Bacalah gis.stackexchange.com/questions/10931/… yang memiliki beberapa perbandingan yang sangat menarik antara metode.
Michael Stimson
Terima kasih; sangat informatif! Namun, pertanyaan saya sebenarnya sedikit lebih sederhana — saya telah mengedit pertanyaan untuk menjelaskan caranya.
Nathan

Jawaban:

7

Jawaban yang diedit (11-SEP-2018)

Jawaban dan deskripsi berikut didasarkan pada QGIS 3.2. Mereka tidak akan menyentuh metode interpolasi karena si penanya sudah akrab dengan mereka.

Saya berasumsi bahwa pertanyaan khusus diajukan tentang pengaturan di Layer Properties -> Symbology -> Resampling (seperti pada gambar di bawah)

Gambar 1

Memperbesar - Tetangga Terdekat, Bilinear, Kubik

Secara umum, pengaturan ini dimulai ketika Pengguna "memperbesar" (yaitu, menuju tanah) melewati resolusi piksel asli layer raster. Silakan lihat gambar di bawah ini untuk efeknya. (Pastikan untuk menjaga nilai Oversampling pada 1,0 atau lebih tinggi. Standarnya adalah 2.0.)

Secara khusus - pengaturan ini dimaksudkan untuk berlaku ketika resolusi piksel tampilan peta lebih besar dari resolusi piksel asli (yaitu, file) layer raster.

Gambar 2

Perkecil - Tetangga Terdekat, Rata-Rata

Secara umum, pengaturan ini dimulai ketika Pengguna "memperkecil" (yaitu, menjauh dari tanah) melewati resolusi piksel asli layer raster. Silakan lihat gambar di bawah ini untuk efeknya. (Pastikan untuk menjaga nilai Oversampling lebih tinggi dari 1.0. Standarnya adalah 2.0.)

Secara khusus - pengaturan ini dimaksudkan untuk mulai berlaku ketika resolusi piksel tampilan peta lebih kecil dari resolusi piksel asli (yaitu, file) layer raster.

Metode rata - rata sebenarnya adalah interpolasi bilinear. Dalam sebagian besar situasi, nilai default Oversampling 2.0 adalah memberikan hasil visual "terbaik" vis-a-vis. Untuk raster ortofoto besar, nilai Oversample yang lebih besar dapat memberikan hasil visual yang lebih baik terutama jika raster memiliki banyak bintik putih (misalnya, karena pantulan cahaya pada mobil, atap rumah, badan air, produksi peta berkualitas rendah, kombinasi yang disebutkan di atas, dan lain-lain. ). Tetapi nilai Oversample yang lebih besar juga meningkatkan durasi rendering, dan mungkin tidak selalu menghasilkan hasil yang lebih baik. Orthophotos raster yang berbeda memberikan hasil visual yang berbeda - demikian pula bereksperimen dengan nilai Oversampling yang berbeda .

Gambar 3

The Oversampling Nilai

Aplikasi dan efek Oversampling yang sebenarnya dapat dijelaskan dari kode sumber QGIS yang dikurangi / disederhanakan menjadi langkah-langkah berikut:

let pixelRatio = map view's pixres / raster layer's pixres,
let toUseRatio = min(pixelRatio, Oversampling),

toUseRatio adalah pixelRatio dan Oversampling yang lebih kecil . Dengan demikian, Oversampling adalah istilah yang keliru, dan harus tepat diberi label "Rasio Piksel Maksimum" .

// Assuming Zoom_In and/or Zoom_Out is not Nearest_Neighbour.

if toUseRatio < 1.0 or toUseRatio near 1.0 then
    resamplerToUse = interpolation specified in Zoom_In
else if toUseRatio > 1.0 then
    resamplerToUse = interpolation specified in Zoom_Out
else 
    resamplerToUse = Nearest Neighbour

Selanjutnya, QGIS memutuskan antara (metode interpolasi yang ditentukan dalam) Zoom In dan Zoom Out menggunakan logika di atas. "Keistimewaan" yang dihasilkan adalah bahwa Zoom In dapat dipilih daripada Zoom Out ketika Pengguna "memperkecil" melewati resolusi piksel asli layer.

let resWidth  = map view's width * toUseRatio,
let resHeight = map view's height * toUseRatio,

let InpImg = Block(raster layer, map view's extent, resWidth, resHeight),
let OutImg = scale InpImg to map view's width and height using resamplerToUse.

Dan terakhir - operasi penyalinan / penskalaan gambar. Jika toUseRatio adalah "besar", maka akan resWidth dan resHeight , dan ini secara langsung menghasilkan InpImg memiliki lebih banyak piksel melintasi dan ke bawah. InpImg kemudian diperkecil (atau lebih tinggi) agar sesuai dengan lebar dan tinggi layar tampilan peta.

Jika InpImg memiliki lebih banyak piksel (lintas dan turun) dari tampilan peta, maka skala turun akan terjadi, dan hasilnya akan "baik". Sebaliknya, jika InpImg memiliki piksel lebih sedikit (melintasi dan ke bawah) daripada tampilan peta, maka peningkatan skala akan terjadi, dan hasilnya akan buruk. (Lihat gambar di bawah.)

Gambar 4

Ralph Tee
sumber
Terima kasih, itulah tepatnya yang saya tanyakan! Bisakah Anda menjelaskan sedikit lebih banyak tentang apa yang dilakukan Oversampling, dan juga bagaimana pengaturan ini akan diterapkan pada layer raster yang berisi banyak tileset dalam satu layanan peta? Misalnya, layanan peta topografi USGS berisi peta yang berbeda untuk skala 1: 250k, 1: 100k dan 1: 24k, dan skala yang berbeda ini ditampilkan pada tingkat zoom yang berbeda. Saya perhatikan bahwa nilai Oversampling yang lebih tinggi kadang-kadang menghasilkan peta dari tingkat zoom yang lebih tinggi muncul, alih-alih yang biasanya dirender untuk tingkat zoom itu. Kenapa ini?
Nathan
Untuk layanan peta web (mis. WMTS), QGIS secara otomatis "mengunci" pada lapisan terbaik tergantung pada skala tampilan peta Anda atau resolusi piksel. QGIS kemudian "Memperbesar" atau "Memperbesar" hingga tampilan peta Anda mencapai lapisan terbaik berikutnya. Dan prosesnya berulang.
Ralph Tee
Ini adalah resolusi tampilan peta (skala nominal) atau resolusi piksel Pengguna saat ini yang menentukan lapisan layanan peta web mana yang dimuat QGIS - dan bukan nilai apa pun dalam Oversampling.
Ralph Tee
Lalu, apa yang menyebabkan perubahan itu? Misalnya, pada skala 1: 125.000 dan pembesaran 2x, dengan Oversampling diatur ke 2.0, QGIS memuat lapisan topo 100k. Pada skala dan perbesaran yang sama, dengan Oversampling diatur ke 3.0, QGIS menampilkan topo 24k (meskipun ia membuat lapisan 100k, yang muncul sebentar pada resolusi yang ditingkatkan sampai lapisan 24k memuat di tempatnya).
Nathan
1
Bolehkah saya menyarankan Anda membuat entri baru untuk pertanyaan Anda (yang tampaknya terkait)? Ini untuk kepatuhan terhadap pedoman forum. Selain itu, komentar itu bukan tempat yang bagus untuk memberikan jawaban.
Ralph Tee