QGIS'de Raster Yeniden Sınıflandırması Yapılması?


26

QGIS'de bir raster görüntünün yeniden sınıflandırılmasını gerçekleştirmenin bir yolu var mı?

ArcGIS'te bunu Spatial analist olarak yapabilirsiniz Araçlar → Reclass → Reclassify

Herhangi bir fikir?

Reclassify penceresinin ekran görüntüsü


Diğer yol Raster Hesaplayıcı kullanmaktır. Bu girişte hub.qgis.org/issues/7581

1
Bir geçici çözümü tanımlayan ve "geçici çözümün korkunç olduğunu" belirten bir sayfaya bağlantı verirsiniz!
whuber

Bulduğum en iyi çözüm bu konu başlığı: gis.stackexchange.com/questions/121532/reclass-in-qgis
DPSSpatial

Yanıtlar:


21

GRASS ve r.reclass modülünü kullanarak, evet. Ancak, aslında "thru" anahtar sözcüğünü kullanmanız gerekir.

Örnek: Bir raster yükseklik ızgarası için, 100m aralıklara göre değerlere yeniden sınıflandırılması:

500 ila 599,99 = 500

600 ila 699,99 = 600

700 - 799,99 = 700

Vb .. Ve bunu bir not defteri metin belgesine kaydedersiniz (satırlar arasında boşluk olmadan). Ardından, r.reclass modülünü açarken, basitçe bu kural dosyasını gui'ye yükleyeceksiniz ve uzaklaşacaksınız.

Tecrübe: Bu yöntemi kullanarak haftasonu boyunca Tacikistan'daki tez projem için bir DEM üzerinde bir yeniden sınıflandırma yaptım ve bir muamele yaptım.

* Not (ihtar): Bu işlemi modellenmeye ya da GDAL kullanarak, Arc'da kullanım için çıktının yanında bir * .prj dosyası çıktısını almak için GDAL'ı bile kullanabilirsiniz; . Eğer QGIS'e bağlı kalıyorsan, o zaman gitmen iyi olmalı.

Her şey, QGIS / GRASS / GDAL işlemlerinde olduğu gibi, güncel olan herşeye sahip olmanızı sağlayan OSGeo4W Yükleyiciyi indirdiğinizden emin olun: http://trac.osgeo.org/osgeo4w/

Bu yardımcı olur umarım.


2
r.reclass sadece tamsayıları kabul eder
nickves

10

Raster hesap makinesini kullanarak rasterleri yeniden sınıflandırabildim

Burada "Habitat" raster sürekli değerlerden (0-1) 1,2,3 ayrı değerlere yeniden sınıflandırılır

("Habitat@1"  < 0.3)* 1 + (("Habitat@1" >= 0.3) AND ("Habitat@1" < 0.6)) *2  + ("Habitat@1"  >=0.6)* 3

9

Araç kutusunun Gelişmiş Arayüz seçeneği ile Izgara Değerlerini Yeniden Sınıflandır SAGA CBS'den kullanıyorum, Tek değer, aralık ve tablo kullanarak yeniden sınıflandırma seçeneklerine sahip gerçekten sezgisel bir araç.

Bunu r.reclass yerine tercih ediyorum çünkü ek dosyalar oluşturmanıza gerek yok.


5

En kolay yol GRASS (ayrıca QGIS / GRASS eklentisini kullanarak) ve r.reclass modülünü kullanmaktır.

Tek bir kuralda birden fazla değeri yeniden sınıflandırmak için "through" anahtar sözcüğünü veya "*" joker karakterini kullanabileceğiniz bir yeniden sınıflandırma kural dosyası oluşturmanız gerekir.


GRASS aracı için bir sınıf tablosu dosyasının nasıl görünmesi gerektiğini biliyor musunuz?
DPSSpatial


Bu harika - işe koyuldum ve çok hızlı ... bunun için teşekkürler!
DPSSpatial

2

Sanırım gönderim, soruyu doğru şekilde cevaplamıyor, ancak belki biraz yardım sağlayabilir. Bunu yapmak için QGIS'te basit bir yol bulamadım, Bryce GRASS modülleri kullanıyorum. Ancak, eğer ArcGIS'e sahipse ancak Mekansal Analisti yoksa, başka bir harika araç daha var: GME ( http://www.spatialecology.com/gme/ ). ArcGIS ve R'ye bağlıdır ve bunlardan biri 'yeniden sınıflandırmak' için bir çok gerçekten harika özelliğe sahiptir. Burada, tıpkı GRASS'da olduğu gibi, sınıf tanımlarını içeren bir metin dosyası oluşturmanız gerekir. Verinin neye benzediği hakkında daha iyi bir fikir edinmek için önce söz konusu rasterin görselleştirilmesi için ArcMap'i kullandım. Sonra yeni sınıfları bu bilgiye dayanarak tanımladım. Benim için bir cazibe gibi çalıştı. GME'nin ArcGIS'siz bir sistemde çalışıp çalışmayacağını bilmiyorum, merak ediyorum.


1

QGIS şimdi iki yerel raster yeniden sınıflandırma algoritmasına sahip

Katmana göre yeniden sınıflandır - aralıklarınızı dikte etmek için bir vektör katmanı kullanmanıza olanak verir

Tabloya göre yeniden sınıflandırma - ArcGIS raster'in mekansal analist aracını yeniden sınıflandırmasına benzer.

Bunlar QGIS 3.2'ye eklenmiş, burada değişiklik günlüğüne bakınız .


0

Çimen arayüzünü sevmiyorsanız, raster hesap makinesi en iyi seçeneğinizdir

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.