İki rasterin kesişim noktasını bulun


9

İki raster resmim var, Boole sınıflandırılmış (1 veya 2). Belirli alanlarda örtüşüyorlar.

Sadece üst üste binen bölümler olan bir tarama cihazına ihtiyacım var.

Arcinfo 10'u kullanma. Cevap sadece raster yöntemlerini kullanabilir, çokgenlere, noktalara vb.Sadece referans için bir ekran görüntüsü.


Her iki cevap da doğru, birincisi daha zarif ama benim için en faydalı olduğu için ikinci krediyi vermeye karar verdim.
Thad

Yanıtlar:


8

Bu oldukça basit bir kırpma işlemi gibi görünüyor. Kullanım Klip (Veri Yönetimi) aracı.

Yardım belgelerinden:

Mevcut bir tarama veya vektör katmanı, klips kapsamı olarak kullanılabilir. Çıktı kapsamı olarak bir özellik sınıfı kullanıyorsanız, rasteri, özellik sınıfının minimum sınırlayıcı dikdörtgeni veya özelliklerin çokgen geometrisi ile kırpma seçeneğiniz vardır. Kırpma geometrisi kullanılırsa, çıktının piksel derinliği yükseltilebilir. Bu nedenle, çıktı biçiminin uygun piksel derinliğini destekleyebildiğinden emin olmanız gerekir.

Temel işlevler kullandığından ve diğer yöntemler gibi Spatial Analyst uzantısını gerektirmediğinden, bu aslında gereksiniminizden daha basit olmalıdır .

-------------- Düzenle

Öte yandan, hedefiniz her iki girişin de boş olduğunu veya birinin bir değerinin veya her ikisinin de bir değerinin olduğunu gösteren bir raster oluşturmaksa, Raster Çarpma kullanırsınız . Bu, esasen, giriş rasterlerinin değerlerinin katları olan değerlere sahip bir çıkış rasterini oluşturur. Aşağıdakilerin Spatial Analyst uzantısını gerektirdiğini unutmayın.

Sizin durumunuzda, boole rastlayıcılarla bir örnek.

Raster 1:  1,2  
Raster 2:  1,2

Output Raster:  Possible combinations:  1x1,1x2,2x1,2x2 with output values: 1,2,4  
Value 1:  Both Boolean False  
Value 2:  1 or the other, Boolean True  
Value 4:  Both Boolean True

Hangi girdilerinizin gerçek bir değere sahip olduğunu belirleyebilmek istiyorsanız, çoğaltılmış değerlerinizin tamamen benzersiz olması için giriş rasterlerinden birini yeniden sınıflandırmanız gerekir. Her iki girişin de yeniden sınıflandırılması gerekecek, böylece "1" Değeri olmayacaktır, çünkü bu çarpılmış bir taramada yinelenen değerlere izin verecektir.

Misal:

Raster 1: 1,2 - Use [Raster Addition][4], with a constant of 1 - Output Raster 3  
Raster 2: 1,2 - Use [Multiply Raster][5], with constant of 2 - Output Raster 4  
Raster 3: 2,3  
Raster 4: 2,4

Now, multiply Raster 3 and Raster 4  
Output Raster:  Possible Combinations:  2x2,3x2,4x2,4x3 with output values: 4,6,8,12

Value 4:  Both Boolean False  
Value 6:  Raster 3 True, Raster 4 False  
Value 8:  Raster 4 True, Raster 3 False  
Value 12: both Boolean True

Yalnızca üst üste binen alanı göstermek için rasterlerden birini diğerine kırptığınız bu işlemlerin bir kombinasyonunu yapabilirsiniz. Ardından, her ikisinin de Yanlış, birinin veya diğerinin Doğru veya her ikisinin de Doğru olduğunu göstermek için rasterleri yeniden sınıflandırın ve çarpın.

Bu yardımcı olur umarım.


Bir çıktı boyutu hatası alıyorum. Veya bir maske hatası. Çok sinir bozucu .... Daha önce hiç buna rastlama.
Thad

nvm. Sanırım bir projeksiyon sorunum var. yani bu işlevler anında projeksiyonu desteklemez ... bu nedenle ilgili işlevler kadar örtüşmezler.
Thad

@Thad - Sonra rasterlerden birini diğerinin izdüşümüyle eşleşecek şekilde yeniden projelendirmeyi denerdim. Veri Yönetimi araçları altında bulunan Proje Raster aracını kullanın . Veya bunu iş akışınızın bir parçası olarak programlı olarak yapmak için python kodunu kullanın.
Mekansal Olun

evet bunu yaptım ve mükemmel çalıştı.
Thad

9

Ben rasterlerinizde beyaz için 1 (bir şekilde nodata alanı) 1 ve mavi / yeşil için 2 değerinizin olduğunu varsayalım.

Bu nedenle, her iki rastlayıcının 2 değerine sahip olduğu alanları almanız gerekir.

Bu, ArcGIS'teki Raster Hesaplayıcı ile kolayca yapılabilir .

İfade şöyle görünecektir:

("raster1" == 2) & ("raster2" == 2)

veya

Con(("raster1" == 2) & ("raster2" == 2), 1, 0)

PS bu araç Uzamsal Analist uzantısı gerektirir


0

Bu yöntemin size yardımcı olabileceğini düşünüyorum:

  1. arctoolbox >> Data management tools >> Raster >> Rasterprocessing >> Clip rasterinizi giriş ve çıkışta sürükleyip bırakın (hangisi olursa olsun). Şimdi örtüşme alanınızdan bir şekil dosyanız var (buna örtüşme.shp adını verdik).
  2. her iki arctoolbox >> Spatial analyst tools >> Extraction >> Extract by maskraster için maske ile çıkartma kullanarak :: giriş: Raster 1, maske verileri: overlap.shp. Şimdi bir çakışma raster 1 rasteriniz var (buna örtüşme1 adını verdik). arctoolbox >> Spatial analyst tools >> Extraction >> Extract by mask: input: Raster 2. maske verileri: overlap.shp. Şimdi bir çakışma raster 1 rasteriniz var (buna örtüşme2 adını verdik).
  3. son adım:: arctoolbox >> Spatial analyst tools >> Map algebraörtüşme2 ve örtüşme1'i sürükleyip bırakın.

Şimdi her şeyi yapabilirsiniz. İhtiyacınız olan her istatistik.

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.