Vecino más cercano 3D (Geostatistical Analyst)

Disponible con una licencia de Geostatistical Analyst.

Resumen

Crea un archivo fuente de capa devóxel (netCDF) a partir de puntos 3D categóricos asignando a cada de vóxel la categoría del vecino más cercano en 3D.

Más información sobre las capas de vóxel

Ilustración

Ilustración de la herramienta Vecino más cercano 3D
Una capa vóxel muestra las clases de suelo y roca del punto 3D más cercano.

Uso

  • El parámetro Archivo netCDF de salida no agregará automáticamente capas al mapa o la escena. Para renderizar la salida como una capa de vóxel, se debe agregar a una escena local con el mismo sistema de coordenadas horizontales y verticales que el archivo netCDF. También se puede agregar a un mapa o escena como una capa de entidades o ráster con la herramienta Crear capa de entidades NetCDF o con la herramienta Crear capa ráster NetCDF, respectivamente.

  • Las entidades de entrada deben ser puntos 3D con elevaciones almacenadas en el atributo de geometría Shape.Z. Puede convertir entidades de puntos 2D con un campo de elevación en entidades de puntos 3D mediante la herramienta De entidad a 3D por atributo.

    Se recomienda que las entidades de entrada tengan un sistema de coordenadas verticales que defina con precisión sus coordenadas z. Puede asignar un sistema de coordenadas verticales a los puntos mediante la herramienta Definir proyección.

  • Si se especifican varios campos en el parámetro Campos de categoría, el archivo netCDF de salida contendrá una variable distinta para cada campo. Cada variable tendrá el mismo nombre que el campo de la categoría. Puede elegir la variable a mostrar en una escena al añadir la capa vóxel a una escena.

    Por ejemplo, puede proporcionar un campo de clases de suelo (lutita, arena, arcilla, etc.) y un segundo campo de color del suelo, y cada vóxel en el archivo netCDF de salida contendrá la clase de suelo y el color del suelo del vecino más cercano.

  • Los parámetros Polígonos de área de estudio de entrada, Ráster de recorte de elevación mínima y Ráster de recorte de elevación máxima puede utilizarse para limitar el análisis dentro de un área de estudio específica y entre dos superficies de elevación. Cualquier vóxel fuera de estos límites no tendrá categoría y no se mostrará. Por ejemplo, si los puntos representan clases de suelo dentro de una urbanización, puede crear una capa vóxel que se muestre solo dentro de un polígono de una urbanización (área de estudio), por encima de una capa de roca firme (ráster de elevación mínima) y por debajo del suelo (ráster de elevación máxima).

    Hay varias consideraciones para utilizar las superficies de elevación como rásteres de elevación mínima o máxima. Los servicios de imágenes, las capas de elevación web y las capas de imágenes web tendrán el rendimiento más lento y pueden experimentar errores para un gran número de consultas. Los rásteres guardados como archivos locales en disco tendrán el rendimiento más rápido y se recomiendan cuando se crean capas vóxel de alta resolución en grandes extensiones espaciales.

  • El recuento y el porcentaje del número de vóxeles de cada categoría se devolverán como mensajes de geoprocesamiento. Los vóxeles con valores nulos (como los vóxeles fuera de los polígonos del área de estudio de entrada) no se incluirán en los recuentos o porcentajes. Si se proporcionan varios campos de categoría, se devolverán mensajes independientes para cada campo.

  • Las entidades de entrada y los rásteres de recorte de elevación mínima y máxima deben estar en un sistema de coordenadas proyectadas. Si los puntos o rásteres tienen un sistema de coordenadas geográficas con coordenadas de latitud y longitud, deben proyectarse a un sistema de coordenadas proyectadas mediante la herramienta Proyecto o Proyectar ráster.

  • Para cada campo de categoría, cada valor único se guardará en el archivo netCDF de salida como un número entero. Tras ordenar (de forma ascendente) los valores únicos, a la primera categoría se le asigna el número entero 0; a la siguiente, el número entero 1; y así sucesivamente. Cuando se añade a una escena como una capa vóxel discreta, la simbología de valor único aplica los valores originales del campo de categoría como etiquetas a los enteros.

    Cuando los valores de un campo de categoría son enteros, los enteros que representan las categorías en el archivo netCDF serán generalmente diferentes de los enteros originales del campo de categoría. Las etiquetas de simbología de la capa vóxel pueden utilizarse para determinar las categorías de enteros originales.

  • Cuando se establece la cuadrícula 3D de puntos que representarán los vóxeles, el primer punto se crea en las coordenadas x, y y z mínimas de la extensión de salida (por defecto, la extensión de las entidades de entrada). Los puntos restantes se crean al iterar las distancias de los parámetros Espaciado X, Espaciado Y y Espaciado de elevación a través de las dimensiones de la extensión de salida. Si alguna de las distancias de espaciado no divide uniformemente la dimensión correspondiente de la extensión de salida, se creará una fila o columna de puntos más allá de la extensión de salida. Por ejemplo, si la extensión de salida para x se especifica como 0 a 10 y el parámetro Espaciado X se especifica como 3, la salida tendrá cinco filas en la extensión x: 0, 3, 6, 9 y 12. Del mismo modo, se creará una fila o columna de puntos adicional si las distancias de espaciado no dividen uniformemente las extensiones y o z.

  • Si se proporcionan polígonos de área de estudio de entrada, la extensión del área de estudio se utilizará como la extensión de salida predeterminada y los valores de los parámetros Espaciado X y Espaciado Y se recalcularán según esta extensión. Así se garantiza que la salida rellene toda el área de estudio de forma predeterminada.

  • Si las entidades de entrada contienen puntos coincidentes (puntos con la misma coordenada x, y y z) que tienen diferentes valores del campo de categoría, se utilizará la primera categoría alfanumérica en la ubicación.

  • Si las entidades de entrada tienen una selección, los valores de los parámetros de Espaciado X, Espaciado Y y Espaciado de elevación se recalcularán mientras se ejecuta la herramienta en función de la extensión de las entidades seleccionadas. Los valores recalculados se imprimirán como mensajes de advertencia cuando la herramienta finalice. Si proporciona manualmente un valor para un parámetro de espaciado (o proporciona una extensión de salida), el valor no se recalculará.

