7. Datos asociados mediante Tablas de Datos de Objeto.


Un ayuntamiento de la región ha encargado recientemente una nueva cartografía a partir de la restitución digital de vuelos realizados con este fin. El objetivo es el de renovar su base cartográfica actual, compuesta por planos que abarcan el territorio sólo de manera parcial y con notables desigualdades en cuanto a su precisión y continuidad. Pero el Plan General de Ordenación Urbana (PGOU) de reciente aprobación, se expresa gráficamente sobre la antigua base cartográfica. De ahí la necesidad de volcar ahora las categorías del PGOU sobre la nueva cartografía. Como parte de la asesoría que viene realizando la Universidad de Cantabria en el proceso de implantación de un Sistema de Información Territorial para este Ayuntamiento [12] se ha diseñado un proceso de trabajo que utiliza las prestaciones GIS incorporadas a AutoCAD MAP, y en particular el uso de Tablas de Datos de Objeto en el proceso de codificación de la nueva base cartográfica.

7.1. Las Tablas de Datos de Objeto.

En el caso descrito en el apartado 4.2 el contenedor de la información necesaria para la codificación es el mismo objeto gráfico. Ya a partir de la versión 13 AutoCAD incorporó objetos concebidos como contenedores de datos no gráficos dentro del mismo archivo de dibujo. Esto, junto a la posibilidad de desarrollar nuevas clases de objetos personalizados mediante ObjectARX (ver Tabla 1) hizo posible el desarrollo para AutoCAD MAP de un contenedor de datos adecuado a las prestaciones GIS: las Tablas de Datos de Objeto (AcMapODTable).

Cuando un objeto gráfico tiene datos de objeto asociados, esa información se guarda en una Tabla de Datos de Objeto. Una Tabla de Datos de Objeto contiene registros de estructura similar, determinada por la definición previa dicha Tabla. Los Datos de Objeto resultan preferibles a los XDATA en cuanto esta estructura facilita el acceso a la información desde toda una serie de funciones suministradas en el API de MAP. Internamente MAP mantiene los Datos de Objeto ya sea en objetos personalizados derivados de la clase XRECORD o en formato XDATA. El formato XDATA se prefiere en aquellos casos en que la velocidad resulta crítica (como en la construcción de topologías) mientras que el formato XRECORD permite superar cualquier limitación en cuanto al volumen de la información guardada [9]. Aún cuando la documentación de AutoCAD afirma que "los registros individuales en una Tabla de Datos de Objeto pueden estar asociados a diferentes objetos del dibujo" [5], en realidad las funciones disponibles actualmente crean un nuevo registro para cada objeto gráfico al que se vincula el mismo conjunto de datos [9]. La asociación entre los datos y el objeto se produce a nivel del registro individual, no al nivel de la tabla, con lo que un objeto CAD puede tener asociados registros que pertenezcan a diferentes tablas.

7.2. Sistema de Codificación Propuesto.

El sistema propuesto se fundamenta en la posibilidad de asignar, utilizando funciones de AutoCAD MAP, registros de una Tabla de Datos de Objeto a cualquier entidad gráfica. Los Datos de Objeto que se asignarán coincidirán con la codificación de seis dígitos establecida por la norma NICCa [10]. Estos códigos se estructuran según tres niveles jerarquizados:

  • Primero y segundo dígitos: Temas. Capítulos independientes en que se organiza el total de la información.
  • Tercero y cuarto dígitos: Grupos. Conjuntos de entidades de carácter homogéneo para cada tema.
    El sistema incluye 118 códigos de grupo. Los grupos contendrán entidades del mismo tipo, a saber:
    • Grupos numerados del 01 al 39: Entidades de carácter Lineal.
    • Grupos numerados del 40 al 69: Centroides de Entidades de Superficie.
    • Grupos numerados del 70 al 79: Áreas representadas por sus Perímetros.
    • Grupos numerados del 80 al 89: Entidades de carácter Puntual.
    • Grupos numerados del 90 al 99: Textos y Rotulación.
  • Quinto y sexto dígitos: Subgrupos. Entidades de características comunes dentro de un grupo. Se incluyen en el sistema unos 400 subgrupos.

Para ello se creará una Tabla de Datos de Objeto con cuatro campos: Tema, Grupo, Subgrupo y Observaciones. Este último queda disponible para la anotación de incidencias del proceso de codificación como las que se describen más abajo.

7.3. Proceso de Trabajo para la Codificación.

Se establecerán sesiones de trabajo a partir de consultas sobre las entidades gráficas que delimitan en la documentación actual las categorías del PGOU. En el momento de redactar esta ponencia se trabaja sobre las delimitaciones de manzanas en función del viario propuesto. Una vez extraídas de los planos actuales las delimitaciones de manzanas correspondientes a todo el territorio, éstas se guardan como un archivo nuevo que se utilizará en las siguientes sesiones de trabajo para la selección a su vez de las entidades que proceden de la nueva cartografía. La consulta de los objetos que presuntamente representarían las entidades del Plan se realiza estableciendo un buffer, cuya anchura será determinada según las circunstancias por el operador, en torno a las entidades lineales que representan las delimitaciones de manzanas tomadas del PGOU. Los objetos de la nueva cartografía que estuvieren incluidos o atravesaran este buffer se incorporarán a la sesión de trabajo actual. Este proceso puede realizarse mediante las herramientas convencionales de MAP, pero en ese caso los buffers se deberán crear uno a uno. Por ello ha sido necesario diseñar una función específica de consulta que permite realizar selecciones múltiples. Una vez importados a la sesión de trabajo actual los objetos de la nueva cartografía que cumplen el requisito de proximidad establecido, se determinará su correspondencia según los siguientes criterios:

  • Se encuentra un objeto de la nueva cartografía que coincide de manera exacta con una entidad del plan.
  • La coincidencia no es total y por ello la correspondencia es dudosa.
  • No existe ningún objeto en condiciones de ser seleccionado.

