Temukan persimpangan dua raster


9

Saya memiliki dua gambar raster, diklasifikasikan Boolean (1 atau 2). Mereka tumpang tindih di daerah tertentu.

Saya perlu raster yang hanya bagian yang tumpang tindih.

Menggunakan Arcinfo 10. Jawaban hanya dapat menggunakan metode raster, tidak ada konversi ke poligon, poin, dll ...Hanya untuk referensi, inilah tangkapan layar.


Kedua Jawaban itu benar, yang pertama lebih elegan tetapi saya memutuskan untuk memberikan kredit kedua karena itu yang paling membantu bagi saya.
Thad

Jawaban:


8

Ini sepertinya operasi kliping yang cukup sederhana. Gunakan alat Klip (Manajemen Data) .

Dari dokumentasi bantuan:

Lapisan raster atau vektor yang ada dapat digunakan sebagai batas klip. Jika Anda menggunakan kelas fitur sebagai tingkat output, Anda memiliki opsi untuk klip raster dengan persegi panjang batas minimum dari kelas fitur atau oleh geometri poligon fitur. Jika kliping geometri digunakan, maka kedalaman piksel dari output dapat dipromosikan. Karena itu, Anda perlu memastikan bahwa format output dapat mendukung kedalaman piksel yang tepat.

Ini sebenarnya harus lebih sederhana daripada kebutuhan Anda karena menggunakan fungsi inti dan bahkan tidak memerlukan ekstensi Spatial Analyst , seperti metode lainnya.

-------------- Edit

Di sisi lain, jika tujuan Anda adalah membuat raster yang menunjukkan di mana kedua input bernilai nol, atau salah satu memiliki nilai, atau keduanya memiliki nilai, maka Anda akan menggunakan Penggandaan Raster . Ini pada dasarnya menciptakan raster keluaran yang memiliki nilai yang merupakan kelipatan dari nilai raster input. Perhatikan bahwa yang berikut ini memerlukan ekstensi Analis Tata Ruang.

Contoh, dalam kasus Anda, dengan raster boolean.

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

Jika Anda ingin dapat menentukan input mana yang memiliki nilai sebenarnya, Anda perlu mengklasifikasi ulang salah satu raster input sehingga nilai yang Anda gandakan benar-benar unik. Kedua input harus direklasifikasi sehingga tidak ada Nilai "1", karena ini akan memungkinkan untuk nilai duplikat dalam raster yang dikalikan.

Contoh:

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

Anda bisa melakukan kombinasi dari operasi ini di mana Anda klip salah satu raster oleh yang lain, untuk hanya menampilkan area yang tumpang tindih. Kemudian, reklasifikasi dan gandakan raster untuk menunjukkan di mana keduanya False, satu atau yang lain Benar, atau keduanya Benar.

Semoga ini membantu.


Saya terus mendapatkan kesalahan tingkat keluaran. Atau kesalahan topeng. Sangat frustasi .... Tidak pernah mengalami ini sebelumnya.
Thad

nvm. Saya pikir saya memiliki masalah proyeksi. yaitu fungsi-fungsi ini tidak mendukung proyeksi dengan cepat ... karena itu mereka tidak tumpang tindih sejauh fungsi yang bersangkutan.
Thad

@Thad - Saya kemudian akan mencoba memproyeksi ulang salah satu raster agar sesuai dengan proyeksi yang lain. Gunakan alat Project Raster yang ditemukan di bawah alat Manajemen Data. Atau, gunakan kode python untuk melakukannya secara terprogram sebagai bagian dari alur kerja Anda.
Dapatkan Spasial

ya saya melakukan itu dan itu bekerja dengan sempurna.
Thad

9

Saya berasumsi bahwa dalam raster Anda, Anda memiliki nilai 1 untuk putih (dalam beberapa cara daerah nodata) dan 2 untuk biru / hijau.

Jadi, Anda perlu mendapatkan area di mana kedua raster memiliki nilai 2.

Ini dapat dengan mudah dilakukan dengan Raster Calculator di ArcGIS.

Ekspresi akan terlihat seperti:

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

atau

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

PS alat ini membutuhkan ekstensi Spatial Analyst


0

Saya pikir metode ini dapat membantu Anda:

  1. arctoolbox >> Data management tools >> Raster >> Rasterprocessing >> Clip seret dan letakkan raster Anda di input dan output (tidak peduli yang mana). Sekarang Anda memiliki shapefile dari area tumpang tindih Anda (kami menyebutnya overlap.shp).
  2. menggunakan ekstrak dengan mask, untuk kedua raster arctoolbox >> Spatial analyst tools >> Extraction >> Extract by mask:: input: the Raster 1, data mask: overlap.shp. Sekarang Anda memiliki raster tumpang tindih raster 1 (kami menyebutnya tumpang tindih1). arctoolbox >> Spatial analyst tools >> Extraction >> Extract by mask: input: data topeng 2. Raster: the overlap.shp. Sekarang Anda memiliki raster tumpang tindih raster 1 (kami menyebutnya tumpang tindih2).
  3. langkah terakhir arctoolbox >> Spatial analyst tools >> Map algebra:: drag and drop overlap2 & overlap1.

Sekarang kamu bisa melakukan apa saja. Setiap statistik yang Anda butuhkan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.