Resumen
Crea polígonos de zona de influencia alrededor de entidades de entrada a una distancia especificada utilizando un enfoque de procesamiento en paralelo.
La herramienta Zona de influencia por pares es muy parecida a la herramienta Zona de influencia. La herramienta Zona de influencia por pares tiene la capacidad de procesar las entidades de la zona de influencia en paralelo.
Ilustración
Uso
Esta herramienta respeta el entorno de Factor de procesamiento en paralelo. Si el entorno no está configurado (predeterminado) o está configurado con el valor 100, se permitirá el procesamiento en paralelo completo y la herramienta intentará distribuir el trabajo entre todos los núcleos lógicos del equipo. Configurar el entorno a 0 desactiva el procesamiento en paralelo. Especificar un factor entre 1 y 99 hará que la herramienta determine el porcentaje de núcleos lógicos que debe usar aplicando la fórmula (Factor de procesamiento en paralelo / 100 * Núcleos lógicos) redondeada al entero más próximo. Si el resultado de la fórmula es 0 o 1, no se habilitará el procesamiento en paralelo.
Esta herramienta se basa en las entidades de entrada que tienen un índice espacial. Utilice la herramienta Agregar índice espacial para crear un índice (especialmente para los shapefiles) o volver a generar un índice existente si hay alguna duda de que sea correcto.
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.
Sintaxis
PairwiseBuffer(in_features, out_feature_class, buffer_distance_or_field, {dissolve_option}, {dissolve_field}, {method}, {max_deviation})
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 |
dissolve_option (Opcional) | El tipo de operación de disolución que se va a realizar para quitar 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 |
max_deviation (Opcional) | Distancia máxima que el límite del polígono de la zona de influencia de salida resultante se desviará respecto al límite real de la zona de influencia. El límite real de la zona de influencia es una curva. No obstante, el límite del polígono resultante será una polilínea densificada. Con este parámetro puede optar por controlar el grado de aproximación del límite del polígono de salida respecto al límite real de la zona de influencia. Si no se establece el parámetro, o si se establece en 0, será la herramienta la que determine la desviación máxima. Le recomendamos encarecidamente que utilice el valor predeterminado. Una degradación de rendimiento importante, ya sea en la propia herramienta o en análisis posteriores, podría dar lugar a la utilización de una desviación máxima del desplazamiento demasiado pequeña. Consulte la información sobre el parámetro max_deviation que se incluye en la documentación de la herramienta Densificar para obtener más detalles. | Linear Unit |
Muestra de código
La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la herramienta PairwiseBuffer.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.PairwiseBuffer_analysis("roads", "C:/output/majorrdsBuffered", "100 Feet", "LIST", "Distance")
Buscar áreas de vegetación adecuadas que excluyan áreas muy afectadas por carreteras importantes.
# Name: PairwiseBuffer.py
# Description: Find areas of suitable vegetation that exclude areas heavily impacted by major roads
# import system modules
import arcpy
# Set environment settings
arcpy.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.PairwiseBuffer_analysis(roads, roadsBuffer, distanceField, 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: Sí
- Standard: Sí
- Advanced: Sí