Usando polígonos para aplicar valor exclusivo a todas as células raster dentro desses polígonos?


14

No ArcGIS 9.3, eu tenho um arquivo raster que gostaria de "mascarar" com polígonos, dando um valor único a todas as células raster que se sobrepõem aos polígonos.

Como posso fazer isso?

Aqui está uma captura de tela, onde os polígonos pretos são minha camada de polígono, e o resto é baseado em varredura.

insira a descrição da imagem aqui

Respostas:


15

Você pode usar uma declaração condicional. O problema com as recomendações anteriores é que, quando você rasterizar seus polígonos (o que é necessário), o plano de fundo, que não contém polígonos, será NoData, resultando em áreas correspondentes na saída que também serão NoData. Você precisará definir sua extensão de análise para sua varredura original e, em seguida, definir um valor de segundo plano (ou seja, 0) para a varredura de polígono rasterizado usando SetNull. Depois de fazer isso, uma declaração condicional na calculadora raster será algo parecido com isto.

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

"praster" é sua classe de recurso ploygon rasterizado, com um valor de fundo 0, e "OrgRaster" é o raster que você deseja modificar. Esta declaração está dizendo que, se o praster for maior que 0, atribua valores do praster, caso contrário, atribua valores do OrgRaster.


1
Acabei alterando a extensão da varredura e, em seguida, reclassificando para alterar os valores do nodata para 0. obrigado!
Lucas

4

Você pode rasterizar ( ArcToolbox> Ferramentas de conversão> Rasterizar ) seus polígonos e mesclar as duas rasters com Spatial Analyst Tools> Math> Logical > Over .

Ao rasterizar polígonos, na janela de diálogo Polígono para rasterização , é necessário usar a opção Ambientes -> Processando Extensão Snap Raster , para obter as células correspondentes à sua varredura inicial.


2
Ao rasterizar polígonos, na janela de diálogo Polígono para raster, você precisa ir para Ambientes -> Configurações gerais e usar a opção Snap Raster, para obter as células correspondentes à sua varredura inicial.
nadya

1

Adotei outra abordagem, pois não consegui descobrir a solução acima. O exposto acima é provavelmente fácil, mas de alguma forma eu falhei.

Minha abordagem foi:

  1. Faça uma união com [Polygon] e [Study_Area]. Saída: [Polygon_StudyArea_Union].
  2. Edite os valores do polígono em [Polygon_StudyArea_Union] para 0 e o resultado em 1.
  3. Converta [Polygon_StudyArea_Union] em raster. Saída: [Polygon_StudyArea_Union_Raster]
  4. Execute um cálculo de varredura: [A varredura que você deseja editar] * [Polygon_StudyArea_Union_Raster]
  5. Em seguida, reclassifique para o valor que você deseja que o valor zero (0) seja.

Provavelmente muitos passos, mas espero que isso possa ajudar alguém.


0

você pode converter o valor raster em polígono

em seguida, junte-se espacialmente de volta ao polígono da zona

depois converta o polígono da zona em raster, mantendo o campo da junção espacial

então eu acho que você deve mosaico-los juntos, mantendo a varredura 'top', ou seja, os valores de varredura de zona (em vez de soma / min / max / mediana) ...

Sabe o que eu quero dizer?

-mb

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.