Disponible con una licencia de Spatial Analyst.
Disponible con una licencia de 3D Analyst.
Resumen
Crea curvas de nivel a partir de una superficie de ráster. La inclusión de entidades de barrera permite generar de forma independiente curvas de nivel a cada lado de la barrera.
Uso
La versión actual de Curvas de nivel con barreras solo admite la salida de polilínea. Si se usa la opción de salida de polígono, se ignorará y se creará una salida de polilínea.
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.
Las curvas de nivel se extienden a la celda NoData del ráster por una distancia de la mitad del tamaño de celda del ráster. Esto significa que las curvas de nivel se generan sobre celdas NoData únicas. Sin embargo, en un área de NoData de 3 celdas por 3 celdas, las curvas de nivel que se extienden a esta área son de la mitad de la distancia del tamaño de la celda.
El campo Tipo de la clase de entidad de curvas de nivel de salida puede tener valores tales como:
1 for contours 2 for indexed contours 3 for explicit contours
Un intervalo de curvas de nivel indexadas se puede usar para generar curvas de nivel adicionales y el valor de Tipo se codificará como 2 en la clase de entidad de salida.
Una curva de nivel base se usa, por ejemplo, cuando desea crear curvas de nivel cada 15 metros, comenzando a los 10 metros. Aquí, 10 se utilizará para la curva de nivel base y 15 será el intervalo de las curvas de nivel. Los valores en los que se generará una curva de nivel serán 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.
Un archivo de texto que contiene especificaciones del valor de curva de nivel puede incluir lo siguiente:
- Cualquier línea que comienza con un valor no numérico se ignora y se trata como línea de comentario.
- Una línea con un valor único se tratará como un valor de curva de nivel explícito.
- Una línea que contenga tres valores será tratada como base, intervalo de curvas de nivel y curva de nivel indexada.
- Una línea con cuatro valores se trata como desde, hasta, por y curvas de nivel indexadas.
Por ejemplo, si un ráster tiene un valor mínimo de 102 y uno máximo de 500, entonces, un archivo de texto con:
# contour values and ranges 122.75 485 500 5 12 4 100 99
producirá curvas de nivel en:
122.75 104, 204, 304, 404 103, 202, 301, 400, 499 485, 490, 495, 500 497
Si hay valores de celda del ráster dentro de una entidad poligonal de barrera, las líneas de la curva de nivel se dividirán en la barrera. Si los valores de celda dentro de la entidad poligonal se deben ignorar, cambie dichos valores a NoData.
Si la superficie de ráster de entrada es muy grande o se solicitan muchas entidades de salida, se crea una gran cantidad de archivos temporales en la ubicación de archivos temporales del sistema operativo. Si ocurre algún problema como resultado de esto, debe hacer lo siguiente:
- Aumentar el espacio en disco disponible para los archivos temporales.
- Reducir la cantidad de curvas de nivel especificadas, o dividir el rango de curvas de nivel y procesar cada grupo por separado y, después, combinar los resultados de cada rango en un resultado final.
- Procesar los datos de entrada en secciones (teselas) y fusionar los resultados individuales en un dataset.
Sintaxis
ContourWithBarriers(in_raster, out_contour_feature_class, {in_barrier_features}, {in_contour_type}, {in_contour_values_file}, {explicit_only}, {in_base_contour}, {in_contour_interval}, {in_indexed_contour_interval}, {in_contour_list}, {in_z_factor})
Parámetro | Explicación | Tipo de datos |
in_raster | Ráster de entrada de superficie. | Raster Layer; Raster Dataset; Mosaic Layer; Mosaic Dataset |
out_contour_feature_class | Entidades de curvas de nivel de salida. | Feature Class |
in_barrier_features (Opcional) | Entidades de barreras de entrada. Las entidades pueden ser polilíneas o de tipo polígono. | Feature Layer |
in_contour_type (Opcional) | El tipo de curva de nivel a crear.
Nota:La versión actual de esta herramienta solo admite una salida de polilínea. Si se usa la opción de salida de polígono, se ignorará y se creará una salida de polilínea. | String |
in_contour_values_file (Opcional) | La curva de nivel base, el intervalo de curva de nivel, el intervalo de curvas de nivel indexadas y los valores de curva de nivel explícitos también se especifican mediante un archivo de texto. | File |
explicit_only (Opcional) | Sólo se usan valores de curva de nivel explícitos. La curva de nivel base, el intervalo de curvas de nivel y los intervalos de curvas de nivel indexadas no están especificados.
| Boolean |
in_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 |
in_contour_interval (Opcional) | El intervalo o la distancia entre las líneas de curvas de nivel. Éste puede ser cualquier número positivo. | Double |
in_indexed_contour_interval (Opcional) | También se generan curvas de nivel para este intervalo y se marcan según corresponda en la clase de entidad de salida. | Double |
in_contour_list [in_explicit_contour,...] (Opcional) | Valores explícitos en los que se crean curvas de nivel. | Double |
in_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). | Double |
Muestra de código
En este ejemplo se crean curvas de nivel a partir de un ráster Esri Grid mediante la incorporación de una entidad de barrera de entrada. También se especifican los parámetros de base e intervalo. La salida genera un área de curvas de nivel como polilíneas en un shapefile.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.ContourWithBarriers_3d("elevation", "C:/output/outcwb.shp",
"elevation_barrier.shp", "POLYLINES", "", "", 0, 300)
En este ejemplo se crean curvas de nivel a partir de un ráster Esri Grid mediante la incorporación de una entidad de barrera de entrada. También se especifican los parámetros de base e intervalo. La salida genera un área de curvas de nivel como polilíneas en un shapefile.
# Name: ContourWithBarriers_3d_Ex_02.py
# Description: Creates contours from a raster surface. The inclusion of
# barrier features will allow one to independently generate contours on
# either side of a barrier.
# 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"
inBarrier = "elevation_barrier.shp"
inTextFile = ""
explicitValues = "NO_EXPLICIT_VALUES_ONLY"
contourInterval = 200
contourList = "600; 935; 1237.4"
baseContour = 0
outContours = "C:/output/outcwb.shp"
# Execute Contour
arcpy.ContourWithBarriers_3d(inRaster, outContours, inBarrier, "POLYLINES",
inTextFile, explicitValues, baseContour,
contourInterval, "", contourList, "")
Entornos
Información de licenciamiento
- Basic: Requiere 3D Analyst oSpatial Analyst
- Standard: Requiere 3D Analyst oSpatial Analyst
- Advanced: Requiere 3D Analyst oSpatial Analyst