Raster vers multi-points (3D Analyst)
Récapitulatif
Convertit des centres de cellule raster en entités multi-points dont les valeurs Z reflètent la valeur des cellules raster.
Utilisation
Cet outil est destiné aux jeux de données raster qui modélisent les propriétés de surface, comme l'altitude.
-
Cet outil est utile pour incorporer un MNT raster dans les points qui peuvent être utilisés en tant que données auxiliaires pour la création d'un Jeu de données de MNT de géodatabase personnelle ou d'un TIN.
Tous les centres de cellule peuvent être convertis à l'aide de l'option NO_THIN, ou l'un des filtres peut être appliqué afin d'exclure les cellules moins importantes. Les options d'affinage comprennent ZTOLERANCE, KERNEL et VIP.
- La méthode d'affinage ZTOLERANCE représente la différence maximum autorisée (en unités z) entre la hauteur du raster en entrée et celle de la classe d'entités multi-points en sortie. Par défaut, la tolérance z représente 1/10 de la plage z du raster en entrée. Plus la tolérance est élevée, plus l'affinage est important et moins il y a de points en sortie.
- La méthode d'affinage KERNEL définit le nombre de cellules pour une fenêtre. La valeur par défaut est 3, ce qui permet une conversion vers un ensemble de cellules 3x3 dans le raster en entrée. Les valeurs de cellule individuelle de chacune de ces fenêtres sont évaluées. Ensuite, seules une ou deux cellules sont choisies, selon la méthode de sélection KERNEL. Plus la taille du noyau est élevée, plus il y a d'affinage et moins il y a de points en sortie.
- La méthode VIP permet de sélectionner un pourcentage de points à partir du raster en entrée selon leur signification. L'importance est évaluée à l'aide d'une fenêtre 3x3 mobile. Vous pouvez choisir l'option VIP_HISTOGRAM pour écrire une table pour afficher les valeurs de signification réelles et le nombre de points correspondants associés à ces valeurs.
-
Utilisez la méthode d'affinage ZTOLERANCE lorsqu'il est important de conserver la précision verticale. Utilisez la méthode d'affinage KERNEL lorsqu'il est important de contrôler la distance d'échantillonnage horizontal.
-
Vous devez appliquer une méthode d'affinage lors de la conversion raster vers multi-points. Deux méthodes d'affinage sont utilisées pour générer une nouvelle classe d'entités multi-points : ZTOLERANCE et KERNEL. Si l'option NO_THIN est sélectionnée, les données de résolution maximale seront générées dans une nouvelle classe d'entités multi-points.
-
La méthode VIP est relativement rapide, elle génère un nombre prévisible de points et sélectionne efficacement les sommets et les dépressions locaux. Toutefois, elle est sensible au bruit et insensible aux entités topographiques qui sont supérieures à la fenêtre 3x3.
Syntaxe
Paramètre | Explication | Type de données |
in_raster |
Raster en entrée. | Raster Layer |
out_feature_class |
Classe d'entités en sortie. | Feature Class |
out_vip_table (Facultatif) |
Table d'histogramme à fournir lorsque Histogramme VIP est indiqué pour le paramètre Méthode. | Table |
method (Facultatif) |
Méthode d'affinage appliquée pour générer la classe d'entités multi-points.
| String |
kernel_method (Facultatif) |
Méthode de sélection utilisée pour la création de points lorsque l'affinage du noyau est spécifié dans le paramètre Méthode.
| String |
z_factor (Facultatif) |
Facteur utilisé pour multiplier l'altitude du raster. Permet en général de convertir des unités de pieds en mètres. | Double |
Exemple de code
L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python :
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.RasterToMultipoint_3d("elevation.tif", "","elev_VIP.dbf", "VIP_HISTOGRAM", "", "1")
L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome :
'''*********************************************************************
Name: RasterToMultipoint Example
Description: This script demonstrates how to use
the RasterToMultipoint tool to create multipoint datasets
fot all IMG rasters in a target workspace.
**********************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions
try:
arcpy.CheckOutExtension("3D")
# Set default workspace
env.workspace = "C:/data"
# Create the list of IMG rasters
rasterList = arcpy.ListRasters("*", "IMG")
# Loop the process for each raster
if rasterList:
for raster in rasterList:
# Set Local Variables
# [:-4] strips the last 4 characters (.img) from the raster name
outTbl = "VIP_" + raster[:-4] + ".dbf"
method = "VIP_HISTOGRAM"
zfactor = 1
#Execute RasterToMultipoint
arcpy.ddd.RasterToMultipoint(raster, "",outTbl, method, "", zfactor)
else:
"There are no IMG rasters in the " + env.workspace + " directory."
except Exception as e:
# Returns any other error messages
print e.message