Yeni hücre penceresinde * orantı * vermek için ikili raster örneği yeniden örnekleyin


9

30m çözünürlükte orman / orman dışı ikili bir rasterden 240m çözünürlükte bir rastere gitmek istiyorum, her bir hücrenin değeri o hücrenin oranı ormanlanmış - yani 240m hücrelerinin veri değerleri 0'dan (30 metrelik rasterdeki tüm hücrelerin sıfır / orman dışı olduğu) ila 0.5 (30 metrelik hücrelerin yarısının orman olduğu, yarısının orman olmadığı) ila 1 (30 metrelik rasterdeki tüm hücreler ormanlandı).

Ayrık veriler üzerinde bilinear enterpolasyon kullanılmaması önerilmiş olsa da, ikili 0/1 verileri ile sonucun söyleyebildiğim kadarıyla ortalama bir değer vermek (yani 1 ile 0 arasında bir oran) olacaktır. Bunu yapmanın mantıklı bir yolu var mı, yoksa daha iyi bir yöntem var mı?

Arc, QGIS ve Idrisi kullanabilirim.

Yanıtlar:


13

Blok istatistiklerini kullanın .

Bu, belirli bir hücre mahallesinde (8 x 8 kare, 8 = 240 m / 30 m gibi) bir istatistiki özet (istediğiniz ortalama gibi) hesaplayarak Odak istatistikleri gibi çalışır, ancak bunu yalnızca bir Her bir hücrede bir tane üst üste binen mahalle kümesinden ziyade ızgaranın düzenli alt bölümü.

Ayrıca gerçekten yapmak istediğinizde Odak istatistiklerinden de yararlanabilirsiniz: odak ortalamasını 8 x 8 kareden fazla hesapladıktan sonra, en yakın komşu yeniden örneklemeyi kullanarak 240 m ızgaraya yeniden örnekleyin . Izgaralar birbirine kaydedildiğinde ( yani , aynı kökene sahiptirler) bu, aynı sonucu vermelidir block statistics. (Bunu garanti etmeyeceğim: yeni hücre merkezleri eski hücre köşeleri ile çakıştığında - burada olacakları gibi - bazı keyfi seçimler yapılmalıdır ve eğer farklı komiteler iki prosedürü kodladıysa, farklı seçimler yapmış olabilirler: az ArcGIS'te gerçekten tutarlı, korkarım.)

Diğer bir yaklaşım, ortalamanın istendiği kare başına bir bölge olan bir bölge ızgarası oluşturmak ve bir ızgara olarak bölgesel bir özet oluşturmaktır . Bölgeler, satır ve sütun koordinatlarının ızgaralarından matematiksel olarak hesaplanabilir ( floorveya intfonksiyonu aracılığıyla, yeniden sınıflandırma veya nitelik tablosuna uygun bir tablo birleştirilerek).

Çift doğrusal enterpolasyonun, 0..1 aralığında gerçekten değerler vermesine rağmen, istediğiniz gibi olmadığını söyleyerek kapatacağım: yeni bir merkezin (en fazla dört orijinal (30 m)) ızgara hücresini bularak çalışır ( 240 m) hücre ve sadece değerlerinin enterpolasyonu. Bu nedenle, her yeni blok içine düşen diğer 8 * 8 - 4 = 60 orijinal hücreyi göz ardı edecektir. Çift doğrusal enterpolasyonu http://www.quantdec.com/SYSEN597/GTKAV/section9/map_algebra.htm adresinde gösterdim : tartışma sayfanın ortasına yakın bir yerde başlar.


Teşekkürler Whuber, 8x8 grubunun toplamını üretmek için Arc'daki Block Statistics'i kullandım, daha sonra 64'e bölmek ve kökeni, kapsamı ve hücre boyutunu verilerimin geri kalanıyla hizalamak için QGIS'deki Raster Hesaplayıcı'yı kullandım.
stuckGIS

stuckGIS, her 8 x 8 bloğun ortalamasını hesaplamak için Blok İstatistiklerini kullanarak ikinci adımı atlayabilirsiniz. Yeni ızgarayı hizalamak, hesaplamalara başlamadan önce yapılırsa - otomatik olarak gerçekleşecek olan raster analiz ortamını uygun şekilde belirtmektir. Bu, iş akışınızı tek bir adıma indirir: blok ortalamasını gerçekleştirin.
whuber

4

ArcGIS'te, bilinear yeniden örnekleme kullanarak verileri yeniden örneklediğinizde, yalnızca ortadaki dört hücrenin değerlerine bakar ( yeniden örnekleme belgeleri ). Bu yöntemi kullanarak, veri kaybını telafi etmezseniz yine de veri kaybedersiniz.

Yeniden örneklenen hücreler için ormanlık hücrelerin bir kısmının peşinde olduğunuzu bildiğimiz göz önüne alındığında, bunu 30m hücrelerinin toplamının 64'e bölünmesi olarak düşünebiliriz (240m blokta 64 30m hücre vardır).

Bu, 30m çözünürlükte çevreleyen değerlerin toplamı olarak merkez değerlerle yeni bir raster oluşturabilirsek, en yakın komşu veya çift doğrusal enterpolasyon ile yeniden örnek kullanarak çözünürlüğü düşürdüğümüzde, bize 30m hücrelerin toplamı olan 240m hücreler verilecektir. örtmek. Bunu 30m tarama üzerindeki odak toplamı aracıyla yapabiliriz.

Son olarak, 240m'lik bir odak toplamı rasterimiz olduğunda, oran yanıtını almak için 64'e bölün.

Idrisi'de QGIS'de olduğu gibi görüntü örnekleme algoritmalarından emin değilim, ama benzer bir şey olduğunu hayal ediyorum. Kesinlikle QGIS'de scyty ndimage veya benzeri kullanarak Python'daki rasterleri işleyebilirsiniz .

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.