Curvas de nivel (Spatial Analyst)

Resumen

Crea una clase de entidad de curvas de nivel a partir de una superficie de ráster.

Más información sobre cómo funciona Curvas de nivel

Uso

  • Las curvas de nivel no se extienden más allá de la extensión espacial del ráster y no se generan en áreas de NoData. Las curvas de nivel adyacentes con coincidencia de bordes se introducen primero en un dataset de entidades continuas. Como alternativa del ajuste de bordes, puede fusionar los rásteres adyacentes antes de computar las curvas de nivel.

    Sin embargo, los polígonos de curvas de nivel se extrapolan al eje exterior del ráster cuando Tipo de curva de nivel no es igual que Curva de nivel.

  • Las curvas de nivel se pueden generar en áreas de valores de ráster negativos. Los valores de las curvas de nivel serán negativos en dichas áreas. No se permiten los intervalos negativos de las curvas de nivel.

  • Se pueden obtener curvas de nivel más suaves, pero menos precisas procesando previamente el ráster de entrada con la herramienta Estadísticas focalizadas con la opción Valor medio o con la herramienta Filtro con la opción Bajo.

  • Una curva de nivel base se usa, por ejemplo, para crear curvas de nivel cada 15 metros, comenzando a los 10 metros. En este caso, se utiliza 10 para la curva de base y 15 para el intervalo de curvas de nivel. Los valores en los que se generará una curva de nivel son 10, 25, 40, 55, etc.

  • Especificar una curva de nivel base no evita que las curvas de nivel se creen por encima o por debajo de ese valor.

  • Tipo de curva de nivel se utiliza para generar líneas o polígonos de curvas de nivel. Por ejemplo, si tiene un ráster con valores entre el 0 y el 575 y su intervalo de curvas de nivel es 250, estas son las distintas clases de entidad de salida que se crearán: Se presenta la salida real, así como los polígonos de cada componente por separado.

    • CONTOUR: líneas en 250 y 500
    • CONTOUR_POLYGON: polígonos que no se superponen entre 0-250, 250-500 y 500-575 (Fig. 1)

      Polígonos entre 0-250, 250-500 y 500-575

      Figura 1. La opción de polígono Curva de nivel crea tres polígonos no superpuestos entre 0-250, 250-500 y 500-575.

    • CONTOUR_SHELL: polígonos que se superponen entre 0-575, 0-500 y 0-250 (Fig. 2)

      Polígonos entre 0-575, 0-500 y 0-250

      Figura 2. La opción Polígonos descendentes crea tres polígonos superpuestos entre 0-575, 0-500 y 0-250.

    • CONTOUR_SHELL_UP: polígonos superpuestos entre 0-575, 250-575 y 500-575 (Fig. 3)

      Polígonos entre 0-575, 250-575 y 500-575

      Figura 3. La opción Polígono ascendente crea tres polígonos ascendentes entre 0-575, 250-575 y 500-575.

  • El parámetro Máximo de vértices por entidad se puede utilizar para subdividir una entidad. Solo se debe utilizar si las entidades de salida contendrán un número de vértices muy elevado (muchos millones). Este parámetro produce una salida similar a la creada por la herramienta Subdividir.

    Este parámetro se ha concebido como una forma de subdividir entidades extremadamente grandes que pueden causar problemas más adelante, por ejemplo, al almacenar, analizar o dibujar las entidades.

    La elección de un límite depende de la memoria disponible en el equipo en el que se ejecuta la herramienta y el tamaño de la entidad (las entidades de mayor tamaño requieren más memoria). La mayoría de equipos modernos que ejecutan software de 64 bits normalmente no presentan problemas con entidades individuales que contienen cientos de miles o millones de vértices. Si detecta cualquier problema, configurar este parámetro con un valor grande, como 1 millón, podría solventar problemas debidos al tamaño de una entidad.

    El parámetro de límite de vértices se puede utilizar para subdividir una entidad. Solo se debe utilizar si las entidades de salida contendrán un número de vértices muy elevado (muchos millones).

  • De forma predeterminada, esta herramienta utilizará procesadores multinúcleo si están disponibles. Se pueden utilizar cuatro núcleos como máximo.

    Para utilizar menos núcleos, utilice el ajuste de entorno Factor de procesamiento en paralelo.

  • Si se especifica el entorno Extensión en y la esquina inferior izquierda de la extensión de salida no coincide con la esquina de ninguna celda en el ráster de entrada, se realizará un desplazamiento de la alineación de la celda del ráster de entrada durante el procesamiento para que coincida con la extensión especificada. Este desplazamiento activará un remuestreo del ráster de entrada utilizando el método Bilineal. Por consiguiente, las entidades de salida también se desplazarán y puede que las entidades de salida resultantes no se superpongan exactamente con el ráster de entrada original. Puede evitar este desplazamiento con el ráster de entrada para el entorno Ráster de alineación.

