Voisin le plus proche 3D (Geostatistical Analyst)

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.

En savoir plus sur les couches voxel

Illustration

Illustration de l’outil Voisin le plus proche 3D
Une couche voxel représente les classes de sol et de roche du point 3D le plus proche.

Utilisation

  • Si l’outil s’exécute dans une scène locale avec les mêmes systèmes de coordonnées horizontales et verticales que les entités en entrée, une couche voxel est ajoutée à la scène pour vous permettre d’explorer interactivement les résultats. Vous pouvez également ajouter le fichier netCDF en sortie en tant que couche voxel à l’aide de l’outil Générer une couche voxel multidimensionnelle ou de la boîte de dialogue Ajouter une couche voxel multidimensionnelle.

    Vous pouvez convertir le fichier netCDF en sortie en raster multidimensionnel à l’aide de l’outil Copier un raster. Vous pouvez également l’ajouter à une carte 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 valeur et ne seront pas affichés. Par exemple, si les points se trouvent dans une réserve marine, vous pouvez créer une couche voxel qui ne s’affiche que dans un polygone de la réserve (zone d’étude), au-dessus du plancher océanique (raster d’élévation minimale) et sous la thermocline (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 des erreurs peuvent se produire 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

ÉtiquetteExplicationType 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 des prévisions. 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 des prévisions. 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

Sortie obtenue

ÉtiquetteExplicationType de données
Couche voxel en sortie

Couche voxel des catégories.

Voxel Layer

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})
NomExplicationType 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 des prévisions. 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 des prévisions. 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

Sortie obtenue

NomExplicationType de données
out_voxel_layer

Couche voxel des catégories.

Voxel Layer

Exemple de code

Exemple 1 d’utilisation de la fonction NearestNeighbor3D (fenêtre Python)

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")
Exemple 2 d’utilisation de la fonction NearestNeighbor3D (script autonome)

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)

Informations de licence

  • Basic: Nécessite Geostatistical Analyst
  • Standard: Nécessite Geostatistical Analyst
  • Advanced: Nécessite Geostatistical Analyst

Rubriques connexes