X

Microstation Geographics, ligar a Base de datos

Si bien Geographics es una versión legado de Bentley, después que Benley Map y Cadastre llegaran para quedarse, aquí resumo algunas anotaciones para un pupilo que quiere conectar una base de datos mapas de un proyecto Geographics.

De temas anteriores

En algunos post he explicado antes como funcionan algunas tripas de Geographics, este resumen de casi 15 entradas muestra que realmente lo he disfrutado.

  1. El feature book
  2. Tematizar
  3. Limpieza topológica
  4. Conectar líneas
  5. Análisis topológico
  6. Conectar un proyecto local
  7. Importar desde shape files
  8. Crear malla de coordenadas
  9. Algunas diferencias con Bentley Map
  10. Desarrollo con VBA
  11. Diferencias con Cadastre
  12. Migrar a Bentley Map
  13. Fumadas con G! Tools
  14. Ejemplos inspiradores

Lo que sucede, es que Geographics siempre fue así, un software del que había que saber cosas fumadas para implementarlo a nivel de administrador.  Mientras que los usuarios debían aprender a hacer rutinas básicas para aplicarlo, con todo es una herramienta que a pesar que Bentley no responde en soporte, sigue siendo defendida a capa y espada pro los usuarios que no la quieren dejar ir.

A que conectar

Geographics puede ser conectado al menos a bases Oracle, SQLServer o Acces, de preferencia vía ODBC aunque no son las únicas bases ni el único modo de conexión.  La conexión se crea, como lo expliqué en el inciso 6 de la lista anterior.

Que conectar

Geographics, en estas versiones funciona vía enlaces de conexión del objeto (engeneering links), que puede ser una línea, punto, célula o polígono.  Esta conexión funciona de la siguiente forma:

  • El objeto que conecta debe estar en el mapa, supongamos un número de ficha de la forma 425876.
  • El MsLink es un número que no se repite en un mapa y que se asocia una vez ligado el objeto a la base de datos.
  • El MapID es un número que asocia el mslink con el mapa registrado, así que un MsLink puede repetirse de un mapa a otro, la diferencia está en el número de registro de mapa, tema que expliqué en el inciso 12 de la lista superior.
  • Una vez ligado, es posible visualizar en Geographics otras tablas de la base de datos, tal como el padrón de contribuyentes, valores catastrales…  Y con estos hacer operaciones como análisis topológico, mapas temáticos, anotaciones al mapa, etc.

La base de datos

  • Para poder interactuar con un proyecto Geographics, la base de datos debe contener las siguientes tablas:

category
feature
mapsmscatalog
ugcategory
ugcommandugfeature
ugjoin_cat
ugmap
ugtable_cat

  • Adicionalmente, la tabla a la que se desea conectar, como el padrón catastral (supongamos se llama ficha) debe agregársele una columna llamada MsLink, tal como lo escribo, con la M y la L en mayúscula.  Y esta debe ser de tipo autonumérico, así cada vez que se crea una nueva ficha se le asigna un número que no será repetido.
  • También a la tabla debe agregársele las siguientes columnas:

Area, el nombre de estas columnas no importa, lo que sí interesa es que sea numérico con dos decimales.  Este será para poder actualizar el área del predio en la base de datos.

Perímetro, igual que el anterior, para almacenar el valor de la suma de los lados el predio.

x1, y1, x2, y2.  Estas, son cuatro columnas donde se almacenarán las coordenadas que definen el rango del predio, y que serán útiles para ir al predio (locate) seleccionado, igual que para publicarlo en Geoweb Publisher.

  • Luego, en la base de datos, en la tabla mscatalog hay que incluir la tabla del padrón y asignarle un identificador.  Esto para que se pueda ver la tabla desde Geographics en el paso siguiente y se pueda registrar en el catálogo.

Los mapas

  • El mapa debe registrarse, esto se hace desde Project / setup / register map / dgn file.  Con esto, el mapa adquiere un número en la tabla ugmaps.
  • También debe crearse desde geographics la tabla creada.  Para ello hay que ir a Project / setup / tables / table catalog.  Aquí se crea, colocando FICHA en el nombre, MSLINK (con mayúscula) en la llave primaria y un alias, en este caso FC.  Luego Commit.  Con esto, ya estamos listos para ligar.

El ligue

El objeto será ligado a un campo en la tabla ficha, mediante el mslink como llave primaria y en base a una coincidencia con la columna clave_ficha.

Deberá existir una coincidencia única entre el objeto que se ligará (supongamos número de ficha en el mapa) y un identificador en el padrón.  Bien puede ser el número de ficha o clave catastral, pero no deberá repetirse en un mismo mapa.

Para ligar, se coloca un fence, luego Database / text manager.  Dejamos encendido únicamente el nivel de número de ficha, para proceder al ligue.  Luego elegimos el nombre de la tabla donde queremos ligar y la columna que contiene el la coincidencia.  En este caso, la tabla Ficha y la columna clave_ficha.

Activamos la opción Use Fence, elegimos el botón Join y hacemos clic en la pantalla.

  • Listo, Gegraphics buscó todos aquellos campos del número de ficha en el mapa, que coincidían con el número de ficha de la base de datos en la tabla ficha y columna clave_ficha.  E hizo un ligue a través del mslink autonumérico existente en esa columna.  La forma de probarlo es usando el comando review attributes, debería levantar la tabla asociada.
  • Para actualizar Área y perímetro, se dejan activos los niveles o features de lindero de predio y manzana, y centroides.  Luego se hace Database / area perimeter u
    ddate
    .
  • Para actualizar coordenadas, Database / coordinate update.
  • Insert es para crear un registro nuevo en la base de datos, update para hacer una actualización.

Lo sé, y soy consciente.  Ahora entienden porqué estas cosas se automatizan con herramientas VBA…

Sin embargo, aprender su lógica fue un ejercicio mental que desarrolló algún sector de nuestro cerebro.   El Geospatial Administrator tiene también sus bemoles.

Tags: Bentleydgn
geofumadas: Editor de Geofumadas
Related Post