Evitar picos de carga pico con reglas de atributos de restricción

Primero creará dos reglas de atributos para aplicar e informar sobre la integridad de los datos en ArcGIS Utility Network. Luego utilizará Arcade para configurar y probar nuevas expresiones emergentes que derivarán información útil del registro que creó a través de la regla de cálculo. Aprenderá a realizar lo siguiente:

  • Crear una regla de restricción para evitar picos con carga pico.
  • Crear una regla de cálculo asociada para informar de los valores de carga pico cuando se realizan ediciones en las entidades de servicio de baja tensión.
  • Probar las reglas de atributos editando entidades de servicio de baja tensión y revisando la salida de cada regla.
  • Configurar un elemento emergente con Arcade para obtener información útil del registro que creó con la regla de cálculo.

Antes de empezar, es posible que desee revisar el modelo de datos eléctricos.

Agregar una regla de atributo de restricción

En la red de servicios, se observaron ediciones de atributos irregulares en las entidades del grupo de activos Servicio de baja tensión. Sin embargo, si abre el mapa Electric Network Editor o revisa las clases de entidad en el dataset de entidades UtilityNetwork de la geodatabase que contiene su red de servicios para identificar las irregularidades, puede que observe que no hay ninguna clase de entidad de Servicio de baja tensión disponible.

