Resumen
Crea polígonos de zona de influencia alrededor de entidades de entrada a una distancia especificada.
Ilustración
Uso
Tal como se describe en Cómo funciona Zona de influencia, una entidad importante de la herramienta Zona de influencia es el parámetro Método, que determina cómo se construyen las zonas de influencia. Los dos métodos básicos para construir zonas de influencia, euclidiano y geodésico, se describen a continuación:
- Las zonas de influencia euclidianas miden la distancia en un plano cartesiano bidimensional, donde la línea recta o las distancias euclidianas se calculan entre dos puntos en una superficie plana (el plano cartesiano). Las zonas de influencia euclidianas son el tipo más común de zonas de influencia y son adecuadas cuando se analizan distancias alrededor de entidades de un sistema de coordenadas proyectadas que se concentran en un área relativamente pequeña (como una zona UTM).
- Las zonas de influencia geodésicas representan la forma real de la Tierra (un elipsoide, o más apropiadamente, un geoide). Las distancias se calculan entre dos puntos de una superficie curva (el geoide) en vez de entre dos puntos de una superficie plana (el plano Cartesiano). Siempre debe considerar la opción de crear geodésicas en los siguientes casos:
- Las entidades de entrada están dispersas (cubren varias zonas UTM, regiones grandes o incluso todo el globo).
- La referencia espacial (proyección de mapa) de las entidades de entrada distorsiona las distancias para mantener otras propiedades como el área.
El parámetro Método determina cómo se crean las zonas de influencia.
- Planar (method="PLANAR" en Python) es la opción predeterminada. Esta opción determinará automáticamente el método a utilizar en función del sistema de coordenadas de la entrada.
- Si las entidades de entrada tienen un sistema de coordenadas proyectadas, se crearán zonas de influencia Euclidianas.
- Si las entidades de entrada tienen un sistema de coordenadas geográficas y especifica una Distancia de zona de influencia en unidades lineales (metros, pies, etc., en vez de unidades angulares como grados), se crearán zonas de influencia geodésicas.
- Esta opción genera el mismo resultado que la herramienta Zona de influencia antes de ArcGIS 10.3.
- Geodésica (method="GEODESIC" en Python) crea una zona de influencia geodésica que conserva la forma independientemente del sistema de coordenadas de entrada. La zona de influencia geodésica que conserva la forma densifica las entidades de entrada antes de crear zonas de influencia geodésicas de salida a fin de crear zonas de influencia que representen con más precisión la forma de las entidades de entrada. Si le preocupa la forma de las zonas de influencia y el grado de precisión con el que su forma se ajusta a las entidades de entrada originales, le recomendamos que investigue el uso de esta opción, especialmente si los datos de entrada están en un sistema de coordenadas geográficas. En algunos casos, esto puede llevar más tiempo que la zona de influencia geodésica creada mediante la opción Planar, pero el resultado es una zona de influencia que coincide de manera más precisa con la forma de la entidad de entrada.
Nota:
Puede cambiar el sistema de coordenadas de una clase de entidad con la herramienta Proyectar, o bien puede establecer el entorno de geoprocesamiento del Sistema de coordenadas de salida antes de ejecutar la herramienta Zona de influencia y se utilizará este sistema de coordenadas al crear zonas de influencia.
Si utiliza el método Planar, puede mejorar la precisión de las zonas de influencia creadas con entradas proyectadas utilizando una proyección que minimice la distorsión de la distancia, como una proyección Cónica equidistante o una proyección Equidistante acimutal y que sea geográficamente apropiada para su entrada.
Cuando se crea la zona de influencia de las entidades de un sistema de coordenadas proyectadas con salida a una clase de entidad de geodatabase, las geometrías creadas pueden incluir segmentos de arco circular (cuando se crea la zona de influencia de los puntos, la salida siempre serán arcos circulares). Si las zonas de influencia que contienen arcos circulares se vuelven a proyectar en un sistema de coordenadas diferente, la ubicación y el tamaño de las zonas de influencia originales se transformará, pero la forma de las zonas de influencia no cambiará, ocasionando que las zonas de influencia que se vuelven a proyectar ya no representan de manera exacta el área cubierta por la zona de influencia original. Si vuelve a proyectar las zonas de influencia que contienen arcos circulares, utilice primero la herramienta Densificar para convertir los segmentos de arco circular en líneas rectas y después vuelva a proyectar las zonas de influencia densificadas.
La clase de entidad de salida tendrá un campo BUFF_DIST que contiene la distancia de zona de influencia utilizada para proteger cada entidad en la unidad lineal del sistema de coordenadas de la entrada. Cuando se utiliza el método Geodésico para crear zonas de influencia, la distancia de zona de influencia introducida se convertirá a metros en todos los casos.
Si ya existe un campo con el nombre BUFF_DIST en la entrada, sus valores se sobrescribirán en la salida. Si se utiliza el Tipo disolución de Todo o Lista (ALL o LIST en Python), la salida no tendrá este campo.
La clase de entidad de salida tendrá un campo ORIG_FID que contiene el Id. de entidad de la entidad de entrada para la que se creó la zona de influencia. Si ya existe un campo con el nombre ORIG_FID en la entrada, sus valores se sobrescribirán en la salida. Si se utiliza el Tipo disolución de Todo o Lista, la salida no tendrá este campo.
Cuando se crean zonas de influencia en entidades de polígono, las distancias de zona de influencia negativas se pueden utilizar para crear zonas de influencia dentro de las entidades de polígono. Si se utiliza una distancia de zona de influencia negativa se reducirán los límites del polígono a la distancia especificada.
Precaución:
Si la distancia de zona de influencia negativa es lo suficientemente grande para contraer el polígono a nada, se generará una geometría nula. Aparecerá un mensaje de advertencia y no se escribirá ninguna entidad de geometría nula en la clase de entidad de salida.
Si se utiliza un campo de la entrada para obtener distancias de zona de influencia, los valores del campo pueden ser un número (5, por ejemplo) o un número con una unidad lineal válida (5 kilómetros, por ejemplo). Si el valor de campo es un número, se supone que la distancia está en la unidad lineal de la referencia espacial de la entrada (a menos que la entrada esté en un sistema de coordenadas geográficas, en cuyo caso se entiende que el valor está en metros). Si la unidad lineal especificada en los valores de campo no es válida o no se reconoce, se utilizará de manera predeterminada la unidad lineal de la referencia espacial de la entrada.
El botón Agregar campo del parámetro Campos a disolver se utiliza solo en ModelBuilder. En ModelBuilder, donde no se ejecutó la herramienta anterior o sus datos derivados no existen, es probable que el parámetro Campos a disolver no se complete con nombres de campos. El botón Agregar campo permite que se agreguen campos esperados a la lista Campos a disolver para completar el cuadro de diálogo de la herramienta Zona de influencia.
Licencia:
Las opciones Tipo lateral (line_side) Izquierda, Derecha y Fuera únicamente (LEFT, RIGHT y OUTSIDE_ONLY en Python) y la opción Tipo final (line_end_type) Plano (FLAT en Python) solo están disponibles con una licencia Desktop Advanced.
Sintaxis
Buffer(in_features, out_feature_class, buffer_distance_or_field, {line_side}, {line_end_type}, {dissolve_option}, {dissolve_field}, {method})
Parámetro | Explicación | Tipo de datos |
in_features | Las entidades de punto, línea o polígono de entrada en las que se creará una zona de influencia. | Feature Layer |
out_feature_class | La clase de entidad que contiene las áreas de influencia de salida. | Feature Class |
buffer_distance_or_field | La distancia alrededor de las entidades de entrada para la zona de influencia. Las distancias se pueden proporcionar como un valor que representa una distancia lineal o como un campo numérico de las entidades de entrada que contiene la distancia para la zona de influencia de cada entidad. Si las unidades lineales no se especifican o se escriben como Desconocido, se utiliza la unidad lineal de la referencia espacial de las entidades de entrada. Al especificar una distancia, si la unidad lineal deseada tiene dos palabras, como Grados decimales, combine las dos palabras en una (por ejemplo, 20 DecimalDegrees). | Linear Unit; Field |
line_side (Opcional) | Especifica los lados de las entidades de entrada en las que se creará una zona de influencia.
Licencia:Este parámetro opcional no está disponible con una licencia Desktop Basic o Desktop Standard. | String |
line_end_type (Opcional) | Especifica la forma de la zona de influencia al final de las entidades de línea de entrada. Este parámetro no es válido para entidades de entrada poligonales.
Licencia:Este parámetro opcional no está disponible con una licencia Desktop Basic o Desktop Standard. | String |
dissolve_option (Opcional) | Especifica el tipo de disolución que se va a realizar para eliminar la superposición de la zona de influencia.
| String |
dissolve_field [dissolve_field,...] (Opcional) | Lista de campos de las entidades de entrada en las que se disolverán las zonas de influencia de salida. Las áreas de influencia que comparten valores de atributos en los campos enumerados (arrastrados de las entidades de entrada) se disuelven. | Field |
method (Opcional) | Especifica qué método se debe utilizar, planar o geodésico, para crear la zona de influencia.
| String |
Muestra de código
El siguiente script de la ventana de Python muestra cómo utilizar la herramienta Buffer.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.Buffer_analysis("roads", "C:/output/majorrdsBuffered", "100 Feet", "FULL",
"ROUND", "LIST", "Distance")
Buscar áreas de vegetación adecuadas que excluyan áreas muy afectadas por carreteras importantes.
# Name: Buffer.py
# Description: Find areas of suitable vegetation which exclude areas heavily
# impacted by major roads
# import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data/Habitat_Analysis.gdb"
# Select suitable vegetation patches from all vegetation
veg = "vegtype"
suitableVeg = "C:/output/Output.gdb/suitable_vegetation"
whereClause = "HABITAT = 1"
arcpy.Select_analysis(veg, suitableVeg, whereClause)
# Buffer areas of impact around major roads
roads = "majorrds"
roadsBuffer = "C:/output/Output.gdb/buffer_output"
distanceField = "Distance"
sideType = "FULL"
endType = "ROUND"
dissolveType = "LIST"
dissolveField = "Distance"
arcpy.Buffer_analysis(roads, roadsBuffer, distanceField, sideType, endType,
dissolveType, dissolveField)
# Erase areas of impact around major roads from the suitable vegetation patches
eraseOutput = "C:/output/Output.gdb/suitable_vegetation_minus_roads"
xyTol = "1 Meters"
arcpy.Erase_analysis(suitableVeg, roadsBuffer, eraseOutput, xyTol)
Entornos
Información de licenciamiento
- Basic: Limitado
- Standard: Limitado
- Advanced: Sí