Menggunakan poligon untuk menerapkan nilai unik ke semua sel raster dalam poligon itu?

14

Di ArcGIS 9.3, saya memiliki file raster yang ingin saya "sembunyikan" dengan poligon, memberikan nilai tunggal untuk semua sel raster yang tumpang tindih dengan poligon.

Bagaimana saya bisa melakukan ini?

Ini screen shot, di mana poligon hitam adalah lapisan poligon saya, dan sisanya berbasis raster.

masukkan deskripsi gambar di sini

Luke
sumber

Jawaban:

15

Anda dapat menggunakan pernyataan bersyarat. Masalah dengan rekomendasi sebelumnya adalah bahwa ketika Anda rasterize poligon Anda (yang diperlukan) latar belakang, yang tidak mengandung poligon, akan menjadi NoData yang menghasilkan area yang sesuai dalam output juga menjadi NoData. Anda perlu mengatur tingkat analisis Anda ke raster asli Anda dan kemudian menetapkan nilai latar belakang (yaitu, 0) ke raster poligon raster menggunakan SetNull. Setelah Anda melakukan ini, pernyataan bersyarat dalam kalkulator raster akan terlihat seperti ini.

Con ("praster"> 0, "praster", "OrgRaster")

"praster" adalah kelas fitur rasterized ploygon Anda, dengan nilai latar belakang 0, dan "OrgRaster" adalah raster yang ingin Anda modifikasi. Pernyataan ini mengatakan bahwa jika praster lebih besar dari 0 maka tetapkan nilai dari praster lain tetapkan nilai dari OrgRaster.

Jeffrey Evans
sumber
1
Saya akhirnya mengubah tingkat raster, kemudian melakukan reklasifikasi untuk mengubah nilai nodata menjadi 0. terima kasih!
Luke
4

Anda dapat merasterisasi ( ArcToolbox> Conversion Tools> To Raster ) poligon Anda, dan kemudian menggabungkan dua raster dengan Spatial Analyst Tools> Math> Logical > Over .

Saat meraster poligon, di jendela dialog Polygon To Raster , Anda perlu menggunakan Environments -> Processing Extent Snap Raster , untuk mendapatkan sel yang sesuai dengan raster awal Anda.

nadya
sumber
2
Saat meraster poligon, di jendela dialog Polygon To Raster, Anda harus pergi ke Lingkungan -> Pengaturan umum dan menggunakan opsi Snap Raster, untuk mendapatkan sel yang sesuai dengan raster awal Anda.
nadya
1

Saya mengambil pendekatan lain karena saya tidak tahu solusi di atas. Di atas mungkin mudah tetapi entah bagaimana saya gagal.

Pendekatan saya adalah:

  1. Lakukan penyatuan dengan [Polygon] dan [Study_Area]. Output: [Polygon_StudyArea_Union].
  2. Edit nilai-nilai poligon dalam [Polygon_StudyArea_Union] ke 0 dan hasilnya menjadi 1.
  3. Ubah [Polygon_StudyArea_Union] menjadi raster. Output: [Polygon_StudyArea_Union_Raster]
  4. Lakukan perhitungan raster: [Raster yang ingin Anda edit] * [Polygon_StudyArea_Union_Raster]
  5. Kemudian, reklasifikasi ke nilai mana pun yang Anda inginkan, nilai nol (0).

Mungkin terlalu banyak langkah tetapi mudah-mudahan ini bisa membantu seseorang.

Stefan Attig
sumber
0

Anda bisa mengonversi nilai raster ke poligon

kemudian secara spasial bergabung kembali ke poligon zona

kemudian konversikan poligon zona menjadi raster, menjaga bidang dari gabungan spasial

maka saya pikir Anda harus mosaik mereka bersama-sama, menjaga raster 'atas', yaitu nilai-nilai zona raster (daripada jumlah / min / maks / median) ...

tau apa yang saya maksud?

-mb

DPSSpatial
sumber