Bu çokgenler içindeki tüm tarama hücrelerine benzersiz değer uygulamak için çokgenler mi kullanıyorsunuz?


14

ArcGIS 9.3'te, çokgenlerle "maskelemek" istediğim bir raster dosyası var, çokgenlerle çakışan tüm raster hücrelerine tek bir değer veriyor.

Bunu nasıl yapabilirim?

İşte siyah çokgenlerin benim çokgen katmanım olduğu ve diğerlerinin raster tabanlı olduğu bir ekran görüntüsü.

resim açıklamasını buraya girin

Yanıtlar:


15

Koşullu bir ifade kullanabilirsiniz. Önceki önerilerdeki sorun, çokgenlerinizi (gerekli) rasterleştirdiğinizde, çokgen içermeyen arka planın NoData olacağı ve çıktıdaki karşılık gelen alanların da NoData olacağıdır. Analiz kapsamınızı orijinal rasterinize ayarlamanız ve sonra SetNull kullanarak rasterleştirilmiş çokgen rasterine bir arka plan değeri (yani 0) ayarlamanız gerekir. Bunu yaptıktan sonra, raster hesap makinesindeki koşullu bir ifade böyle bir şeye benzeyecektir.

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

"praster", arka plan değeri 0 olan rasterleştirilmiş ploygon özellik sınıfınız ve "OrgRaster" değiştirmek istediğiniz rasterdir. Bu ifade, praster 0'dan büyükse, praster'dan değerler atarsa ​​OrgRaster'dan değerler atar.


1
Raster kapsamını değiştirerek sona erdirdim, sonra nodata değerlerini 0 olarak değiştirmek için yeniden sınıflandırma yaptım. Teşekkürler!
Luke

4

Çokgenlerinizi rasterleştirebilir ( ArcToolbox> Dönüştürme Araçları> Rastere ) ve ardından iki rasteri Uzamsal Analist Araçları> Matematik> Mantıksal > Üzerinde ile birleştirebilirsiniz .

Çokgenleri rasterleştirirken , ilk rasterinize karşılık gelen hücreleri almak için Rastere Çokgen iletişim penceresinde, Ortamlar -> Uzatma Yapış Rasterini İşleme seçeneğini kullanmanız gerekir .


2
Çokgenleri rasterleştirirken, Rastere Çokgen iletişim penceresinde, hücrelerin ilk rasterinize karşılık gelmesini sağlamak için Ortamlar -> Genel ayarlar bölümüne gitmeniz ve Raster Yapış seçeneğini kullanmanız gerekir.
nadya

1

Yukarıdaki çözümü bulamadığım için başka bir yaklaşım izledim. Yukarıdaki muhtemelen kolay ama bir şekilde başarısız oldu.

Benim yaklaşımım:

  1. [Çokgen] ve [Etüt_Alanı] ile bir birleşim gerçekleştirin. Çıktı: [Polygon_StudyArea_Union].
  2. [Polygon_StudyArea_Union] 'daki çokgenin değerlerini 0 ve sonuçta 1 olarak düzenleyin.
  3. [Polygon_StudyArea_Union] öğesini raster biçimine dönüştürün. Çıktı: [Polygon_StudyArea_Union_Raster]
  4. Raster hesaplaması yapın: [Düzenlemek istediğiniz raster] * [Polygon_StudyArea_Union_Raster]
  5. Ardından, sıfır (0) değerinin olmasını istediğiniz değere yeniden sınıflandırın.

Muhtemelen çok fazla adım ama umarım bu birisine yardımcı olabilir.


0

değer rasterini çokgene dönüştürebilirsiniz

sonra uzamsal olarak bölge poligonuna geri katılın

daha sonra alanı uzamsal birleşmeden koruyarak bölge çokgenini raster haline dönüştürün

sonra 'üst' raster, yani bölge raster değerleri (toplam / min / max / medyan yerine) tutarak, onları birlikte mozaik gerektiğini düşünüyorum ...

ne demek istediğimi biliyorsun?

-mb

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.