Localización inteligente de errores en atributos en Digi3D.NET

Digi3D.NET permite añadir inteligencia a la hora de analizar los atributos de base de datos de manera que se pueden detectar condiciones incompatibles.

Esta inteligencia se puede añadir en la tabla de códigos mediante un disparador que se dispara en el momento de almacenar una entidad. El disparador se encargará de analizar todas las restricciones y de informar a Digi3D.NET que la entidad no se puede almacenar pues si algún atributo o combinación de atributos no cumple con los criterios. En caso de que el disparador informe de alguna incompatibilidad, Digi3D.NET mostrará al usuario un cuadro de diálogo que por un lado mostrará un mensaje de error (proporcionado por el disparador)  y que por otro lado permitirá al usuario corregir el problema modificando los valores de los atributos a almacenar en la base de datos.

Esta inteligencia puede estar basada únicamente en atributos o tener en cuenta las particularidades de la geometría que se está intentando almacenar o incluso de todas las geometrías existentes en el archivo de dibujo.

Por ejemplo se podría detectar como error de atributo sin tener en cuenta la geometría que se está intentando almacenar el caso de que un edificio sea de tipo religioso pero que en tipo de religión se indique desconocido.

Un error de atributo teniendo en cuenta la geometría que se está intentando almacenar podría ser el caso del atributo País en una entidad de tipo Vía de comunicación. Si la geometría está en un rango de coordenadas se puede considerar que la geometría está en España y si está en otro rango de coordenadas se puede considerar que está en Francia. Si digitalizamos una entidad cuyas coordenadas están supuestamente en España y el atributo indica que está en Francia, se puede informar al usuario como un error de atribución.

Un error de atribución que tiene en cuenta la geometría que se está intentando almacenar y las geometrías ya existentes en el archivo de dibujo podría ser el caso del atributo Tipo de un polígono de Instalación. Si el tipo es militar y dentro encontramos una pista deportiva cuya área supera un 80% del polígono de instalación se debe indicar que el atributo Tipo debe ser Deportes.

Las posibilidades son ilimitadas.

En el siguiente vídeo puedes ver estos ejemplos en acción. Si quieres hacerlo tú mismo, puedes descargarte la tabla de códigos con la inteligencia añadida, la base de datos y el archivo de dibujo del siguiente enlace: ControlAvanzadoAtributosBBDD.zip. Debes utilizar la versión de 32 bits para conectarte con la base de datos, pues es Access y por limitaciones impuestas por Microsoft, un programa de 64 bits no puede conectarse con una base de datos Access. Para conectarte con la base de datos, en la pestaña Archivo de dibujo del cuadro de diálogo Nuevo proyecto, debes indicar en Modelo de datos (en la sección Motor de importación/exportación para archivos binarios de doble precisión) la opción CATDBS y en Cadena de conexión debes pulsar el botón de los tres puntos. Eso hará aparecer el cuadro de diálogo común Propiedades de vínculo de datos. Selecciona Microsoft Jet 4.0 OLE DB Provider (que es el proveedor que proporciona conexiones con bases de datos Access) y a continuación pulsa el botón Siguente. En la pestaña  Conexión pulsa el botón de los tres puntos en “Selecciona o escriba el nombre de una base de datos”. Aparecerá el cuadro de diálogo común “Seleccione la base de datos de Access”. Localiza la base de datos y pulsa Abrir. Acepta el cuadro de diálogo y ya has configurado Digi3D.NET para conectarse con la base de datos cuando abras el archivo de dibujo.

 

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s