Parámetros

EtiquetaExplicaciónTipo de datos
Ráster de entrada

Ráster de entrada de superficie.

Raster Layer
Clase de entidad de salida

Entidades de curvas de nivel de salida.

Feature Class
Intervalo de curvas de nivel

El intervalo o la distancia entre las líneas de curvas de nivel.

Éste puede ser cualquier número positivo.

Double
Curvas de nivel base
(Opcional)

El valor de la curva de nivel base.

Las curvas de nivel se generan por encima y por debajo de este valor según se necesite cubrir el rango de valor completo del ráster de entrada. El valor predeterminado es cero.

Double
Factor z
(Opcional)

El factor de conversión de la unidad que se utiliza al generar curvas de nivel. El valor predeterminado es 1.

Las líneas de curvas de nivel se generan con base en los valores z en el ráster de entrada, que a menudo se miden en unidades de metros o pies. Con el valor predeterminado de 1, las curvas de nivel estarán en las mismas unidades que los valores z del ráster de entrada. Para crear curvas de nivel en una unidad diferente a la de los valores z, establezca un valor adecuado para el factor z. Para esta herramienta no es necesario que las unidades x,y de terreno y z de superficie concuerden.

Por ejemplo, si los valores de elevación del ráster de entrada están en pies, pero desea que las curvas de nivel sean generadas basándose en unidades en metros, establezca el factor z en 0,3048 (1 pie = 0,3048 metros).

Para ver otro ejemplo, considere un ráster de entrada en coordenadas geográficas WGS84 y unidades de elevación de metros para las que desea generar líneas de curvas de nivel cada 100 pies con una base de 50 pies (de modo que las curvas de nivel serán de 50 pies, 150 pies, 250 pies, etc.). Para ello, defina Intervalo de curvas de nivel en 100, Curva de nivel base en 50 y Factor z en 3,2808 (1 metro = 3,2808 pies).

Double
Tipo de curva de nivel
(Opcional)

Especifica el tipo de salida. La salida puede representar las curvas de nivel como líneas o polígonos. Existen varias opciones para los polígonos.

  • Curvas de nivelUna clase de entidad de polilínea de curvas de nivel (isolíneas). Esta es la opción predeterminada.
  • PolígonoUna clase de entidad de polígono de curvas de nivel rellenas.
  • Polígonos descendentesUna clase de entidad de polígono en la que el límite superior del polígono aumenta de forma acumulada, según el valor del intervalo. El límite inferior permanece constante al mínimo del ráster.
  • Polígonos ascendentesUna clase de entidad de polígono en la que el límite inferior del polígono aumenta de forma acumulada, a partir del mínimo del ráster, según el valor del intervalo. El límite superior permanece constante al máximo del ráster.
String
Máximo de vértices por entidad
(Opcional)

El límite de vértices al subdividir una entidad. Solo se debe utilizar si las entidades de salida contienen un número de vértices muy elevado (muchos millones).

Este parámetro se ha concebido como una forma de subdividir entidades extremadamente grandes que pueden causar problemas más adelante, por ejemplo, al almacenar, analizar o dibujar las entidades.

Si se deja vacío, las entidades de salida no se dividen. El valor predeterminado es que esté vacío.

Long

