Disponible con una licencia Standard o Advanced.
ArcGIS detecta conflictos cuando realiza una conciliación de la versión que está editando se actualiza con una versión de destino. Los conflictos se producen en estas instancias:
- La misma entidad se actualiza tanto en la versión actual que se está editando como en la versión de destino.
- La misma entidad se actualiza en una versión y se elimina en la otra.
- Una clase de relación o entidad relacionada topológicamente se modifica en la versión actual que se está editando y en una versión de destino.
Si se producen conflictos, ArcGIS los resuelve a favor de la representación de la versión de edición o de la versión de destino, según su preferencia. Una vez que se resuelven los conflictos, puede revisarlos de a uno por vez y realizar los cambios necesarios. Por ejemplo, si un conflicto se resuelve a favor de la versión de edición, puede elegir reemplazarlo a favor de la versión de destino o puede utilizar las herramientas de edición para modificarlo de otra manera.
Resolución interactiva de conflictos
Cuando realiza una conciliación y se detectan conflictos, puede elegir revisarlos con el cuadro de diálogo interactivo Conflictos. Este cuadro contiene todas las clases de conflicto y las entidades o filas en conflicto. También le permite realizar lo siguiente:
- Determinar los campos o las filas que están en conflicto.
- Ver los conflictos.
- Resolver los conflictos designando la representación que se utilizará para remplazar entidades o atributos.
Determinar los campos o las filas que están en conflicto.
Todas las entidades y clases de conflicto aparecen en el cuadro de lista en el lado superior izquierdo del cuadro de diálogo Conflictos. Esta lista Conflictos informa la cantidad total de conflictos que se han revisado y la cantidad total de conflictos en todas las clases de conflicto. Inicialmente, estas cantidades serán iguales. En el ejemplo siguiente, hay un total de dos objetos en conflicto y ninguno ha sido revisado:
Conflicts (2/2)
Debajo de Conflictos hay una lista de las clases de entidad que contienen conflictos, cada una seguidas por la cantidad de conflictos visitados o reemplazados en la clase de entidad y la cantidad de conflictos en la clase de entidad. En este ejemplo, hay dos clases de entidad y cada una contiene un conflicto:
Conflicts (2/2) sde.RJP.ponds (1/1) sde.RJP.lakes (1/1)
Debajo de cada clase de entidad, aparecen los ObjectID de las entidades en conflicto. En este ejemplo, hay un conflicto en el ObjectID 30 en la clase de entidad lagunas y un conflicto para ObjectID 11 en la clase de entidad lagos:
Conflicts (2/2) sde.RJP.ponds (1/1) 30 sde.RJP.lakes (1/1) 11
Puede ver que no se han visitado ni reemplazado ninguno de los objetos porque la relación entre el total de conflictos revisados y el total de conflictos sigue siendo 2/2 y 1/1 para cada clase de entidad. También puede ver que ninguno de los conflictos se ha revisado ni reemplazado porque todos los ObjectID y las clases de entidad aparecen en negrita.
Cuando marca los objetos como visitados (consulte la sección "Marcar como visitado o marcar como no visitado" a continuación) o los reemplaza (consulte la sección "Resolver conflictos" a continuación), el primer número entre paréntesis disminuye y el ObjectID revisado deja de aparecer en negrita. Si todos los ObjectID en una clase de entidad se han marcado como visitados o reemplazados, el nombre de la clase de entidad deja de aparecer en negrita. En el ejemplo de lagunas y lagos, si marca el ObjectID 30 como visitado, verá lo siguiente en el cuadro de lista que aparece en el cuadro de diálogo Conflictos:
Conflicts (1/2) sde.RJP.ponds (0/1) 30 sde.RJP.lakes (1/1) 11
Si hubiese habido una segunda entidad de laguna en conflicto, la lista se vería así:
Conflicts (2/3) sde.RJP.ponds (1/2) 5 30 sde.RJP.lakes (1/1) 11
Esta lista indica que hay un total de tres conflictos como resultado de la conciliación y que uno de esos tres ha sido revisado o reemplazado. La lista también muestra que 30 es el ObjectID de la entidad en conflicto que ha sido visitada o reemplazada y esta entidad se encuentra en la clase de entidad lagos.
Cuando selecciona una entidad individual de la lista, las columnas y los atributos en las versiones pre-conciliada, de conflicto y de antecesor común de la entidad aparecen en la lista ubicada a la derecha del cuadro de diálogo Conflictos.
- La versión pre-reasignada representa las modificaciones que realizó en la entidad y el atributo.
- La versión de conflicto representa la entidad y sus atributos editados y conciliados por otro usuario.
- La versión de antecesor común es la representación de la entidad y sus atributos como aparecen en la base de datos; es cómo se encontraban la entidad y los atributos antes de que se les realicen modificaciones.
Un punto rojo a la izquierda del nombre de campo identifica un conflicto. Por ejemplo, si la geometría de la entidad se editó en cada versión, aparece un punto rojo junto al campo Forma.
Si hay otros campos de atributo en conflicto, aparecerá un punto rojo junto a ellos. Si se ha eliminado una entidad en cualquiera de las dos versiones, aparecerá <eliminado> para el valor de atributo de esa versión.
Si se han insertado entidades en la versión secundaria y se promueven a un conflicto, aparece <No existía> en las versiones Destino y Antepasado común.
Los dos botones situados en la parte inferior del cuadro de diálogo permiten alternar entre ver todos los campos y ver solo los que presentan conflictos.
Tener en conflicto los atributos y valores de todas las representaciones de una entidad le permite ver cómo difieren los valores de atributo y sirve como ayuda para elegir la representación de los datos que se va a conservar.
Ver los conflictos
Si hace clic en el botón Visualización de conflictos en el cuadro de diálogo, en la parte inferior del cuadro de diálogo, verá dos representaciones (la versión pre-conciliada y la de conflicto) de las entidades en conflicto.
Si utiliza las listas desplegables ubicadas debajo de cada representación, puede alternar entre tres representaciones diferentes de las entidades en conflicto: Pre-Reasignado, Conflicto y Antepasado común. Observe que éstas sólo serán diferentes si las geometrías de las entidades están en conflicto.
Debajo de cada representación hay una barra de herramientas con herramientas que puede utilizar para navegar e identificar la representación correspondiente.
Puede acercarse a una versión específica de una entidad en conflicto en el mapa si hace clic con el botón derecho del ratón en la lista y hace clic en Acercar a versión pre-conciliada, Acercar a versión de conflicto o Acercar a versión antecesor común de una entidad.
Si existen conflictos de geometría, también puede ver diferentes representaciones en el mapa si hace clic con el botón derecho del ratón en el campo Forma del cuadro de lista y luego hace clic en Visualización.
Esto abre el cuadro de diálogo Configuración de la visualización de conflictos. Haga clic en la representación que desea dibujar en el mapa.
Una vez que hizo clic en Aceptar, ocurrirá lo siguiente en el mapa:
- La representación de la versión de conflicto (de destino) se muestra en rojo.
- La representación pre-conciliada se muestra en verde.
- La representación de la versión de antecesor común se muestra en azul.
El siguiente es un ejemplo de lo que se mostraría en el mapa si se eligiera la configuración de la visualización de conflictos que se muestra arriba:
El siguiente es un ejemplo de lo que se mostraría en el mapa si solo se marcara Dibujar versión actual en el cuadro de diálogo Configuración de la visualización de conflictos:
Una vez observados los conflictos, puede marcarlos como visitados o elegir una opción de reemplazo para resolver el conflicto.
Marcar como visitado o marcar como no visitado
Tal como se menciona en la sección "Determinar los campos o las filas que están en conflicto", puede marcar una entidad como visitada. Esto indica que ha revisado el conflicto pero no desea elegir una opción de reemplazo en esta oportunidad. Puede llevar un registro de las entidades de la lista que ha revisado ya que aquellas marcadas como visitadas dejan de aparecer en negrita.
Si decide que desea volver a un conflicto de entidad más tarde, puede hacer clic con el botón derecho del ratón en el ObjectID en la lista Conflictos y hacer clic en Marcar como no visitado. Esto hace que la entidad vuelva a aparecer en negrita.
Resolver conflictos
Al resolver conflictos, usted decide qué representación de las entidades y atributos desea mantener. Con independencia de la versión para la que desee conciliar, la de destino o la versión editada, podrá especificar la representación que desea conservar: la representación preasignada (cómo aparecía en la versión antes de la conciliación), la representación de conflicto (cómo aparece en los cambios realizados por otro editor) o la representación de antepasado común (cómo está la entidad o el atributo en la versión de destino).
Existen cinco opciones de reemplazo diferentes que puede utilizar para resolver conflictos:
- Reemplazo de atributo
Esto ocurre en el nivel de campo. Si hay conflictos en atributos, puede reemplazar solo el valor del atributo en la versión actual con uno de la representación pre-conciliada, de conflicto o antecesor común. Para hacer esto, haga clic con el botón derecho en el atributo en conflicto y haga clic en la opción que desea del menú.
- Reemplazo de entidad
Ocurre en el nivel de fila. Puede reemplazar una entidad completa con la representación de la entidad en la versión pre-conciliada, de conflicto o antecesor común. Esto significa que cualquier campo en conflicto se puede reemplazar.
- Reemplazo de nivel de clase
Puede elegir reemplazar la representación actual de la clase de entidad completa con la representación de la versión pre-conciliada, de conflicto o antecesor común para resolver el conflicto. Esto reemplaza todas entidades y atributos en conflicto de una sola vez, lo que le permite actualizar y reemplazar con rapidez las entidades en conflicto. Si existen varias entidades en la lista Conflictos, todas se reemplazan con la versión que elija.
Para elegir una opción de reemplazo a nivel de clase, haga clic con el botón derecho en el nombre de la clase de entidad en la lista Conflictos y haga clic en cualquier versión que desee utilizar.
- Reemplazo completo
Este es un reemplazo a nivel de raíz. Al utilizar esta opción de reemplazo, reemplaza todas las entidades y clases de entidad en conflicto de la lista con la representación designada. Si tiene varias clases de entidad y varios objetos en conflicto, todos ellos se reemplazan con la versión de su elección.
Haga clic con el botón derecho en el nombre de la clase de entidad en la lista Conflictos y haga clic en la versión que desea reemplazar todos los conflictos.
- Fusionar geometrías
Esto ocurre en el nivel del campo y se asocia específicamente con el atributo Forma. La opción para fusionar geometrías está disponible cuando hay un conflicto que involucra al campo Forma. Si dos editores editan la geometría de la misma entidad pero no la misma área de dicha entidad, tienen la opción de resolver el conflicto mediante la fusión de geometrías y de aceptar ambas ediciones. La opción para fusionar geometrías solo está disponible en el menú de acceso directo del campo Forma.Una vez que se han fusionado las geometrías, el resultado final es una entidad que contiene las ediciones realizadas por los dos editores:Si las ediciones realizadas por un editor comparten una región que también ha sido editada por otro editor, las áreas editadas se superpondrán. A pesar de que fusionar geometrías puede ser una opción, tratar de hacerlo puede fallar. Cuando esto sucede, aparece el siguiente mensaje de error:
"Error encontrado al fusionar geometrías. No puede fusionar las dos geometrías. Las regiones editadas se superponen. "
Conflictos en redes geométricas
Cuando se editan entidades de red, los cambios en la red geométrica y la red lógica pueden crear conflictos.
Por ejemplo, cuando agrega un servicio a una tubería principal, ésta no se dividirá físicamente en la red geométrica pero sí lo hará en la red lógica. Por lo tanto, aunque no ha editado directamente la geometría de la tubería principal, la ha editado lógicamente. Si la versión de destino que está conciliando también ha modificado la tubería principal, el servicio nuevo que insertó creará un conflicto con la misma.
Revisar un conflicto que involucra clases de entidades de red geométrica requiere conocimientos sobre cómo el comando Reemplazar con en el cuadro de diálogoConflictos actualiza la topología de red existente presente en la sesión de edición.
En el ejemplo de servicio de la tubería principal, dos usuarios modificaron la tubería principal de agua: uno modificó un atributo y el otro conectó un servicio nuevo. Revisar el conflicto simplemente requiere investigar las diferencias y verificar si el conflicto es válido; no se requieren otras medidas. Dado que la tubería principal contiene el atributo correcto para el diámetro, el servicio nuevo se conecta adecuadamente a la tubería. Pero hay casos en los que resolver los conflictos que involucran una clase de entidad de cruce también actualiza el eje de red conectado.
Conflictos en anotación vinculada a entidad
Trabajar con una anotación vinculada a entidad exige recordar una regla: cuando se reemplaza una entidad que tiene una anotación vinculada a entidad, tanto la entidad como la anotación son reemplazadas por la entidad y la anotación nuevas. Por lo tanto, es probable que deba realizar otras modificaciones en la anotación nueva para evitar que queden dos anotaciones.
Por ejemplo, puede encontrar un conflicto en el que movió una entidad y reposicionó la anotación. La versión de conflicto realizó la misma edición, es decir, movió la entidad y rotó la anotación. Si decide reemplazar la entidad por la entidad de la versión de conflicto, se elimina la anotación vinculada a entidad existente, se inserta la entidad en conflicto y se crea una nueva anotación. A continuación, deberá editar la nueva anotación; para ello, muévala y rótela según sea necesario.
O puede encontrar un conflicto en el que otro editor ha eliminado una entidad en la versión DEFAULT de la geodatabase, lo que también elimina su anotación vinculada a entidad asociada. En una versión secundaria de la geodatabase, edita la anotación que se acaba de eliminar. Si cuando realiza la conciliación decide reemplazar la entidad por la versión de edición, se reemplazarán la entidad que se había eliminado en la versión DEFAULT y su anotación vinculada asociada, y obtendrá la anotación de la sesión de edición, lo que dará como resultado dos anotaciones para la misma entidad.
Conflictos en relaciones
Las relaciones tienen dependencias similares a una anotación vinculada a entidad. Si se elimina una entidad de una clase de relación de origen, aparecerá un mensaje para que elimine una entidad de la clase de relación de destino. Por lo tanto, esté atento a las ramificaciones que se producen simplemente al reemplazar conflictos que involucran clases de entidades que participan en clases de relaciones.
El siguiente es un ejemplo de un conflicto que puede surgir entre clases de relación:
- Actualiza el campo Primario de la clase de origen y rompe la relación en la versión A.
- Al mismo tiempo, actualiza la entidad de destino relacionada a la clase en la versión B.
- Dado que la clase de destino es dependiente de la clase de origen, se detecta un conflicto cuando concilia las versiones.
Otro ejemplo es el siguiente:
- En el dataset de entidades de servicio eléctrico, elimina un polo que tiene relación con un transformador, lo que hace que también se elimine el transformador relacionado.
- En otra sesión de edición que se lleva a cabo al mismo tiempo, un editor altera los atributos del transformador que usted acaba de eliminar cuando eliminó el polo relacionado.
- Cuando se concilian las ediciones, se detectará un conflicto de actualización-eliminación.
En este último ejemplo, si el segundo editor elige reemplazar todos los conflictos por las representaciones de sesión de edición, se volverán a crear el polo y el transformador eliminados durante su sesión de edición, y se creará el transformador de la sesión del segundo editor, lo que dará como resultado dos transformadores. Es posible que no pueda detectar esto mirando el mapa, porque los transformadores estarán uno encima del otro; sin embargo habrá dos registros para el transformador en la tabla de atributos.
Conflictos en topologías
Dado que las entidades en las clases de entidad que participan en una topología pueden compartir geometría con otras entidades, el proceso de revisión de conflictos entre versiones de clases de entidad topológicas es distinto al de reemplazar conflictos con clases de entidad simples. También es diferente del proceso que se utiliza para reemplazar conflictos con redes geométricas, clases de relaciones y anotación vinculada a entidad.
Cuando se edita una clase de entidad que participa en una topología, es posible que se modifiquen de manera simultánea otras entidades relacionadas topológicamente. Las entidades modificadas pueden pertenecer a la misma clase de entidad o a una o más clases de entidad. Para administrar el proceso de detección de nuevos errores de topología que se hayan introducido con las ediciones, las topologías registran los lugares donde se realizaron ediciones como áreas sin validar. Editar entidades en una topología crea áreas sin validar en la topología.
Cuando se concilian las versiones principal y secundaria editadas, se pueden producir nuevos errores de topología, incluso cuando las áreas sin validar dentro de cada versión se han validado para confirmar que no contienen errores. Para detectar tales errores de topología, todas las áreas sin validar en una versión secundaria se regresan al estado sin validar después de que se traen los cambios de la versión principal durante una conciliación. Una vez realizada la conciliación, estas áreas se pueden revalidar para detectar la presencia de errores.
Conciliar dos versiones que no contengan áreas sin validar activas puede resultar en áreas sin validar. Toda área sin validar que haya estado presente en la versión secundaria, independientemente de que haya sido validada, será un área sin validar después de conciliar las versiones. En general, cuando se concilia una versión, lo siguiente es verdadero:
- Toda área sin validar que la versión secundaria haya heredado de la versión principal, independientemente de que esté validada en la versión secundaria, será un área sin validar después de la conciliación.
- Toda área sin validar que se haya creado para una entidad que fue creada, actualizada o eliminada en la versión secundaria, independientemente de que esté validada, será un área sin validar después de la conciliación.
Conflictos en dataset de red
Editar una clase de entidad que participa en un dataset de red puede cambiar la conectividad, es decir, cómo se conectan los elementos de red entre ellos. (Los elementos de red puede representar calles, pasos elevados, etc.) Además, varias clases de entidad pueden participar en un dataset de red, por lo que editar una clase de entidad de origen puede cambiar la conectividad de los elementos de red generados desde otras clases de entidad de origen.
Debido a que varias clases de entidad pueden participar en un dataset de red y la conectividad está basada en parte en las relaciones geométricas, el proceso de revisión de conflictos en el dataset de red es muy similar al de las topologías. Un indicador claro de esto es que los datasets de red también utilizan áreas sin validar, pero se usan para administrar el proceso de detectar los cambios de conectividad en vez de los errores de topología.
Filtrar conflictos de nivel de campo
Hay casos en los que se desea que las ediciones aplicadas a un campo o a un conjunto de campos se eviten cuando se definen los conflictos durante la conciliación. A continuación se ofrecen algunos ejemplos de casos en los que puede resultar útil evitar los conflictos en un campo durante la conciliación:
- Se realiza una actualización por lotes en un campo en diferentes versiones
- Se escribe información en un campo en función de las ediciones realizadas en la versión
Un filtro de conflictos de campos permite etiquetar un campo o un conjunto de campos en las clases de entidad como filtrados en la detección de conflictos. Esto solo se puede usar cuando se ha seleccionado la opción de definir conflictos por atributo. Cuando un campo tiene definido un filtro de conflicto, el valor del campo tras la conciliación dependerá de si la conciliación se ha realizado a favor de la versión de destino o a favor de la versión de edición. Si la conciliación se ha realizado a favor de la versión de destino, los campos con un filtro de conflicto tendrán el valor de la versión de destino. Si la conciliación se ha realizado a favor de la versión de edición, los campos con un filtro de conflicto tendrán el valor de la versión de edición.
La herramienta Agregar filtro de conflicto de campo se puede usar para definir el conjunto de campos que se debe filtrar en los conflictos. La herramienta Eliminar filtro de conflicto de campo puede eliminar el filtro de conflicto de estos campos. La función de GP ListFieldConflictFilters se puede usar para identificar cuándo hay filtros de conflictos definidos en una clase de entidad o en una tabla.