Esto se debe a que ArcGIS Utility Network implementa un modelo de clasificación utilizando capas de grupo de subtipos y dominios de atributo, lo que reduce la necesidad de un gran número de clases de entidad individuales. Además, en el panel Contenido del mapa, las capas compuestas se utilizan para agrupar capas de red de servicios relacionadas. Estas capas compuestas funcionan de forma más eficiente que las capas individuales reduciendo el número de solicitudes realizadas a la fuente de datos cuando se consultan, editan o actualizan las capas.

  1. Descargue las Normas de atributos en el paquete de proyecto de ArcGIS Utility Network.
  2. Busque el paquete de proyecto Attribute_rules_in_the_ArcGIS_Utility_Network_ en su equipo. Mueva el archivo a una ubicación adecuada en caso necesario y haga doble clic en él.

    El proyecto Use Attribute Rules se abre en ArcGIS Pro.

    Nota:

    Si no tiene acceso a ArcGIS Pro o una cuenta de organización de ArcGIS, consulte las opciones de acceso a software.

  3. En el panel Catálogo, expanda Bases de datos y electricnetworkeditor.gdb.
    Nota:

    Si el panel Catálogo no está visible, en la cinta, en la pestaña Vista, en el grupo Ventanas, haga clic en Panel Catálogo.

  4. En electricnetworkeditor.gdb, expanda el dataset de entidades UtilityNetwork.

    Revise las clases de entidad y las clases de relación organizadas en el dataset de entidades. Representan el esquema (estructura) de la geodatabase que contiene la red de servicios.

  5. En el panel Catálogo, haga clic con el botón derecho en ElectricDevice, apunte a Diseño de datos y elija Subtipos.

    Vista Subtipos de ElectricDevice

    Aparece la vista Subtipos de la clase de entidad ElectricDevice. La clase de entidad ya tiene varios subtipos y dominios relacionados aplicados.

  6. En la vista Subtipos, revise el subtipo *ASSETGROUP.

    Subtipo *ASSETGROUP

    *ASSETGROUP es un subtipo que se utiliza para definir varios tipos de activos, como un descargador de alta tensión, un interruptor de baja tensión, un descargador de baja tensión y un servicio de baja tensión. Además, ASSETTYPE proporciona un mecanismo para definir un nivel de subclasificación para un activo. Por ejemplo, el Servicio de baja tensión se subclasifica como Monofásico residencial y Trifásico comercial.

  7. En la vista Subtipo, desplácese hasta la columna Servicio de baja tensión correspondiente a ASSETGROUP 22.

    Fila *ASSETGROUP 22 de Low Voltage Service

    Para el subtipo Low Voltage Service, muchos campos tienen dominios asignados y algunos campos tienen valores predeterminados establecidos. Estos aplican la integridad de los datos (valores válidos) limitando las actualizaciones a una lista específica de opciones o a un rango de valores. Si no se proporciona ningún valor, se utiliza el valor predeterminado.

  8. Para *ASSETGROUP 22, desplácese hacia abajo hasta el campo peakload.

    El campo peakload no tiene asignado ningún dominio.

    Campo Carga pico

    Nota:

    La carga pico (o demanda pico) puede variar muchas veces en un ciclo diario y sus valores pueden variar entre los servicios. Como resultado, los valores y dominios predeterminados no son herramientas eficaces para mantener la integridad de los datos para este atributo. Una solución es crear una regla de atributo de restricción utilizando la variable $originalFeature global de Arcade en el perfil de reglas de atributos, que detectará los cambios grandes asignados al atributo peakload. La variable $originalFeature global de Arcade presenta el estado de la entidad antes de la edición, lo que otorga al autor del script la flexibilidad para comparar los valores actuales de $feature con los valores originales de la entidad.

    Aunque la carga pico puede cambiar cada día, el rango de valores suele ser coherente día a día y solo debe reflejar cambios generales cada mes o cada temporada. El uso de una nueva regla de restricción aplicada al campo peakload hará que se produzca un error en la edición cuando un cambio en el campo sea demasiado grande. En un paso posterior, mejorará esta detección de errores creando una regla de atributo de cálculo para rellenar una fila de una tabla con el fin de registrar los cambios realizados en el campo peakload.

  9. Cierre la vista Subtipos.

    A continuación, agregará una regla de atributo. Las reglas de atributos mejoran la experiencia de edición y perfeccionan la integridad de los datos para los datasets de geodatabase. Son reglas definidas por el usuario que se pueden usar para rellenar automáticamente los atributos, restringir las ediciones no válidas durante las operaciones de edición y realizar comprobaciones de garantía de calidad en las entidades existentes.

    Las reglas de atributos son complementarias a las reglas existentes utilizadas en la geodatabase, como los dominios y los subtipos. Por ejemplo, puede asignar dominios a un campo de atributo para ayudar en el proceso de captura de datos, al proporcionar una lista de selección de valores válidos a los editores. Para mejorar este comportamiento, puede usar una regla de atributo para restringir los valores de un campo de atributo que no forman parte del dominio al realizar un cálculo de campo. Una vez agregadas las reglas a un dataset, puede evaluarlas a medida que se realicen las ediciones o posteriormente.

    Es importante tener en cuenta que las reglas de atributos no son una funcionalidad específica de ArcGIS Utility Network, pero se pueden implementar en todas las tablas y clases de entidad de geodatabase para realizar operaciones de edición, validación de datos, garantía de calidad y operaciones.

  10. En el panel Catálogo, haga clic con el botón derecho en ElectricDevice, apunte a Diseño de datos y elija Reglas de atributos.

    Opciones Diseño de datos y Reglas de atributos

    Abra la vista Reglas de atributos. Esta vista contiene tres pestañas que identifican distintos tipos de reglas: Cálculo, Restricción y Validación.

  11. En la vista Reglas de atributos de las reglas de Cálculo, desplácese hasta el Nombre de regla ID_Device_22, que representa la entidad de Servicio de baja tensión.

    Regla Servicio de baja tensión

  12. Haga clic en la regla para seleccionarla. En el panel ID_Device_22, revise las secciones Expresión y Desencadenadores.

    Explorar la expresión de la regla.

    Cuando esta expresión se aplica durante la inserción de una nueva entidad de Servicio de baja tensión, rellena el campo assetid con un valor de Id. único.

    A continuación, agregará una nueva regla de restricción para que las ediciones fallen si el valor de carga pico se modifica por un factor de más de 50. Las reglas de restricción especifican las configuraciones de atributos y las relaciones generales permitidas en una entidad. Esto evita la entrada de datos no válidos durante las operaciones de edición para garantizar la integridad de los datos. Es posible crear reglas de restricción para datasets en geodatabases tanto de archivos como corporativas mediante las herramientas de geoprocesamiento Agregar regla de atributo e Importar reglas de atributos o en la vista Reglas de atributos.

  13. En la vista Reglas de atributos, haga clic en la pestaña Restricción seguido de Agregar regla.

    Opción Agregar regla

    Aparece el panel Nueva regla. Aún no se ha definido ninguna regla de restricción.

    A continuación, actualizará las propiedades de la regla para crear una regla de restricción para la clase de entidad ElectricDevice.

  14. En el panel Nueva regla, introduzca los siguientes parámetros:
    • En Nombre de regla, escriba Evitar picos de carga.
    • En Descripción, escriba Si el atributo de carga pico se cambia por un factor de más de 50, no se podrá realizar la edición.
    • En Subtipo, seleccione Low Voltage Service.

    Parámetros de Nueva regla

    Ha seleccionado el subtipo Low Voltage Service porque desea que esta regla de atributo se ejecute solo cuando se editan los contadores de servicio de este subtipo.

  15. En el panel Evitar picos de carga, en Expresión, haga clic en el botón Expresión.

    Botón Expresión

  16. En la ventana Constructor de expresiones, en el cuadro de texto Expresión, copie y pegue el siguiente código:
    
    var dLoad = $feature.peakload - $originalFeature.peakload;
    if (dLoad > 50)
        return false;
    else
        return true;

    Expresión de Arcade introducida en el cuadro de texto Expresión

  17. Haga clic en el botón Verificar para validar la expresión y haga clic en Aceptar.

    Botones Verificar y Aceptar

    Nota:

    La variable $originalFeature global de Arcade proporciona el estado de la entidad antes de que se editara. Por ejemplo, si el valor actual de la carga pico para una entidad es 10 y actualiza el valor a 20, $originalFeature.peakload devolverá 10 y $feature.peakLoad devolverá 20.

    A continuación, seguirá actualizando las propiedades de la regla.

  18. En el panel Evitar picos de carga, en la sección Error, defina los siguientes parámetros:
    • En Número de error, escriba 1001.
    • En Mensaje de error, escriba Carga pico detectada, anular edición.

    Parámetros de la sección Error

  19. En la sección Desencadenadores, marque la casilla de verificación Actualizar.
  20. En la sección Ejecución, marque la casilla de verificación Excluir de la evaluación de la aplicación.

    Parámetros completos de la regla Evitar picos de carga

  21. En la cinta, en la pestaña Reglas de atributos, en el grupo Reglas de atributos, haga clic en Guardar.

    Botón Guardar

    Nota:

    La regla puede tardar unos minutos en guardarse.

  22. Cierre la vista Reglas de atributo.
  23. En la Barra de herramientas de acceso rápido, haga clic en Guardar.

    Botón Guardar en la barra de herramientas de acceso rápido