Parámetros

EtiquetaExplicaciónTipo de datos
Entidades de entrada

Los puntos de entrada representan ubicaciones con categorías conocidas en 3D. Los puntos deben estar en un sistema de coordenadas proyectadas y debe haber al menos tres puntos.

Feature Layer
Campos de categoría

Los campos de las entidades de entrada que contienen las categorías de cada punto. Para cada campo, los valores únicos del campo representan las categorías del campo. Cada campo debe ser de tipo Texto, Corto o Largo.

Por ejemplo, puede proporcionar un campo de clases de suelo (lutita, arena, arcilla, etc.) y un segundo campo del color del suelo (amarillo, marrón, blanco, etc.). Cada vóxel en el archivo netCDF de salida almacenará la clase de suelo más cercana y el color del suelo como variables independientes.

Field
Archivo netCDF de salida

El archivo netCDF de salida que contiene las categorías en una cuadrícula 3D. A cada punto de la cuadrícula 3D se le asigna la categoría del punto de entrada más cercano. Este archivo puede utilizarse como fuente de datos de una capa vóxel.

File
Espaciado X
(Opcional)

El espaciado entre cada punto de cuadrícula de la dimensión x. El valor predeterminado crea 40 puntos a lo largo de la extensión x de salida.

Linear Unit
Espaciado Y
(Opcional)

El espaciado entre cada punto de cuadrícula de la dimensión y. El valor predeterminado crea 40 puntos a lo largo de la extensión y de salida.

Linear Unit
Espaciado de elevación
(Opcional)

El espaciado entre cada punto de cuadrícula de la dimensión (z) de elevación. El valor predeterminado crea 40 puntos a lo largo de la extensión z de salida.

Linear Unit
Factor de inflación de elevación
(Opcional)

Un valor constante que se multiplica por la elevación (coordenadas z) de los puntos de entrada antes de encontrar el vecino más cercano. Los valores superiores a 1 buscarán más lejos horizontalmente que verticalmente para encontrar al vecino más cercano. Por ejemplo, un valor de 10 significa que cada vóxel buscará 10 veces más lejos horizontalmente que verticalmente para encontrar al vecino más cercano. El valor predeterminado es 1, lo que significa que las elevaciones no se ajustan. El valor debe estar entre 1 y 1.000.

La inflación de elevación solo se utiliza para encontrar el vecino más cercano y todas las elevaciones se devuelven a la escala original antes de crear el archivo netCDF de salida. Se recomienda la inflación de elevación cuando las categorías de los puntos de entrada tienden a ser similares a lo largo de los estratos horizontales, como ocurre con las clases de suelo y los tipos de roca.

Double
Polígonos de área de estudio de entrada
(Opcional)

Las entidades poligonales que representan el área de estudio. Solo los puntos que se encuentran dentro del área de estudio se guardan en el archivo netCDF de salida. Cuando se visualizan como una capa de vóxel, solo se mostrarán en la escena los vóxeles dentro del área de estudio. Se determina si los puntos están dentro o fuera del área de estudio usando solo sus coordenadas x e y.

Feature Layer
Ráster de recorte de elevación mínima
(Opcional)

El ráster de elevación que se utilizará para recortar la parte inferior de la capa vóxel. Solo se asignarán categorías a los vóxeles que estén por encima de este ráster de elevación. Por ejemplo, si se utiliza un ráster de elevación del terreno, la capa vóxel solo se mostrará por encima de la superficie. También puede utilizarse para las superficies de roca firme o el fondo de un depósito de lutita.

El ráster debe estar en un sistema de coordenadas proyectadas y los valores de elevación deben estar en la misma unidad que la unidad vertical del ráster.

Raster Layer
Ráster de recorte de elevación máxima
(Opcional)