En el primer caso, se le asignará un código en formato Datos de Objeto que la identifique como perteneciente a la correspondiente categoría. En caso de duda, se adicionará, dentro de la misma tabla, además del código de categoría, un código en el campo Observaciones que indique la provisionalidad de esta asignación. Las líneas no existentes se digitalizarán, codificándolas en el campo Observaciones como nuevas. Los objetos que fueran codificados como nuevos o dudosos estarían sujetos a la revisión y aprobación por las autoridades del Plan en la Gerencia de Urbanismo. Los objetos ya codificados se restituirán a sus archivos de origen. Debe señalarse que los atributos gráficos de estos objetos no sufren alteración alguna. Sólo se les incorpora un vínculo a un registro de la tabla, una copia de la cual se mantiene dentro de cada dibujo de origen. Cada objeto gráfico puede tener vínculos a varios registros de dicha tabla o de diferentes tablas, lo que implica que no será necesario duplicar entidades cuando en un mismo objeto gráfico coincidieran las delimitaciones de varias categorías del plan. Dicho todo esto se comprende que el proceso de codificación no implicará en general operaciones de edición de tipo CAD.

7.4. La Herramienta de Codificación.

La herramienta de codificación desarrollada para el proyecto descrito en el apartado 4.2 sirvió como antecedente a partir del cual desarrollar esta nueva herramienta más compleja, que incorpora el sistema de códigos de la norma NICCa. Al invocar la función se presenta inicialmente un Cuadro de Diálogo (ver figura 8) con tres áreas diferenciadas:

  • El recuadro Tipo de Entidad contiene cinco botones de opción de los cuales aparecen activados sólo aquéllos válidos para el tema seleccionado.
  • El recuadro Codificar Entidades presenta tres casillas de lista para Tema, Grupo y Subgrupo. Al seleccionar un Tema diferente se activan o desactivan según convenga los botones de opción del recuadro Tipo de Entidad, y se despliegan los grupos y subgrupos del tema que correspondan a la entidad que aparece marcada.
  • El recuadro Tabla de Datos muestra la tabla de Datos de Objeto en que se grabarán los datos. Tiene un carácter puramente informativo, ya que la tabla de nombre TTGGSS es creada por el programa mismo si no existiera anteriormente. En caso de error en su creación aparecerá el mensaje *NINGUNA*.

Una vez seleccionados los epígrafes deseados en las tres listas, se pulsará el botón Aceptar, con lo que desaparece el cuadro de diálogo y se solicita al operador el designar los objetos que se desee codificar. En caso de que el objeto seleccionado no corresponda al tipo de entidad marcado, el sistema lo rechazará y solicitará una nueva selección. Se permiten selecciones múltiples que serán filtradas para asegurar siempre que los objetos correspondan a la tipología de entidad elegida.

Fig. 8 - Diálogo principal de la herramienta de codificación SITSAN

Concluida la designación de objetos, aparece otro cuadro de diálogo que presenta los códigos para Tema, Grupo y Subgrupo que habían sido elegidos en el cuadro de diálogo inicial, así como un recuadro Observaciones, con una casilla de edición que permite introducir cualquier comentario adicional que se guardará en un campo más de la tabla de Datos de Objeto y puede ser empleado para la formulación de consultas.

Fig. 9 - Confirmación de la selección.

Una vez rellena la casilla observaciones, se pulsará el botón Aceptar, con lo se codificarán las entidades antes designadas y volverá a aparecer la solicitud de Designar Objetos, lo que permite continuar la codificación usando los mismos códigos de Tema, Grupo y Subgrupo. Si no se deseara llenar la casilla de Observaciones durante la presente sesión, bastaría con marcar la opción "No volver a mostrar este diálogo", con lo que se saltaría este paso, quedando ya codificadas las entidades al concluir la designación de objetos. Para volver a mostrar el cuadro de diálogo inicial basta hacer una selección nula (pulsar INTRO sin haber designado objeto alguno).

7.5. Funciones de Programación de AutoCAD MAP

Las funciones específicas para la programación LISP [4] que se suministran con AutoCAD MAP facilitan el acceso a sus prestaciones mediante aplicaciones como la descrita. A manera de ejemplo se proponen dos funciones básicas.

7.5.1 Definir una Tabla de Datos de Objeto

En primer lugar (Figura 10) una función general para la creación de tablas de objeto con cualquier número de campos, número que vendrá determinado por la cantidad de términos incluidos en las cuatro listas que se le deberán pasar como argumentos.

Fig. 10 - Define una Tabla de Datos de Objeto con un número variable de campos

7.5.2 Añadir un registro a una entidad.

La creación de la Tabla es el paso previo a la vinculación de registros a los objetos gráficos. La Figura 11 muestra la función que ejecutaría este segundo paso. Se requieren como argumentos un nombre de entidad (ENAME) una lista de identificadores y una lista de los valores que a ellos corresponden.

Fig. 11 - Añade un registro más a la entidad cuyo ENAME se le pasa como argumento

Inicio | Índice | Continuar...