Probar la regla de restricción

Para probar la nueva regla de restricción que acaba de crear, debe actualizar un servicio de baja tensión y editar la carga pico.

  1. En el panel Catálogo, expanda Mapas.
  2. Haga clic con el botón derecho en el mapa Electric Network Editor y elija Abrir.

    Opción Abrir

    Se abre el mapa Electric Network Editor.

  3. En la pestaña Mapa, en el grupo Navegar, haga clic en Marcadores y elija Probar regla de atributo.

    Marcador Probar regla de atributo

    La extensión de mapa se actualiza y se centra en un punto de servicio de baja tensión situado al sur de Beebe Elementary School.

    Mapa centrado en la ubicación de la entidad de destino

  4. En la cinta, en el grupo Selección, haga clic en la herramienta Seleccionar.

    Seleccionar herramienta

  5. Haga clic en el punto de servicio de baja tensión.

    Entidad de destino seleccionada

    La entidad se resalta en azul, lo que indica que está seleccionada.

  6. En la cinta, en el grupo Selección, haga clic en Atributos.

    Opción Atributos

    Se mostrará el panel Atributos.

    Panel Atributos de la entidad seleccionada

  7. En la parte inferior del panel Atributos, asegúrese de que Auto Aplicar esté activado.

    Casilla de verificación Auto Aplicar

    Este parámetro garantiza que las futuras ediciones de la entidad se aplicarán automáticamente.

  8. Busque el atributo Carga pico (kW), escriba 10 y pulse Intro.

    Carga pico (kW) modificada

    El atributo Carga pico (kW) se actualiza para la entidad y no se espera ninguna advertencia, ya que la regla de restricción aplicada a este campo solo se desencadena cuando el valor supera los 50 kW.

  9. En Carga pico (kW), escriba 70 y pulse Intro.

    El valor actualizado de Carga pico (kW) de 70 desencadena que la edición falle y aparece un mensaje de error en el panel Atributos.

    Error al actualizar la carga pico

    El error de edición y el mensaje de error se produjeron porque el valor de Carga pico (kW) ha aumentado en más de 50 kW. Este fue el resultado de la regla de restricción aplicada a las entidades ElectricDevice.

    Nota:

    En la expresión de la regla de restricción, el valor inicial de $originalFeature se configuró en 0. Actualizarlo a 10 no desencadenó la restricción porque 10 - 0 = 10, que es menor que 50. Sin embargo, al actualizar el valor a 70, se desencadenó la regla de atributo y se produjo un fallo debido a que 70 - 10 = 60, que es mayor que el valor de umbral de 50.

  10. Pruebe su regla de restricción experimentando con diferentes valores para el atributo Carga pico (kW).
    Sugerencia:

    Pruebe a editar la regla Evitar picos de carga para evitar un error. Utilice la función Abs() en Arcade.

    Si reduce el valor de Carga pico (kW) en más de 50, el error no se produce.

    A efectos de esta lección, no conservará las ediciones realizadas en Carga pico (kW).

  11. En la pestaña Editar, en el grupo Administrar ediciones, haga clic en Descartar para descartar sus ediciones. Haga clic en para confirmar.

    Botón Descartar

  12. Cierre el mapa Electric Network Editor y guarde el proyecto.

