Disponible con una licencia de Spatial Analyst.
Disponible con una licencia de 3D Analyst.
Resumen
Crea una clase de entidad de curvas de nivel a partir de una superficie de ráster.
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; por lo tanto, las entradas de las curvas de nivel adyacentes primero deberían ajustar sus bordes en un dataset de entidades continuo. Como alternativa del ajuste de bordes, puede fusionar los rásteres adyacentes antes de computar las curvas de nivel.
Sin embargo, los polígonos se extrapolan al eje exterior del ráster cuando Tipo de curva de nivel no es igual que Contour.
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.
Si la extensión ArcGIS Spatial Analyst está disponible, se pueden obtener curvas de nivel más suaves pero menos precisas procesando previamente el ráster de entrada con una operación de Estadísticas focalizadas con la opción Media o con la herramienta Filtro con la opción Bajo.
Una curva de nivel base se usa, por ejemplo, para curvas de nivel cada 15 metros, comenzando a los 10 metros. En este caso, se usa 10 para la curva de nivel base y 15 es el intervalo de curvas de nivel. Los valores empleados para las curvas de nivel son 10, 25, 40, 55 y así sucesivamente.
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, las distintas clases de entidad de salida que se crean se enumeran a continuación. Se presenta la salida real, así como los polígonos componentes individuales por separado.
- CONTOUR: líneas en 250 y 500
- CONTOUR_POLYGON: polígonos no superpuestos entre 0-250, 250-500 y 500-575 (Fig. 1)
Figura 1. La opción Polígono de contorno crea tres polígonos no superpuestos entre 0-250, 250-500 y 500-575. - CONTOUR_SHELL: polígonos superpuestos entre 0-575, 0-500 y 0-250 (Fig. 2)
Figura 2. La opción Polígono descendente 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)
Figura 3. La opción Polígono ascendente crea tres polígonos superpuestos 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 aprovecha los procesadores multinúcleo. El número máximo de núcleos que se pueden utilizar es cuatro.
Para utilizar menos núcleos, use la configuración del entorno parallelProcessingFactor.
Si se especifica Extensión en la configuración del entorno 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, durante el procesamiento se realizará un desplazamiento de la alineación de la celda del ráster de entrada 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 utilizando el ráster de entrada como Ráster de alineación en el entorno.
Sintaxis
Contour(in_raster, out_polyline_features, contour_interval, {base_contour}, {z_factor}, {contour_type}, {max_vertices_per_feature})
Parámetro | Explicación | Tipo 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. Tenga en cuenta que 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 de su 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 (ya que 1 pie = 0,3048 metros). Para poner otro ejemplo, piense en un ráster de entrada en coordenadas geográficas WGS_84 y unidades de elevación de metros para las cuales desea generar líneas de curvas de nivel cada 100 pies con una base de 50 pies (de manera que las curvas de nivel serán de 50 pies, 150 pies, 250 pies, y así sucesivamente). Para llevar a cabo esta operación, establezca intervalo de curvas de nivel en 100, curva de nivel base en 50y el factor z en 3,2808 (ya que 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 en cuanto a los polígonos.
| 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
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
env.workspace = "C:/data"
arcpy.Contour_3d("elevation", "C:/output/outcontours.shp", 200, 0)
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_3d_Ex_02.py
# Description: Creates contours or isolines from a raster surface.
# Requirements: 3D Analyst Extension
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inRaster = "elevation"
contourInterval = 200
baseContour = 0
outContours = "C:/sapyexamples/output/outcontours02.shp"
# Execute Contour
arcpy.Contour_3d(inRaster, outContours, contourInterval, baseContour)
Entornos
Información de licenciamiento
- Basic: Requiere 3D Analyst oSpatial Analyst
- Standard: Requiere 3D Analyst oSpatial Analyst
- Advanced: Requiere 3D Analyst oSpatial Analyst