Utiliser des polygones pour appliquer une valeur unique à toutes les cellules raster de ces polygones?


14

Dans ArcGIS 9.3, j'ai un fichier raster que je voudrais «masquer» avec des polygones, donnant une valeur unique à toutes les cellules raster qui chevauchent les polygones.

Comment puis-je faire ceci?

Voici une capture d'écran, où les polygones noirs sont ma couche de polygones et le reste est basé sur un raster.

entrez la description de l'image ici

Réponses:


15

Vous pouvez utiliser une instruction conditionnelle. Le problème avec les recommandations précédentes est que lorsque vous pixellisez vos polygones (ce qui est nécessaire), l'arrière-plan, qui ne contient pas de polygones, sera NoData, les zones correspondantes dans la sortie étant également NoData. Vous devrez définir l'étendue de votre analyse sur votre raster d'origine, puis définir une valeur d'arrière-plan (c.-à-d. 0) sur le raster polygonal pixellisé à l'aide de SetNull. Une fois que vous avez fait cela, une instruction conditionnelle dans la calculatrice raster ressemblera à ceci.

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

"praster" est votre classe d'entités ploygon pixellisée, avec une valeur d'arrière-plan de 0, et "OrgRaster" est le raster que vous souhaitez modifier. Cette déclaration indique que si praster est supérieur à 0, affectez des valeurs à Praster, sinon affectez des valeurs à OrgRaster.


1
J'ai fini par changer l'étendue du raster, puis j'ai reclassifié pour changer les valeurs de nodata à 0. merci!
Luke

4

Vous pouvez pixelliser ( ArcToolbox> Outils de conversion> To raster ) vos polygones, puis fusionner les deux rasters avec Spatial Analyst Tools> Math> Logical > Over .

Alors que les polygones pixelliser, dans le Polygone Pour Raster la fenêtre, vous devez utiliser les environnements -> Traitement étendue snap Raster option pour obtenir le correspondant de cellules à votre trame initiale.


2
Lors de la pixellisation des polygones, dans la fenêtre de dialogue Polygone vers raster, vous devez aller dans Environnements -> Paramètres généraux et utiliser l'option Snap Raster, pour obtenir les cellules correspondant à votre raster initial.
nadya

1

J'ai adopté une autre approche car je ne pouvais pas trouver la solution ci-dessus. Ce qui précède est probablement facile, mais j'ai échoué.

Mon approche était:

  1. Effectuez une union avec [Polygon] et [Study_Area]. Sortie: [Polygon_StudyArea_Union].
  2. Modifiez les valeurs du polygone dans [Polygon_StudyArea_Union] à 0 et le résultat à 1.
  3. Convertissez [Polygon_StudyArea_Union] en raster. Sortie: [Polygon_StudyArea_Union_Raster]
  4. Effectuer un calcul raster: [Le raster que vous souhaitez modifier] * [Polygon_StudyArea_Union_Raster]
  5. Reclassifiez ensuite la valeur à laquelle vous souhaitez que la valeur zéro (0) soit.

Probablement trop d'étapes mais j'espère que cela peut aider quelqu'un.


0

vous pouvez convertir le raster de valeurs en polygone

puis rejoindre spatialement le polygone de zone

puis convertissez le polygone de zone en raster, en gardant le champ de la jointure spatiale

alors je pense que vous devriez les mosaïquer ensemble, en gardant le raster «supérieur», c'est-à-dire les valeurs de raster de zone (plutôt que la somme / min / max / médiane) ...

sais ce que je veux dire?

-mb

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.