Ha creado una regla de atributo de restricción utilizando la variable $originalFeature global de Arcade para detectar cambios grandes realizados en el atributo Carga pico.


Reportar picos de carga pico utilizando un informe de cálculo

Anteriormente, ha creado una regla de atributo de restricción utilizando la variable $originalFeature global de Arcade para detectar cambios grandes realizados en el atributo Carga pico. A continuación, creará una regla de cálculo para informar del valor de carga pico cuando se actualicen los servicios de baja tensión. La regla de atributo de cálculo detectará un cambio en el historial de carga de puntos de servicio y registrará esta información en una tabla separada.

Crear una tabla de historial de carga

Primero, creará una tabla en la geodatabase electricnetworkeditor para registrar los cambios en el historial de carga de puntos de servicio.

  1. En el panel Catálogo, expanda Bases de datos. Haga clic con el botón derecho en electricnetworkeditor.gdb, apunte a Nuevo y elija Tabla.

    Crear una tabla

    Aparece el asistente Crear tabla.

  2. En el asistente Crear tabla, en la página Definir, introduzca la siguiente información:
    • En Nombre, escriba LoadHistory.
    • En Alias, escriba Historial de carga.

    Parámetros de la página Definir del asistente Crear tabla

    A continuación, agregará dos campos nuevos a la tabla.

  3. Haga clic en Siguiente.
  4. En la página Campos, haga clic en Haga clic aquí para agregar un campo nuevo e introduzca la siguiente información:
    • En Nombre de campo, escriba peakLoad.
    • En Tipo de datos, elija Entero largo.

    Agregar un nuevo campo.

  5. Haga clic en Haga clic aquí para agregar un campo nuevo para agregar el segundo campo con los siguientes parámetros:
    • En Nombre de campo, escriba serviceGUID.
    • En Tipo de datos, elija GUID

    Agregar un segundo campo.

    Para rastrear qué servicios se editaron, el campo peakLoad almacenará la carga del punto de servicio y el campo serviceGUID almacenará el GUID del punto de servicio actualizado.

  6. Haga clic en Finalizar para crear la nueva tabla.
  7. En el panel Catálogo, confirme que la tabla LoadHistory se haya creado correctamente.

    A continuación, habilitará el rastreo del editor en la tabla LoadHistory para registrar e identificar quién edita la tabla y cuándo se realizan las ediciones.

  8. En el panel Catálogo, haga clic con el botón derecho en la tabla LoadHistory y elija Administrar.
  9. En la ventana Propiedades de tabla, active Rastreo del editor.

    Parámetro Rastreo del editor

    Los campos que admiten el rastreo del editor se agregan a la tabla.

  10. Haga clic en Aceptar para cerrar las Propiedades de tabla.
  11. En el panel Catálogo, haga clic con el botón derecho en LoadHistory, apunte a Diseño de datos y elija Campos.

    Aparece la vista Campos de la tabla.

    Diseñador de campos

    Los campos que se han agregado para permitir el rastreo del editor incluyen un identificador de usuario global y campos para identificar al usuario que generó y editó la entidad, así como la fecha en que se realizaron las ediciones.

  12. Cierre la vista Campos.

