Extraction par polygone (Spatial Analyst)
Récapitulatif
Extrait les cellules d'un raster selon un polygone.
Utilisation
-
Pour effectuer une extraction selon un polygone dans une classe d'entités au lieu de fournir une série de paires x,y, vous pouvez utiliser l'outil Extraction par masque.
-
Le centre de la cellule permet de déterminer si une cellule est à l'intérieur ou à l'extérieur d'un polygone. Si le centre se trouve dans l'arc du polygone, on considère que la cellule entière se trouve à l'intérieur, même si ses proportions débordent de ce polygone.
-
Le polygone est limité à 1 000 sommets. Les sommets du polygone doivent être saisis dans le sens des aiguilles d'une montre. Le premier et le dernier sommet doivent être identiques. Cela permet de fermer le polygone lorsque vous en utilisez plusieurs. Si les derniers points ne sont pas identiques, le polygone sera fermé automatiquement. Les arcs du polygone peuvent s'entrecroiser, mais les polygones déformés ne sont pas recommandés.
-
La valeur NoData est attribuée aux emplacements de cellule qui ne sont pas sélectionnés.
-
Lorsqu'un raster multicanal est spécifié en entrée, un nouveau raster multicanal est créé en sortie. Chaque canal individuel au sein du raster multicanal en entrée est analysé en conséquence.
Le format en sortie par défaut est une pile de grilles Esri. Notez que le nom d'une pile de grilles Esri ne peut pas commencer par un nombre, utiliser d'espaces ou comporter plus de 9 caractères.
-
Si l'entrée est une couche créée à partir d'un raster multicanal de plus de trois canaux, l'opération d'extraction ne prend en compte que les canaux chargés (symbolisés) par la couche. En conséquence, le raster multicanal en sortie ne peut comporter que trois canaux, qui correspondent à ceux utilisés dans l'affichage de la couche en entrée.
-
Si le raster en entrée est un nombre entier, le raster en sortie sera un nombre entier. Si l'entrée est en virgule flottante, la sortie est également en virgule flottante.
Syntaxe
Paramètre | Explication | Type de données |
in_raster |
Raster en entrée à partir duquel les cellules seront extraites. | Raster Layer |
polygon [point,...] |
Un polygone (ou plusieurs) qui définit la surface du raster en entrée à extraire. Chaque partie d'un polygone est une liste de sommets définie par les classes Point. Le cas échéant, une classe Polygone peut permettre de définir une liste de parties de polygone. Les points sont spécifiés sous forme de paires de coordonnées x,y. L'objet a la forme suivante :
Notez que la dernière coordonnée doit être la même que la première pour fermer le polygone. | Point |
extraction_area (Facultatif) |
Détermine l'extraction des cellules à l'intérieur ou à l'extérieur du polygone en entrée.
| String |
Valeur renvoyée
Nom | Explication | Type de données |
out_raster |
Raster en sortie contenant les valeurs de cellule extraites du raster en entrée. | Raster |
Exemple de code
Cet exemple décrit l'extraction des cellules d'un raster selon les coordonnées du polygone que vous avez indiquées.
import arcpy from arcpy import env from arcpy.sa import * polyPoints = [arcpy.Point(743050, 4321275), arcpy.Point(743100, 4321200), arcpy.Point(743500, 4322000),arcpy.Point(742900, 4321800)] env.workspace = "C:/sapyexamples/data" extPolygonOut = ExtractByPolygon("soil", polyPoints, "INSIDE") extPolygonOut.save("c:/sapyexamples/output/extpoly")
Cet exemple décrit l'extraction des cellules d'un raster selon les coordonnées du polygone que vous avez indiquées.
# Name: ExtractByPolgyon_Ex_02.py # Description: Extracts the cells of a raster based on a polygon. # Requirements: Spatial Analyst Extension # Import system modules import arcpy from arcpy import env from arcpy.sa import * # Set environment settings env.workspace = "C:/sapyexamples/data" # Set local variables inRaster = "soil" polyPoints = [arcpy.Point(743050, 4321275), arcpy.Point(743100, 4321200), arcpy.Point(743500, 4322000),arcpy.Point(742900, 4321800)] # Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension("Spatial") # Execute ExtractByPolygon extPolygonOut = ExtractByPolygon(inRaster, polyPoints, "INSIDE") # Save the output extPolygonOut.save("c:/sapyexamples/output/extpoly02")