Extraction par points (Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Résumé

Extrait les cellules d’un raster selon un ensemble de points de coordonnées.

Illustration

Illustration de l'outil Extraction par points
OutRas = ExtractByPoints(InRas1, [Point(1.5,0.5),Point(1.5,4.5),Point(4.5,4.5),Point(4.5,0.5)], "INSIDE")

Utilisation

  • Les éventuels attributs supplémentaires du raster en entrée seront transférés tels quels dans la table attributaire de raster en sortie. Selon la propriété enregistrée, il est possible que certaines valeurs attributaires doivent être recalculées.

  • Lorsqu’un raster multicanal est spécifié en tant que Input raster (Raster en entrée) (in_raster dans Python), tous les canaux sont utilisés.

    Pour traiter une sélection de canaux d’un raster multicanal, créez tout d’abord un jeu de données raster composé de ces canaux spécifiques à l’aide de l’outil Canaux composites. Utilisez ensuite le résultat en tant que raster en entrée (in_raster dans Python).

    Le format en sortie par défaut est un raster de géodatabase. Si le format en sortie est une pile de grilles Esri, le nom de la pile ne peut pas commencer par un nombre, utiliser des espaces ni comporter plus de neuf caractères.

  • La valeur NoData est attribuée aux emplacements de cellule qui ne sont pas sélectionnés.

  • Si le raster en entrée est un nombre entier, le raster en sortie sera un nombre entier. Si l'entrée est à virgule flottante, la sortie sera également à virgule flottante.

  • Pour plus d’informations sur les environnements de géotraitement qui s’appliquent à cet outil, reportez-vous à la rubrique Environnements d’analyse et Spatial Analyst.

Syntaxe

ExtractByPoints(in_raster, points, {extraction_area})
ParamètreExplicationType de données
in_raster

Raster en entrée à partir duquel les cellules seront extraites.

Raster Layer
points
[point,...]

Une liste Python de classes d'objets Point représente les emplacements où les valeurs sont extraites du raster.

Les objets ponctuels sont spécifiées au sein d'une liste de paires de coordonnées x,y dans les mêmes unités de carte que le raster en entrée.

L'objet a la forme suivante :

  • [point(x1,y1), point(x2,y2),...]
Point
extraction_area
(Facultatif)

Indique s'il faut extraire des cellules selon les emplacements des points spécifiés (à l'intérieur) ou à l'extérieur des emplacements des points (à l'extérieur).

  • INSIDEMot-clé spécifiant que la cellule contenant le point sélectionné sera enregistrée dans le raster en sortie. Toutes les cellules situées à l'extérieur du cadre adopteront la valeur NoData sur le raster en sortie.
  • OUTSIDEMot-clé spécifiant que les cellules situées à l'extérieur des points en entrée doivent être sélectionnées et enregistrées dans le raster en sortie.
String

Valeur renvoyée

NomExplicationType de données
out_raster

Raster en sortie contenant les valeurs de cellule extraites du raster en entrée.

Raster

Exemple de code

Premier exemple d'utilisation de l'outil ExtractByPoints (fenêtre Python)

Cet exemple décrit l'extraction des cellules d'un raster selon les coordonnées de points spécifiées.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
pointList = [arcpy.Point(743050, 4321275), arcpy.Point(743100, 4321200),
             arcpy.Point(734500,4322000)]
outPointExtract = ExtractByPoints("soil", pointList,"INSIDE")
outPointExtract.save("c:/sapyexamples/output/pntextract")
Deuxième exemple d'utilisation de l'outil ExtractByPoints (script autonome)

Cet exemple décrit l'extraction des cellules d'un raster selon les coordonnées de points spécifiées.

# Name: ExtractByPoints_Ex_02.py
# Description: Extracts the cells of a raster based on a set of points.
# 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"
pointList = [arcpy.Point(743050, 4321275), 
             arcpy.Point(743100, 4321200), 
             arcpy.Point(743500, 4322000),
             arcpy.Point(742900, 4321800)]

# Execute ExtractByPoints
outPointExtract = ExtractByPoints("soil", pointList,"INSIDE")

# Save the output 
outPointExtract.save("c:/sapyexamples/output/pntext")

Informations de licence

  • Basic: Requiert Spatial Analyst
  • Standard: Requiert Spatial Analyst
  • Advanced: Requiert Spatial Analyst

Rubriques connexes