Crear una regla de atributo de cálculo

A continuación, creará una regla de atributo de cálculo que detecte un cambio en el historial de carga de puntos de servicio y registre esta información en una tabla separada. Las reglas de atributos de cálculo se usan para rellenar automáticamente las configuraciones de atributo de una entidad.

  1. En el panel Catálogo, expanda el dataset de entidades UtilityNetwork.
  2. Haga clic con el botón derecho en la clase ElectricDevice, apunte a Diseño de datos y haga clic en Reglas de atributos.

    Aparece la vista Reglas de atributos.

  3. En la vista Reglas de atributos, si es necesario, haga clic en la pestaña Cálculo.

    Existen varias reglas de cálculo. Se crearon durante la configuración inicial de la red de servicios y se utilizan para mantener la integridad de los datos.

  4. Haga clic en la flecha desplegable Agregar regla y elija Agregar regla de cálculo inmediato.

    Opción Agregar regla de cálculo inmediato

    Aparece el panel Nueva regla.

    Las reglas de cálculo inmediato se evalúan y desencadenan automáticamente mediante operaciones de edición como insertar, actualizar y eliminar. Creará una regla que se desencadena al insertar y actualizar operaciones.

  5. En el panel Nueva regla, introduzca los siguientes parámetros:
    • En Nombre de regla, escriba Registrar historial de carga.
    • En Descripción, escriba Registra todos los cambios en el atributo de carga pico.
    • En Subtipo, elija Low Voltage Service.
    • En Campo, elija peakload.

    Al actualizar el campo Nombre de regla, se actualiza el título del panel a Registrar historial de carga.

    Parámetros del panel Nueva regla

  6. En el panel Registrar historial de carga, haga clic en el botón Expresión para abrir la ventana Constructor de expresiones.
  7. En la ventana Constructor de expresiones, en Expresión, introduzca la siguiente expresión de Arcade:
    
    return {
             "result": $feature.peakload,
             "edit" : [
                 {
                    "className": "LoadHistory",
                    "adds": [{
                          "attributes": {"peakLoad": $feature.peakLoad, "serviceGUID": $feature.globalID }   
                        }]
                  }
               ]
    
    }

    Expresión de Arcade en la ventana Constructor de expresiones

    Nota:

    Este script utiliza un tipo de devolución de diccionario de edición, que es un diccionario especial (en formato JSON) que incluye las siguientes propiedades:

    • "result": representa lo que desea devolver como la carga pico de la entidad que está editando. En este ejemplo, no está modificando el resultado. Desea devolver el valor de peakload actual de la entidad de servicio editada y actualizar el campo con el mismo nombre en la tabla LoadHistory.
    • "edit": representa un conjunto de ediciones que desea realizar debido a la edición inicial. En este ejemplo, desea editar el campo className de la tabla LoadHistory realizando una serie de funciones "adds" con atributos especificados.
  8. Haga clic en el botón Verificar para validar el script y asegurarse de que la expresión se ejecute correctamente. Haga clic en Aceptar.
  9. En el panel Registrar historial de carga, en Desencadenadores, marque las casillas Insertar y Actualizar.
  10. En Ejecución, marque la casilla Excluir de la evaluación de la aplicación.

    Secciones Desencadenadores y Ejecución

  11. En la cinta, en la pestaña Reglas de atributos, en el grupo Reglas de atributos, haga clic en Guardar.
    Nota:

    La regla puede tardar unos minutos en guardarse.

  12. Cierre el panel de la vista Regla de atributo y guarde el proyecto.

