Étiquette | Explication | Type de données |
Entités en entrée | Points en entrée représentant les localisations dont les catégories sont connues en 3D. Les points doivent se trouver dans un système de coordonnées projetées et trois points au moins doivent exister. | Feature Layer |
Champs de catégorie | Champs des entités en entrée contenant les catégories de chaque point. Pour chaque champ, les valeurs uniques du champ représentent les catégories du champ. Chaque champ doit être de type texte, entier court ou entier long. Par exemple, vous pouvez fournir un champ de classe de sol (schiste, sable, argile, etc.) et un champ de couleur de sol (jaune, brun, blanc, etc.). Chaque voxel dans le fichier netCDF en sortie stocke la classe de sol et la couleur de sol les plus proches sous forme de variables distinctes. | Field |
Fichier NetCDF en sortie | Fichier netCDF en sortie contenant les catégories dans une grille 3D. Chaque point dans la grille 3D se voit affecter la catégorie du point en entrée le plus proche. Ce fichier peut être utilisé comme source de données d’une couche voxel. | File |
Espacement X (Facultatif) | Espacement entre chaque point maillé dans la dimension x. La valeur par défaut crée 40 points le long de l’étendue x en sortie. | Linear Unit |
Espacement Y (Facultatif) | Espacement entre chaque point maillé dans la dimension y. La valeur par défaut crée 40 points le long de l’étendue y en sortie. | Linear Unit |
Espacement d’élévation (Facultatif) | Espacement entre chaque point maillé dans la dimension d’élévation (z). La valeur par défaut crée 40 points le long de l’étendue z en sortie. | Linear Unit |
Facteur d’inflation de l’élévation (Facultatif) | Valeur constante multipliée par l’élévation (coordonnées z) des points en entrée avant l’identification du voisin le plus proche. Les valeurs supérieures à 1 permettent d’effectuer une recherche plus loin horizontalement que verticalement pour trouver le voisin le plus proche. Par exemple, avec la valeur 10, chaque voxel effectuera une recherche 10 fois plus loin horizontalement que verticalement pour trouver le voisin le plus proche. La valeur par défaut est 1, ce qui signifie que les élévations ne sont pas ajustées. La valeur doit être comprise entre 1 et 1 000. L’inflation de l’élévation est utilisée uniquement pour trouver le voisin le plus proche, et l’échelle originale de toutes les élévations est restaurée avant la création du fichier netCDF en sortie. L’inflation de l’élévation est recommandée lorsque les catégories des points en entrée tendent à être similaires le long de la strate horizontale, comme c’est le cas avec les classes de sol et les types de roche. | Double |
Polygones de zone d’étude en entrée (Facultatif) | Entités surfaciques qui représentent la zone d’étude. Seuls les points qui se trouvent dans la zone d’étude sont enregistrés dans le fichier netCDF en sortie. En cas d’affichage sous forme de couche voxel, seuls les voxels dans la zone d’étude s’affichent dans la scène. Les points sont déterminés comme étant à l’intérieur ou à l’extérieur de la zone d ’étude avec uniquement leurs coordonnées x et y. | Feature Layer |
Raster de découpage de l’élévation minimale (Facultatif) | Raster d’élévation qui sera utilisé pour découper le bas de la couche voxel. Seuls les voxels se trouvant au-dessus de ce raster d’élévation se verront affecter une catégorie. Par exemple, si vous utilisez un raster d’élévation du sol, la couche voxel ne sera affichée qu’au-dessus de la surface. Ce raster peut aussi être utilisé pour les surfaces de substrat rocheux ou le fond d’un dépôt de schiste. Le raster doit se trouver dans un système de coordonnées projetées et l’unité des valeurs d’élévation doit être identique à l’unité verticale du raster. | Raster Layer |
Raster de découpage de l’élévation maximale (Facultatif) | Raster d’élévation qui sera utilisé pour découper le haut de la couche voxel. Seuls les voxels se trouvant sous ce raster d’élévation se verront affecter une catégorie. Par exemple, si vous utilisez un raster d’élévation du sol, la couche voxel ne sera affichée que sous la surface. Ce raster peut aussi être utilisé pour découper des voxels sur la partie supérieure d’un espace aérien restreint. Le raster doit se trouver dans un système de coordonnées projetées et l’unité des valeurs d’élévation doit être identique à l’unité verticale du raster. | Raster Layer |
Disponible avec une licence Geostatistical Analyst.
Synthèse
Crée un fichier source de couche voxel (netCDF) à partir de points 3D catégoriels en affectant à chaque voxel la catégorie du voisin le plus proche en 3D.
Illustration
Utilisation
Le paramètre Fichier NetCDF en sortie n’ajoute pas de couches automatiquement sur la carte ou scène. Pour afficher la sortie sous forme de couche voxel, elle doit être ajoutée à une scène locale avec le même système de coordonnées horizontales et verticales que le fichier netCDF. Elle peut également être ajoutée à une carte ou scène en tant que couche d’entités ou raster à l’aide de l’outil Générer une couche d’entités NetCDF ou Générer une couche raster NetCDF, respectivement.
-
Les entités en entrée doivent être des points 3D dont les élévations sont stockées dans l’attribut de géométrie Shape.Z. Vous pouvez convertir des entités ponctuelles 2D avec un champ d’élévation en entités ponctuelles 3D à l’aide de l’outil Entité en 3D par attribut.
Il est préférable que les entités en entrée possèdent un système de coordonnées verticales définissant précisément leurs coordonnées z. Vous pouvez attribuer un système de coordonnées verticales aux points à l’aide de l’outil Définir une projection.
Si plusieurs champs sont spécifiés dans le paramètre Champs de catégorie, le fichier netCDF en sortie contiendra une variable distincte pour chaque champ. Chaque variable aura le même nom que le champ de catégorie. Vous pouvez choisir la variable à afficher dans une scène lors de l’ajout de la couche voxel à la scène.
Par exemple, vous pouvez fournir un champ de classe de sol (schiste, sable, argile, etc.) et un champ de couleur de sol. Ainsi, chaque voxel dans le fichier netCDF en sortie contiendra la classe de sol et la couleur de sol du voisin le plus proche.
Vous pouvez utiliser les paramètres Polygones de zone d’étude en entrée, Raster de découpage de l’élévation minimale et Raster de découpage de l’élévation maximale pour limiter l’analyse à une zone d’étude spécifique et entre deux surfaces d’élévation. Les voxels hors de ces limites n’auront pas de catégorie et ne seront pas affichés. Par exemple, si les points représentent des classes de sol dans un projet immobilier, vous pouvez créer une couche voxel qui ne s’affiche que dans un polygone d’un projet (zone d’étude), au-dessus du substrat rocheux (raster d’élévation minimale) et sous la surface (raster d’élévation maximale).
Divers aspects doivent être pris en compte lors de l’utilisation de surfaces d’élévation comme rasters d’élévation minimale et maximale. Les services d’imagerie, les couches d’élévation Web et les couches d’imagerie Web présentent les performances les plus faibles et peuvent rencontrer des erreurs lorsque le nombre de requêtes est élevé. Les rasters enregistrés en tant que fichiers locaux sur le disque offrent de meilleures performances et sont recommandés lors de la création de couches voxel haute résolution couvrant de grandes étendues spatiales.
Le nombre de voxels et le pourcentage du nombre de voxels de chaque catégorie sont renvoyés dans des messages de géotraitement. Les voxels dont les valeurs sont nulles (comme les voxels se trouvant en dehors des polygones de zone d’étude en entrée) ne sont pas inclus dans les décomptes et pourcentages. Si plusieurs champs de catégorie sont fournis, des messages distincts sont renvoyés pour chaque champ.
Les entités en entrée et les rasters de découpage de l’élévation minimale et maximale doivent se trouver dans un système de coordonnées projetées. Si les points ou les rasters possèdent un système de coordonnées géographiques avec des coordonnées de latitude et de longitude, ils doivent être projetés dans un système de coordonnées projetées à l’aide de l’outil Projeter ou Projeter un raster.
Pour chaque champ de catégorie, chaque valeur unique est enregistrée dans le fichier netCDF en sortie sous forme d’entier. Une fois les valeurs uniques triées (par ordre croissant), l’entier 0 est affecté à la première catégorie, l’entier 1 est affecté à la catégorie suivante, et ainsi de suite. Lorsqu’elle est ajoutée à une scène en tant que couche voxel discrète, la symbologie de valeur unique applique les valeurs d’origine du champ de catégorie en tant qu’étiquettes aux entiers.
Lorsque les valeurs d’un champ de catégorie sont des entiers, les entiers représentant les catégories dans le fichier netCDF sont généralement différents des entiers d’origine dans le champ de catégorie. Les étiquettes de symbologie de la couche voxel peuvent être utilisées pour déterminer les catégories d’entiers d’origine.
Lors de la mise en page de la grille 3D de points qui représentera les voxels, le premier point est créé avec les coordonnées x, y et z minimales de l’étendue en sortie (par défaut, l’étendue des entités en entrée). Les points restants sont créés en itérant les distances des paramètres Espacement sur l’axe x, Espacement sur l’axe y et Espacement sur l’axe d’élévation sur les dimensions de l’étendue en sortie. Si certaines distances d’espacement ne divisent pas équitablement la dimension correspondante de l’étendue en sortie, une ligne ou colonne de points est créée au-delà de l’étendue en sortie. Par exemple, si l’étendue en sortie pour x est spécifiée comme comprise entre 0 et 10 et que le paramètre Espacement sur l’axe x a la valeur 3, la sortie comportera 4 lignes dans l’étendue x : 0, 3, 6, 9 et 12. De même, une ligne ou colonne supplémentaire est créée si les distances d’espacement ne divisent pas équitablement les étendues y ou z.
Si des polygones de zone d’étude en entrée sont fournis, l’étendue de la zone d’étude est utilisée comme étendue en sortie par défaut et les valeurs des paramètres Espacement sur l’axe x et Espacement sur l’axe y sont recalculées en fonction de cette étendue. Cela permet de s’assurer que la sortie occupera entièrement la zone d’étude par défaut.
Si les entités en entrée contiennent des points coïncidents (points possédant les mêmes coordonnées x, y et z) avec des valeurs de champ de catégorie différentes, la première catégorie alphanumérique sera utilisée à l’emplacement.
Si des entités en entrée sont sélectionnées, les valeurs des paramètres Espacement sur l’axe x, Espacement sur l’axe y et Espacement sur l’axe d’élévation sont recalculées lors de l’exécution de l’outil en fonction de l’étendue des entités sélectionnées. Les valeurs recalculées sont indiquées dans des messages d’avertissement une fois l’exécution de l’outil terminée. Si vous fournissez manuellement une valeur pour un paramètre d’espacement (ou si vous fournissez une étendue en sortie), la valeur n’est pas recalculée.
Paramètres
arcpy.ga.NearestNeighbor3D(in_features, category_field, out_netcdf_file, {x_spacing}, {y_spacing}, {elevation_spacing}, {elev_inflation_factor}, {in_study_area}, {min_elev_raster}, {max_elev_raster})
Nom | Explication | Type de données |
in_features | Points en entrée représentant les localisations dont les catégories sont connues en 3D. Les points doivent se trouver dans un système de coordonnées projetées et trois points au moins doivent exister. | Feature Layer |
category_field [category_field,...] | Champs des entités en entrée contenant les catégories de chaque point. Pour chaque champ, les valeurs uniques du champ représentent les catégories du champ. Chaque champ doit être de type texte, entier court ou entier long. Par exemple, vous pouvez fournir un champ de classe de sol (schiste, sable, argile, etc.) et un champ de couleur de sol (jaune, brun, blanc, etc.). Chaque voxel dans le fichier netCDF en sortie stocke la classe de sol et la couleur de sol les plus proches sous forme de variables distinctes. | Field |
out_netcdf_file | Fichier netCDF en sortie contenant les catégories dans une grille 3D. Chaque point dans la grille 3D se voit affecter la catégorie du point en entrée le plus proche. Ce fichier peut être utilisé comme source de données d’une couche voxel. | File |
x_spacing (Facultatif) | Espacement entre chaque point maillé dans la dimension x. La valeur par défaut crée 40 points le long de l’étendue x en sortie. | Linear Unit |
y_spacing (Facultatif) | Espacement entre chaque point maillé dans la dimension y. La valeur par défaut crée 40 points le long de l’étendue y en sortie. | Linear Unit |
elevation_spacing (Facultatif) | Espacement entre chaque point maillé dans la dimension d’élévation (z). La valeur par défaut crée 40 points le long de l’étendue z en sortie. | Linear Unit |
elev_inflation_factor (Facultatif) | Valeur constante multipliée par l’élévation (coordonnées z) des points en entrée avant l’identification du voisin le plus proche. Les valeurs supérieures à 1 permettent d’effectuer une recherche plus loin horizontalement que verticalement pour trouver le voisin le plus proche. Par exemple, avec la valeur 10, chaque voxel effectuera une recherche 10 fois plus loin horizontalement que verticalement pour trouver le voisin le plus proche. La valeur par défaut est 1, ce qui signifie que les élévations ne sont pas ajustées. La valeur doit être comprise entre 1 et 1 000. L’inflation de l’élévation est utilisée uniquement pour trouver le voisin le plus proche, et l’échelle originale de toutes les élévations est restaurée avant la création du fichier netCDF en sortie. L’inflation de l’élévation est recommandée lorsque les catégories des points en entrée tendent à être similaires le long de la strate horizontale, comme c’est le cas avec les classes de sol et les types de roche. | Double |
in_study_area (Facultatif) | Entités surfaciques qui représentent la zone d’étude. Seuls les points qui se trouvent dans la zone d’étude sont enregistrés dans le fichier netCDF en sortie. En cas d’affichage sous forme de couche voxel, seuls les voxels dans la zone d’étude s’affichent dans la scène. Les points sont déterminés comme étant à l’intérieur ou à l’extérieur de la zone d ’étude avec uniquement leurs coordonnées x et y. | Feature Layer |
min_elev_raster (Facultatif) | Raster d’élévation qui sera utilisé pour découper le bas de la couche voxel. Seuls les voxels se trouvant au-dessus de ce raster d’élévation se verront affecter une catégorie. Par exemple, si vous utilisez un raster d’élévation du sol, la couche voxel ne sera affichée qu’au-dessus de la surface. Ce raster peut aussi être utilisé pour les surfaces de substrat rocheux ou le fond d’un dépôt de schiste. Le raster doit se trouver dans un système de coordonnées projetées et l’unité des valeurs d’élévation doit être identique à l’unité verticale du raster. | Raster Layer |
max_elev_raster (Facultatif) | Raster d’élévation qui sera utilisé pour découper le haut de la couche voxel. Seuls les voxels se trouvant sous ce raster d’élévation se verront affecter une catégorie. Par exemple, si vous utilisez un raster d’élévation du sol, la couche voxel ne sera affichée que sous la surface. Ce raster peut aussi être utilisé pour découper des voxels sur la partie supérieure d’un espace aérien restreint. Le raster doit se trouver dans un système de coordonnées projetées et l’unité des valeurs d’élévation doit être identique à l’unité verticale du raster. | Raster Layer |
Exemple de code
Le script Python ci-dessous montre comment utiliser la fonction NearestNeighbor3D.
# Create a voxel layer source file of 3D soil class points within a field
# and between a bedrock layer and the ground.
arcpy.ga.NearestNeighbor3D("SoilPoints", "SoilClass","outputNCDF.nc",
"50 Meters", "50 Meters", "5 Meters", 1,
"MyStudyArea", "Bedrock.tif", "WorldElevation3D")
Le script Python ci-dessous montre comment utiliser la fonction NearestNeighbor3D.
# Name: NearestNeighbor3D_Example_02.py
# Description: Creates a voxel layer source file from 3D categorical points.
# Requirements: Geostatistical Analyst Extension
# Author: Esri
# Create a voxel layer source file of 3D soil class points within a field
# and between a bedrock layer and the ground.
# Import system modules
import arcpy
# Allow overwriting output
arcpy.env.overwriteOutput = True
# Define 3D input points with categories
in3DPoints = "C:/gapydata/inputs.gdb/my3DSoilPoints"
categoryField = "SoilClass"
outNetCDF = "C:/gapydata/outputs/SoilClassVoxel.nc"
# Define voxel dimensions and elevation inflation
xSpacing = "50 Meters"
ySpacing = "50 Meters"
elevSpacing = "5 Meters"
elevInflation = 1
# Define study area, bedrock elevation layer, and ground elevation layer
studyArea = "C:/gapydata/inputs.gdb/StudyAreaPolygon"
minElevRaster = "C:/gapydata/inputs.gdb/BedrockDepth"
maxElevRaster = "C:/gapydata/inputs.gdb/WorldElevationDEM"
# Check out the ArcGIS Geostatistical Analyst extension license
arcpy.CheckOutExtension("GeoStats")
# Execute Nearest Neighbor 3D
arcpy.ga.NearestNeighbor3D(in3DPoints, categoryField,outNetCDF,
xSpacing, ySpacing, elevSpacing,
elevInflation, studyArea, minElevRaster,
maxElevRaster)
Environnements
Informations de licence
- Basic: Nécessite Geostatistical Analyst
- Standard: Nécessite Geostatistical Analyst
- Advanced: Nécessite Geostatistical Analyst
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?