CÓMO

Rellenar automáticamente valores basados en campos comunes mediante reglas de atributos en ArcGIS Pro

Last Published: October 13, 2024

Descripción

Al crear entidades para una nueva capa de entidades, es poco común hacer referencia a una tabla existente o a una tabla de atributos de una capa de entidades para rellenar el valor del campo coincidente de la tabla y la capa de entidades. Al crear un gran número de entidades, rellenar el campo con la tabla existente puede llevar mucho tiempo o requerir un paso adicional para ejecutar el cálculo. Es posible rellenar automáticamente los datos a medida que se crea la entidad mediante Reglas de atributos.

Solución o solución alternativa

  1. Abra un nuevo proyecto y agregue la tabla y la nueva capa de entidades.
  2. Agregue el Id. global a la clase de entidad con la herramienta Agregar Id. globales.
  3. En el panel Contenido, haga clic con el botón derecho en la capa de entidades que se va a dibujar > Diseño de datos> Reglas de atributos.
  4. Haga clic en Agregar regla. Seleccione Nueva regla e introduzca el Nombre de la regla. En este ejemplo, el nombre de la regla es Nueva regla.
  5. En el cuadro de texto Expresión, introduzca la siguiente secuencia de comandos: Modifique los parámetros siguientes.
    • Feature_Name con el nombre de la capa de entidades de origen con el que se va a comparar. También puede ser el nombre de la tabla independiente.
    • Matching_Field con el campo coincidente con el que se va a comparar. En este ejemplo, se utiliza el campo SHAPE.
    • Output_Field con el nombre del campo en el que se deben copiar los valores en la nueva entidad. En este ejemplo, se utiliza el campo Dirección.
var sourceTable = FeatureSetByName($datastore,"<Feature_Name>", ["<Matching_Field>", "<Output_Field>"], false)
var matchingAttr = $feature.<Matching_Field>
var matchedFeature = First(Filter(sourceTable, "<Matching_Field> = @matchingAttr"))
If (matchedFeature == null){
    return "not found"}
else{
    return matchedFeature.<Output_Field>}
La siguiente es la secuencia de comandos de trabajo completa:
var sourceTable = FeatureSetByName($datastore,"House", ["OBJECTID", "Direction"], false)
var matchingOID = $feature.OBJECTID 
var matchedFeature = First(Filter(sourceTable, "OBJECTID = @matchingOID"))
If (matchedFeature == null){
    return "not found"}
else{
    return matchedFeature.matchedFeature.Direction}
  1. Marque las casillas de verificación Insertar y Actualizar en la sección Desencadenadores.
Ventana de regla de atributos de la nueva regla
  1. En la cinta Reglas de atributos, haga clic en Guardar.
  2. Dibuje la entidad. El siguiente mapa muestra el campo Dirección rellenado.
El campo deseado se rellena automáticamente al dibujar una nueva entidad

Id. de artículo: 000030999

Recibir notificaciones y encontrar soluciones a problemas nuevos o comunes

Obtenga respuestas resumidas y soluciones de vídeo de nuestro nuevo chatbot de IA.

Descargar la aplicación de soporte de Esri

Información relacionada

Descubrir más sobre este tema

Obtener ayuda de expertos en ArcGIS

Contactar con el soporte técnico

Descargar la aplicación de soporte de Esri

Ir a opciones de descarga