Probar la regla de cálculo

Para probar la regla de atributo de cálculo inmediato que acaba de crear, debe actualizar un servicio de baja tensión editando el atributo peakload. Luego confirmará que la edición se aplicó a la tabla LoadHistory a través de la regla de cálculo.

  1. En el panel Catálogo, expanda Mapas. Haga doble clic en el mapa Electric Network Editor.

    Aparece el mapa Electric Network Editor.

  2. En la cinta, haga clic en la pestaña Mapa. En el grupo Navegar, haga clic en Marcadores y elija Probar regla de atributo.

    La extensión de mapa se actualiza a la ubicación de una entidad de servicio de baja tensión.

    Seleccionar el servicio de baja tensión.

  3. En la pestaña Mapa, en el grupo Selección, haga clic en la herramienta Seleccionar y haga clic en el punto de servicio de baja tensión conectado al Dispositivo eléctrico 1267.
  4. En la pestaña Mapa del grupo Selección, haga clic en Atributos.
  5. En el panel Atributos, verifique que la entidad seleccionada tenga un valor de Id. global de {306A7664-7DDE-46EB-B415-A75F19658095}.

    Atributo de Id. global en el panel Atributos

  6. Si es necesario, marque la casilla Auto Aplicar para confirmar automáticamente las ediciones.
  7. En Carga pico (kW), escriba 10 y pulse Intro.

    A medida que actualice los valores de Carga pico (kW), la nueva regla de atributo generará registros en la tabla LoadHistory para rastrear las ediciones realizadas en los puntos de servicio de baja tensión.

  8. En Carga pico (kW), escriba 30 y pulse Intro.
  9. En el panel Contenido, en Tablas independientes, haga clic con el botón derecho en la tabla LoadHistory y elija Abrir.

    La tabla tenga dos filas que representan las actualizaciones realizadas en el atributo peakLoad. Estas se generaron como resultado de la regla de cálculo que creó. Además, la tabla incluye campos que contienen detalles sobre el editor y la fecha y la hora en que se realizaron las ediciones.

    Tabla LoadHistory

  10. Edite el atributo Carga pico (kW) de la entidad de punto de servicio de baja tensión varias veces más y confirme que la tabla LoadHistory se actualice al refrescar la tabla después de realizar una edición.

    La regla de cálculo actual configurada para los puntos de servicio de baja tensión agrega una nueva fila a la tabla cada vez que se edita un punto. La nueva regla de cálculo rastreará cada edición que se produzca para la carga pico del grupo de activos de Servicio de baja tensión. Por ejemplo, con la variable $originalFeature global, puede configurar la regla para que genere un valor de registro solo cuando se modifique el atributo peakLoad.

  11. Guarde el proyecto.
    Nota:

    En una situación real, es probable que la información de carga de estos servicios sea automática. La regla de restricción que ha creado puede impedir que los picos de valores anómalos entren en el sistema al detectar errores si esto ocurre.

    Su regla de cálculo automatiza los informes de estos valores y proporciona información sobre los patrones y tendencias operativos de los clientes. Utilice la tabla LoadHistory para compartir esta información con los miembros del equipo de operaciones e ingenieros y para proporcionar un recurso de análisis adicional si unos valores anómalos indican un problema.

    También puede utilizar la tabla LoadHistory para proporcionar análisis similares al personal del servicio de atención al cliente y al equipo de campo. De esta manera, los comentarios espaciales se pueden utilizar al atender a clientes con llamadas de facturación o dispositivos de inspección en el campo durante las llamadas al servicio.