Contour(in_raster, out_polyline_features, contour_interval, {base_contour}, {z_factor}, {contour_type}, {max_vertices_per_feature})
NombreExplicaciónTipo de datos
in_raster

Ráster de entrada de superficie.

Raster Layer
out_polyline_features

Entidades de curvas de nivel de salida.

Feature Class
contour_interval

El intervalo o la distancia entre las líneas de curvas de nivel.

Éste puede ser cualquier número positivo.

Double
base_contour
(Opcional)

El valor de la curva de nivel base.

Las curvas de nivel se generan por encima y por debajo de este valor según se necesite cubrir el rango de valor completo del ráster de entrada. El valor predeterminado es cero.

Double
z_factor
(Opcional)

El factor de conversión de la unidad que se utiliza al generar curvas de nivel. El valor predeterminado es 1.

Las líneas de curvas de nivel se generan con base en los valores z en el ráster de entrada, que a menudo se miden en unidades de metros o pies. Con el valor predeterminado de 1, las curvas de nivel estarán en las mismas unidades que los valores z del ráster de entrada. Para crear curvas de nivel en una unidad diferente a la de los valores z, establezca un valor adecuado para el factor z. Para esta herramienta no es necesario que las unidades x,y de terreno y z de superficie concuerden.

Por ejemplo, si los valores de elevación del ráster de entrada están en pies, pero desea que las curvas de nivel sean generadas basándose en unidades en metros, establezca el factor z en 0,3048 (1 pie = 0,3048 metros).

Para ver otro ejemplo, considere un ráster de entrada en coordenadas geográficas WGS84 y unidades de elevación de metros para las que desea generar líneas de curvas de nivel cada 100 pies con una base de 50 pies (de modo que las curvas de nivel serán de 50 pies, 150 pies, 250 pies, etc.). Para ello, defina contour_interval en 100, base_contour en 50 y z_factor en 3,2808 (1 metro = 3,2808 pies).

Double
contour_type
(Opcional)

Especifica el tipo de salida. La salida puede representar las curvas de nivel como líneas o polígonos. Existen varias opciones para los polígonos.

  • CONTOURUna clase de entidad de polilínea de curvas de nivel (isolíneas). Esta es la opción predeterminada.
  • CONTOUR_POLYGONUna clase de entidad de polígono de curvas de nivel rellenas.
  • CONTOUR_SHELLUna clase de entidad de polígono en la que el límite superior del polígono aumenta de forma acumulada, según el valor del intervalo. El límite inferior permanece constante al mínimo del ráster.
  • CONTOUR_SHELL_UPUna clase de entidad de polígono en la que el límite inferior del polígono aumenta de forma acumulada, a partir del mínimo del ráster, según el valor del intervalo. El límite superior permanece constante al máximo del ráster.
String
max_vertices_per_feature
(Opcional)

El límite de vértices al subdividir una entidad. Solo se debe utilizar si las entidades de salida contienen un número de vértices muy elevado (muchos millones).

Este parámetro se ha concebido como una forma de subdividir entidades extremadamente grandes que pueden causar problemas más adelante, por ejemplo, al almacenar, analizar o dibujar las entidades.

Si se deja vacío, las entidades de salida no se dividen. El valor predeterminado es que esté vacío.

Long

Muestra de código

Ejemplo 1 de Curvas de nivel (ventana de Python)

En este ejemplo se crean curvas de nivel a partir de un ráster Esri Grid y se genera un shapefile como resultado.

import arcpy
from arcpy import env  
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
Contour("elevation", "C:/sapyexamples/output/outcontours.shp", 200, 0)
Ejemplo 2 de Curvas de nivel (secuencia de comandos independiente)

En este ejemplo se crean curvas de nivel a partir de un ráster Esri Grid y se genera un shapefile como resultado.

# Name: Contour_Ex_02.py
# Description: Creates contours or isolines from a raster surface.
# 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 = "elevation"
contourInterval = 200
baseContour = 0
outContours = "C:/sapyexamples/output/outcontours02.shp"

# Execute Contour
Contour(inRaster, outContours, contourInterval, baseContour)