El ráster de elevación que se utilizará para recortar la parte superior de la capa vóxel. Solo se asignarán categorías a los vóxeles que estén por debajo de este ráster de elevación. Por ejemplo, si se utiliza un ráster de elevación del terreno, la capa vóxel solo se mostrará por debajo de la superficie. También puede utilizarse para recortar vóxeles en la parte superior de un espacio aéreo restringido.

El ráster debe estar en un sistema de coordenadas proyectadas y los valores de elevación deben estar en la misma unidad que la unidad vertical del ráster.

Raster 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})
NombreExplicaciónTipo de datos
in_features

Los puntos de entrada representan ubicaciones con categorías conocidas en 3D. Los puntos deben estar en un sistema de coordenadas proyectadas y debe haber al menos tres puntos.

Feature Layer
category_field
[category_field,...]

Los campos de las entidades de entrada que contienen las categorías de cada punto. Para cada campo, los valores únicos del campo representan las categorías del campo. Cada campo debe ser de tipo Texto, Corto o Largo.

Por ejemplo, puede proporcionar un campo de clases de suelo (lutita, arena, arcilla, etc.) y un segundo campo del color del suelo (amarillo, marrón, blanco, etc.). Cada vóxel en el archivo netCDF de salida almacenará la clase de suelo más cercana y el color del suelo como variables independientes.

Field
out_netcdf_file

El archivo netCDF de salida que contiene las categorías en una cuadrícula 3D. A cada punto de la cuadrícula 3D se le asigna la categoría del punto de entrada más cercano. Este archivo puede utilizarse como fuente de datos de una capa vóxel.

File
x_spacing
(Opcional)

El espaciado entre cada punto de cuadrícula de la dimensión x. El valor predeterminado crea 40 puntos a lo largo de la extensión x de salida.

Linear Unit
y_spacing
(Opcional)

El espaciado entre cada punto de cuadrícula de la dimensión y. El valor predeterminado crea 40 puntos a lo largo de la extensión y de salida.

Linear Unit
elevation_spacing
(Opcional)

El espaciado entre cada punto de cuadrícula de la dimensión (z) de elevación. El valor predeterminado crea 40 puntos a lo largo de la extensión z de salida.

Linear Unit
elev_inflation_factor
(Opcional)

Un valor constante que se multiplica por la elevación (coordenadas z) de los puntos de entrada antes de encontrar el vecino más cercano. Los valores superiores a 1 buscarán más lejos horizontalmente que verticalmente para encontrar al vecino más cercano. Por ejemplo, un valor de 10 significa que cada vóxel buscará 10 veces más lejos horizontalmente que verticalmente para encontrar al vecino más cercano. El valor predeterminado es 1, lo que significa que las elevaciones no se ajustan. El valor debe estar entre 1 y 1.000.

La inflación de elevación solo se utiliza para encontrar el vecino más cercano y todas las elevaciones se devuelven a la escala original antes de crear el archivo netCDF de salida. Se recomienda la inflación de elevación cuando las categorías de los puntos de entrada tienden a ser similares a lo largo de los estratos horizontales, como ocurre con las clases de suelo y los tipos de roca.

Double
in_study_area
(Opcional)

Las entidades poligonales que representan el área de estudio. Solo los puntos que se encuentran dentro del área de estudio se guardan en el archivo netCDF de salida. Cuando se visualizan como una capa de vóxel, solo se mostrarán en la escena los vóxeles dentro del área de estudio. Se determina si los puntos están dentro o fuera del área de estudio usando solo sus coordenadas x e y.

Feature Layer
min_elev_raster
(Opcional)

El ráster de elevación que se utilizará para recortar la parte inferior de la capa vóxel. Solo se asignarán categorías a los vóxeles que estén por encima de este ráster de elevación. Por ejemplo, si se utiliza un ráster de elevación del terreno, la capa vóxel solo se mostrará por encima de la superficie. También puede utilizarse para las superficies de roca firme o el fondo de un depósito de lutita.

El ráster debe estar en un sistema de coordenadas proyectadas y los valores de elevación deben estar en la misma unidad que la unidad vertical del ráster.

Raster Layer
max_elev_raster
(Opcional)

El ráster de elevación que se utilizará para recortar la parte superior de la capa vóxel. Solo se asignarán categorías a los vóxeles que estén por debajo de este ráster de elevación. Por ejemplo, si se utiliza un ráster de elevación del terreno, la capa vóxel solo se mostrará por debajo de la superficie. También puede utilizarse para recortar vóxeles en la parte superior de un espacio aéreo restringido.

El ráster debe estar en un sistema de coordenadas proyectadas y los valores de elevación deben estar en la misma unidad que la unidad vertical del ráster.

Raster Layer

Muestra de código

Ejemplo de NearestNeighbor3D 1 (ventana de Python)

En el siguiente script de Python se muestra cómo utilizar la función 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")
Ejemplo de NearestNeighbor3D 2 (script independiente)

En el siguiente script de Python se muestra cómo utilizar la función 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)

Información de licenciamiento

  • Basic: Requiere Geostatistical Analyst
  • Standard: Requiere Geostatistical Analyst
  • Advanced: Requiere Geostatistical Analyst

Temas relacionados