A continuación, configurará elementos emergentes para presentar información derivada de la tabla LoadHistory a fin de proporcionar información espacial y ayudar al personal del servicio de atención al cliente y al equipo de campo a la hora de ayudar a los clientes con las llamadas de facturación o al inspeccionar dispositivos sobre el terreno durante las llamadas de servicio, respectivamente. Esto puede proporcionar contexto al historial del servicio para quienes utilicen estos datos.


Configurar un elemento emergente para mostrar el historial de carga

Anteriormente, creó una regla de cálculo para informar del valor de carga pico cuando se actualizaran los servicios de baja tensión. Una regla de atributo de cálculo detectó un cambio en el historial de carga de puntos de servicio y registró información en una tabla. A continuación, configurará elementos emergentes para presentar la información derivada de la tabla LoadHistory.

Visualizar y resumir el historial de carga

Como paso final, configurará elementos emergentes para el grupo de activos de Servicio de baja tensión y creará tres expresiones para extraer y visualizar la información recopilada en la tabla LoadHistory.

  1. En el panel Contenido, expanda Dispositivo eléctrico (si es necesario), haga clic con el botón derecho en la subcapa Low Voltage Service y haga clic en Configurar elementos emergentes.

    Configurar elementos emergentes

    Aparece el panel Configurar elementos emergentes.

  2. En el panel Configurar elementos emergentes, haga clic en Expresiones para crear una expresión de Arcade.

    Botón para agregar una nueva expresión de Arcade

  3. Haga clic en Nuevo para abrir la ventana Constructor de expresiones.

    Botón Nueva expresión

    Aparece la ventana Constructor de expresiones.

    La primera expresión que creará se utilizará para informar del valor máximo de Carga pico (kW) para la entidad de servicio seleccionada de la tabla LoadHistory.

  4. En la ventana Constructor de expresiones, introduzca estos parámetros:
    • En Nombre, escriba Max.
    • En Título, escriba MaxLoad.

    El título es el nombre de visualización de un campo virtual utilizado en el elemento emergente para mostrar los resultados de la expresión.

  5. En el cuadro de texto Expresión, introduzca el siguiente script:
    
    //Create a variable to reference the LoadHistory table
    
    var fshistory = FeatureSetByName ($datastore,"LoadHistory", ["peakload"])
    
    //Create a variable to reference the GlobalID of the selected feature in the map
    
    var GlobalID = $feature.globalID
    
    // We are interested in rows from LoadHistory.serviceGUID that match the Service feature selected.  This filters results to return only ServiceGUIDs that match the $feature.GlobalID
    
    var rows = filter(fshistory,"serviceGUID = @GlobalID")
    //Guard logic to display 0 if no values found in the LoadHistory table
    if (count(rows) == 0)return 0
    
    //Return filtered values from LoadHistory.peakload in the Low Voltage Service pop-up in bold
    
    return "<b>" +  max (rows, "peakload") + "</b>"
    Nota:

    Esta expresión utiliza la función max() para devolver el valor máximo establecido para la carga pico. Para devolver el valor mínimo establecido para la carga pico, puede reemplazar max() por min().

    Parámetros del Constructor de expresiones para MaxLoad

  6. Haga clic en el botón Verificar para validar el script y asegurarse de que la expresión se ejecute correctamente, y haga clic en Aceptar.
  7. Por su cuenta, cree una segunda expresión para informar del valor mínimo establecido para Carga pico (kW) en la entidad de servicio seleccionada de la tabla LoadHistory.
    Sugerencia:

    Considere la posibilidad de utilizar la función min().

    A continuación, agregará una expresión que comunique el número de veces que se editó el servicio seleccionado.

  8. Haga clic en Nuevo para abrir la ventana Constructor de expresiones.

    La primera expresión que creará se utilizará para informar del valor máximo de Carga pico (kW) para la entidad de servicio seleccionada de la tabla LoadHistory.

  9. En la ventana Constructor de expresiones, introduzca estos parámetros:
    • En Nombre, escriba Recuento.
    • En Título, escriba #Updates.
  10. En el cuadro de texto Expresión, introduzca el siguiente script:
    
    //Create a variable to reference the LoadHistory table
    
    var fshistory = FeatureSetByName ($datastore,"LoadHistory", ["peakload"])
    
    //Create a variable to reference the GlobalID of the selected feature in the map
    
    var GlobalID = $feature.globalID
    
    // We are interested in rows from LoadHistory.serviceGUID that match the Service feature selected.  This filters results to return only ServiceGUIDs that match the $feature.GlobalID
    
    var rows = filter(fshistory,"serviceGUID = @GlobalID")
    
    //Guard logic to display 0 if no values found in the LoadHistory table
    if (count(rows) == 0)return 0
    
    //Return filtered values from LoadHistory.peakload in the Low Voltage Service pop-up
    
    return "<b>" +  count (rows) + "</b>"

    Cuando haya terminado, revise la configuración del Constructor de expresiones.

    Parámetros del Constructor de expresiones para Recuento

  11. Haga clic en el botón Verificar para validar el script y asegurarse de que la expresión se ejecute correctamente, y haga clic en Aceptar.
  12. Verifique sus expresiones en el panel Configurar elementos emergentes.

    Expresiones emergentes

    Nota:

    Si no creó una expresión MinLoad, es posible que su lista sea diferente.

  13. Por su cuenta, cree una expresión que calcule el valor medio de Carga pico (kW) para la entidad de servicio seleccionada.

    En la última línea de código, utilice return "<b>" + max (rows, "peakload") + "</b>" y reemplace max por average.

  14. Guarde el proyecto.

    Con las expresiones emergentes configuradas, confirmará que los resultados esperados se generan y se muestran correctamente en la ventana emergente.

  15. En la pestaña Mapa, en el grupo Navegar, haga clic en Marcadores y haga clic en Probar regla de atributos.

    La extensión de mapa se actualiza a la ubicación de un punto de servicio de baja tensión.

  16. En la pestaña Mapa, en el grupo Navegar, haga clic en la herramienta Explorar y seleccione el punto de servicio de baja tensión en el mapa con un valor de Id. global de {306A7664-7DDE-46EB-B415-A75F19658095}.

    Seleccionar la entidad de servicio de baja tensión

    Aparece la ventana emergente del servicio de baja tensión seleccionado.

  17. En la ventana emergente, revise los campos de expresión.

    Revise la ventana emergente y observe los campos de expresión MaxLoad, MinLoad y #Updates con sus valores asociados derivados de la tabla LoadHistory. En el ejemplo, se incluye la expresión adicional utilizada para calcular el valor medio de carga pico de la entidad seleccionada.

    Expresiones agregadas en la ventana emergente

    Nota:

    Basándose en la técnica que utilizó anteriormente, puede eliminar el formato de negrita de los valores devueltos en la ventana emergente o hacer que los valores destaquen aún más cambiando el color de visualización a rojo si un valor supera un número determinado. Para ello, utilice la lógica if-else y la etiqueta <font color> en sus expresiones.

En este tutorial, ha creado una regla de atributo de restricción para mantener la integridad de los datos y mostrar errores cuando se encuentren picos en el valor de carga pico. Le ha proporcionado un ejemplo de cómo se puede utilizar una regla de atributo de restricción junto con dominios, subtipos y valores contingentes para mantener la integridad de los datos en una clase de entidad de geodatabase.

A continuación, ha creado una tabla y ha configurado una regla de atributo de cálculo para detectar un cambio en la carga pico de un punto de servicio y ha registrado este cambio y el GUID de la entidad en la nueva tabla. Con las reglas de atributos, ha creado a continuación una serie de expresiones emergentes utilizando Arcade para derivar información de la tabla que contiene el historial de carga pico y presentar esta información utilizando ventanas emergentes en ArcGIS Pro.

Esta lección le ha proporcionado los elementos básicos para empezar a crear reglas de atributos más elaboradas en su geodatabase.

Encontrará más tutoriales en la galería de tutoriales.