Si has leído sobre cómo funciona el rastreo con ArcGIS Utility Network, probablemente hayas notado que muchas de las capacidades requieren atributos de red. Estos son los atributos que se utilizan para definir si un dispositivo está abierto/cerrado, en servicio/retirado o cualquier otra característica de una entidad que debe considerarse cuando el sistema realiza su análisis. El propósito de este artículo es discutir algunas de las implementaciones técnicas de los atributos de red para que puedas tomar decisiones informadas sobre cómo configurar tu utility network.
¿Qué es un atributo de red?
Un atributo de red es un atributo que ha sido configurado para su uso en análisis con un utility network. Los atributos de red pueden usarse como barreras de atravesabilidad, como barreras de condición o barreras de filtro. También pueden usarse para controlar la salida del rastreo creando una condición de salida o para funciones resumen. La única forma de usar un atributo que no sea de red en el rastreo es usar el tipo de resultado Feature para exportar los atributos asociados con una entidad.
Configurar un atributo de red es un proceso de dos pasos. Primero, debes definir un atributo de red en el utility network usando la herramienta Agregar Atributo de Red. Esto no añadirá ningún campo a tus clases de entidades, solo define un atributo que puede usarse en análisis.
Para llenar este atributo de red, debes mapear un campo de una o más clases en tu utility network usando la herramienta Establecer Atributo de Red. Los campos que se asignan al atributo de red no necesitan tener el mismo nombre, pero hay algunas restricciones al mapear campos a un atributo de red. Si el campo que quieres establecer como atributo de red no aparece en el menú desplegable, es porque el campo no tiene el tipo de dato correcto o el campo permite valores nulos, pero el atributo de red no permite valores nulos. Los campos usados para atributos de red que tienen dominios asignados deben tener valores similares en el dominio para asegurar el comportamiento durante el análisis.
Cuando un campo se designa como atributo de red, esto significa que el utility network almacenará una copia del valor de esa entidad en las tablas del sistema del network para usarlo en análisis cada vez que la entidad sea validada. Esto permite que la red realice análisis más rápidamente, ya que toda la información requerida para tomar decisiones durante el análisis está disponible sin necesidad de consultar valores desde entidades individuales. Almacenar más información en la red para análisis significa que se debe leer más información desde las entidades cuando se validan, más información debe persistirse en las tablas del sistema y más información debe leerse desde las tablas del sistema durante el análisis.
No todo almacenamiento es igual, y en la siguiente sección discutiremos las diferentes opciones para almacenar atributos de red y cómo afectan al rendimiento.
Rendimiento
La decisión más importante al crear un atributo de red es decidir si será almacenado in-line o no. Los atributos de red almacenados in-line se guardan dentro de la topología de la red, junto con la conectividad, lo que permite el acceso más rápido posible durante el rastreo ya que se cargan al mismo tiempo que la conectividad. Los atributos de red que no se almacenan in-line todavía se guardan en tablas del sistema, pero se almacenan en almacenamiento secundario dedicado a los atributos de red.
La razón por la cual existen dos mecanismos diferentes para almacenar atributos de red es porque hay solo una pequeña cantidad de espacio disponible para atributos in-line. El almacenamiento in-line debe reservarse para atributos requeridos para la traversabilidad en la red, como barreras de atravesabilidad, y deben ser valores enteros. Los atributos usados para funciones resumen o condiciones de salida no se benefician tanto al ser almacenados in-line.
También debes considerar con qué frecuencia se usa un atributo antes de designarlo para almacenamiento in-line. Los atributos que forman parte de tu definición del subnetwork o son referenciados por configuraciones nombradas usadas frecuentemente son buenos candidatos para almacenamiento in-line. Atributos como configuración verano o invierno, usados solo unas pocas veces al mes, no son tan importantes para almacenar in-line.
Una consideración importante al identificar atributos es recordar que deben ser validados, escritos y leídos desde la base datos. Cuantos más atributos tengas, más tiempo tomará habilitar/validar tu topología, rastrear tu utility network y actualizar tu subnetwork. El costo individual por cada atributo es relativamente pequeño, pero los costos pueden acumularse rápidamente en redes con muchos atributos. Es mejor comenzar con pocos atributos esenciales y luego agregar más conforme los necesites.
Si identificas un campo que quieres usar como atributo in-line, puede ser conveniente hacer algunos cambios al campo para hacerlo más adecuado para almacenamiento in-line. Discutiremos algunas consideraciones en la siguiente sección.
Almacenamiento
Dado que hay una cantidad finita para almacenamiento in-line, vale la pena discutir qué determina cuánto espacio se asigna a un atributo in-line para diseñar los campos respaldando tus atributos para almacenamiento y rendimiento ideales. Lo siguiente es un resumen del tema en ArcGIS Help sobre cómo calcular el tamaño en bits para atributos in-line.
La primera limitación para almacenar un atributo in-line es el tipo de dato del atributo y su campo. Aunque la mayoría pueden usarse como atributos, solo campos enteros cortos o largos pueden almacenarse in-line porque la red almacena una representación binaria del valor del atributo.
La segunda limitación es que un atributo in-line debe tener asociado un dominio. Los valores en este dominio determinan cuánto espacio se asigna al campo en el índice del network.
El espacio asignado al atributo equivale al almacenamiento binario necesario para guardar el valor más grande del dominio. Por eso es mejor que el dominio sea lo más compacto posible y con valores máximos pequeños. Si el atributo y dominio están diseñados para comparaciones bit a bit, cada valor representa una potencia de dos (1, 2, 4, etc.). El tamaño inicial se calcula usando el dominio especificado en la herramienta Crear Atributo de Red pero puede expandirse según los dominios asignados a los campos donde se asigna.
Tamaño en Bits | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 0000000000000000000… | 20 |
|---|
Valor Máximo del Dominio | 1 | 3 | 7 | 15 | 31 | 63 | 127 | 255 | | |
| 0 | | | | | | | | | |