-
BDGeomet: Obtención de geometrías desde una base de datos (local o remota)
Acceso directo de la ayuda en Internet: BDGeomet
Acceso a la aplicación desde el menú:
"Fichero | Importar | Vectores y/o bases de datos | DBF, Access, etc -> MMM (PNT, ARC/NOD, POL)"
"Fichero | Exportar | PNT -> DBF (x,y,z)"
"Herramientas | Mantenimiento de ficheros | Obtención de puntos desde tabla DBF, Access, etc"
Presentación
Esta aplicación genera ficheros vectoriales a partir de un campo de localizaciones geográficas de tipo punto (X,Y) o de un campo de geometrías WKT de una tabla de cualquier base de datos (local o remota). En el caso de un campo de localizaciones geográficas de tipo punto, el fichero de salida se genera estructurado topológicamente en formato PNT de MiraMon.
Esto es particularmente útil cuando se dispone de una tabla que describe para cada registro la localización (X,Y) del punto o los vértices de su geometría en formato WKT (ya sea punto, línea o polígono) y uno o más atributos (por ejemplo niveles de contaminantes en pozos). En este caso se puede convertir la tabla en una capa de información gráfica (PNT) con su información alfanumérica asociada (manteniendo el vínculo con la base de datos original o bien exportando los datos a una tabla DBF asociada al fichero de puntos).
La tabla puede residir en cualquier base de datos, p.ej. DBF, ACCESS, ORACLE, DB2, EXCEL... Para todas aquellas bases de datos diferentes a DBF, el acceso se realiza mediante ODBC (Open DataBase Connectivity). Es posible dirigirse directamente a aquellas bases de datos localizadas en un fichero (p.ej. ficheros MDB de ACCESS, ficheros XLS de EXCEL, etc). Para las bases de datos residentes en un servidor (p.ej. ORACLE, INFORMIX, DB2, etc) se debe utilizar un fichero especial, el fichero DSN (Data Source Name), que puede generarse con la herramienta "Orígenes de Datos (ODBC)" del propio WINDOWS (se puede buscar ODBC en la ayuda de WINDOWS para más información). En los casos en que se accede a una base de datos vía ODBC se puede optar por indicar cualquier tabla o vista (consulta predefinida) existente en la base de datos o bien optar por utilizar una sentencia SQL que genere dinámicamente la tabla deseada.
Las librerías empleadas para la interpretación y manipulación de geometrías en formato WKT (Well-Known Text) han sido desarrolladas dentro del proyecto GEOS (Geometry Engine - Open Source), mantenido principalmente por miembros de OSGeo y diversos colaboradores independientes. Estas librerías se distribuyen bajo una licencia LGPL; agradecemos a los autores y contribuidores del proyecto GEOS su generosidad y esfuerzo al ponerlas a disposición de la comunidad.
Un caso particular de aplicación de este programa es la recuperación de las etiquetas que se usaron para asignar atributos a una capa de polígonos, ya que la base de polígonos (P.dbf) a menudo contiene, en los campos MAPX y MAPY, las coordenadas de las etiquetas. Sin embargo, debe recordarse que siempre se permite recuperar las etiquetas de una capa de polígonos a través de Etiqueta.
La tabla origen, por tanto, puede ser una tabla en formato DBF, una tabla DBF asociada a una base de polígonos (P.dbf), o una tabla en cualquier base de datos (ACCESS, EXCEL, ORACLE, DB2, SQL-Server, etc). En cualquier caso, la tabla origen debe presentar dos campos que contengan, respectivamente, las coordenadas X e Y del punto. Cuando se extraen los puntos de una DBF o de una tabla en cualquier base de datos genérica, estos campos pueden tener cualquier nombre; en cambio, deben llamarse MAPX y MAPY cuando se trata de la DBF asociada a una base de polígonos (opción por defecto en el proceso de estructuración topológica de MiraMon).
Cuando se extraen los puntos de una DBF o de una tabla en una base de datos genérica cualquiera, se exportan todos los campos hacia la base de puntos (T.dbf) solo en aquellos casos en los que se ha indicado que no se desea mantener el vínculo con la base de datos original. En cambio, cuando se extraen las etiquetas de un fichero de polígonos estructurado topológicamente (P.dbf), solamente se incorporarán a la T.dbf aquellos campos que NO hacen referencia a las características geométricas ni topológicas de los polígonos (los campos como AREA, PERIMETRE, N_VERTEXS, etc, no se exportan). Si se debe escoger solamente algunos campos debe utilizarse una sentencia SQL vía ODBC.
En el caso de un campo de localizaciones geográficas de tipo punto, los campos que contienen las coordenadas X e Y de los puntos pueden ser de tipo numérico (N) (p.ej. contener la coordenada Y en UTM31N 4500120.0 para las UTMY o bien en grados decimales 12.01 grados) o de tipo carácter (C). En este último caso, se soporta el formato de grados, minutos y segundos con la forma siguiente: Gº M' S".
También para el caso de un campo de localizaciones geográficas de tipo punto, por defecto, el programa estructura topológicamente la capa de puntos creada, es decir, vela por la unicidad espacial por lo que dos puntos situados a una distancia inferior o igual a una tolerancia indicada se consideran el mismo punto. Desde el botón "Avanzadas" se permite indicar el valor de esta tolerancia (que tendrá valor cero si no se indica otro). También desde este botón "Avanzadas" se puede indicar que no se desea estructurar topológicamente, y en este caso dos o más puntos situados en el mismo sitio serán mantenidos como puntos independientes.
Como acaba de explicarse, el valor de la tolerancia, que sólo aplica cuando se estructura topológicamente, debe expresarse en las mismas unidades que las coordenadas XY y sirve para considerar iguales dos puntos ubicados a una distancia euclídea inferior o igual a ese valor. Cuando esto ocurre, si los atributos de los dos o más puntos situados en un radio inferior o igual a la tolerancia son diferentes (en cualquiera de los campos temáticos de la base de datos), el punto pasa a tener, en la tabla T.dbf, tantos registros como puntos originales tenían atributos distintos (situación que se describe como "registro múltiple"). Sin embargo, si los atributos son iguales (puntos muy cercanos pero con información repetida) se genera un registro único, en la tabla T.dbf, para el punto. En el caso de mantener el vínculo en la base de datos original vía ODBC y de tener que generarse registro múltiple por la estructuración topológica y la tolerancia, este registro múltiple se crea de forma natural.
A través del botón "Avanzadas" también se permite indicar el sistema de referencia. Si no se indica, se aplica el sistema de referencia por defecto (guardado en MiraMon.par).
Si en la última ejecución se definió una tolerancia diferente de cero, o un sistema de referencia diferente al sistema por defecto indicado en MiraMon.par, el símbolo '!' junto al botón "Avanzadas..." avisará de que es muy conveniente pulsar el botón y revisar si todavía se quiere aplicar estos parámetros especiales.

Caja de diálogo de la aplicación
|
Caja de diálogo de BDGeomet. |

Sintaxis
Sintaxis:
- BDGeomet FicheroOrigen FicheroDestino [/CAMPX] [/CAMPY] [/CAMPID] [/ODBC] [/TAULA] [/SQL] [/LLIGAM] [/NO_ESTRUCTURAR] [/TOLERANCIA] [/GMS] [/PROJECCIO] [/DEBUG] [/CONSULTA_LENTA] [/PUNTS] [/CAMPWKT] [/ARCS] [/CAMPZ] [/POLS]
Parámetros:
- FicheroOrigen
(Fichero origen -
Parámetro de entrada): Fichero de polígonos (POL), una DBF o cualquier base de datos vía ODBC (MDB, XLS, DBF o DSN). Si el fichero de entrada es POL, no es necesario indicar ningún parámetro optativo. Si el fichero de entrada es una base de datos, es necesario indicar: /CAMPX, /CAMPY y /CAMPID (en el caso de un campo de coordenadas de puntos) o /CAMPWKT (en el caso de un campo de geometría WKT).
- FicheroDestino
(Fichero destino -
Parámetro de salida): Nombre del fichero de puntos de salida, en caso de importar un campo de coordenadas de puntos, o nombre del fichero de mapa de salida, en caso de importar un campo de geometrías WKT.
Modificadores:
/CAMPX=
(Campo de la coordenada X)
Campo que contiene la coordenada X (campo físico o resultado de una consulta SQL). (Parámetro de entrada) /CAMPY=
(Campo de la coordenada Y)
Campo que contiene la coordenada Y (campo físico o resultado de una consulta SQL). (Parámetro de entrada) /CAMPID=
(Campo identificador)
Campo con un identificador de Entidad (campo físico o resultado de una consulta SQL). Véase el parámetro /LLIGAM. (Parámetro de entrada) /ODBC
(ODBC)
Si el fichero origen es DBF y quiere tratarse vía ODBC, hay que indicar este parámetro. (Parámetro de entrada) /TAULA=
(Tabla)
Tabla donde se encuentran los campos anteriores. (Parámetro de entrada) /SQL=
(Sentencia SQL)
Sentencia SQL, que forzosamente debe incorporar los campos CAMPX, CAMPY y CAMPID (véase el parámetro /LLIGAM). Pueden utilizarse alias de campos. (Parámetro de entrada) /LLIGAM
(Mantener vínculo entre fichero PNT y la base de datos)
Si se halla presente indica que se quiere mantener el vínculo entre el fichero de puntos y la base de datos original. En este caso sólo se importa el campo CAMPID en la base de datos asociada a los puntos (T.DBF) y en el REL se establece de forma automática la conexión con la base de datos original. En este caso es obligatorio indicar cuál es el CAMPID (físico o resultado de una consulta SQL). Si este parámetro no se halla presente se importan en la base de datos asociada a los puntos (T.DBF) todos los campos de la tabla o vista original o todos los campos presentes en la consulta SQL. (Parámetro de entrada) /NO_ESTRUCTURAR
(No verificar la superposición del puntos)
Indica que no es necesario verificar si dos puntos están superpuestos antes de generar el PNT. Si se indica este parámetro no se puede indicar /TOLERANCIA=. (Parámetro de entrada) /TOLERANCIA=
(Valor de tolerancia entre puntos)
Valor de distancia entre dos puntos por debajo de la cual dos puntos se funden en un solo punto. Si no se indica ninguna tolerancia, se asume 0. (Parámetro de entrada) /GMS
(Conversión de las coordenadas)
En los casos DBF y ODBC, si la proyección es LAT/LONG y las coordenadas se hallan en el formato Gº M' S", se debe indicar este parámetro para realizar la conversión de forma correcta. Si las coordenadas se encuentran en el formato grados decimales, no es necesario indicarlo. Se toleran espacios entre Gº M' y S" (p.ej. se tolera [15º 3' 12"], pero no se tolera [15º,3',12"]); se tolera que haya solamente Gº y M'. (Parámetro de entrada) /PROJECCIO=
(Sistema de referencia espacial de los datos)
En los casos DBF y ODBC, se debe indicar en qué sistema de referencia espacial se encuentran los datos, con la finalidad de documentar correctamente este aspecto en el fichero de metadatos. Si no se indica, se utiliza el valor por defecto del fichero MiraMon.par. En el caso POL, el sistema de referencia espacial será el mismo que el que tiene el fichero de polígonos origen. Si tiene que cambiar el sistema de referencia espacial se puede utilizar CanviPrj. (Parámetro de entrada) /DEBUG
(Debug)
Información para programadores. (Parámetro de entrada) /CONSULTA_LENTA
(Conexión ODBC)
Opción especial de recuperación de resultados a través de una conexión ODBC. Utilizar solo si hay problemas con ODBC. ¡Es especialmente lenta! (Parámetro de entrada) /PUNTS
(Importación de puntos de geometría WKT)
En caso de importar un campo de geometría WKT, si se indica este modificador, se importarán los puntos de ese campo. Si no se indican /PUNTS, /ARCS o /POLS, se importarán todos los tipos de objetos admitidos por MiraMon que se encuentren en la geometría WKT. (Parámetro de entrada) /CAMPWKT=
(Campo de la geometría WKT)
Campo que contiene la geometría WKT (campo físico o resultado de una consulta SQL). (Parámetro de entrada) /ARCS
(Importación de arcos de geometría WKT)
En caso de importar un campo de geometría WKT, si se indica este modificador, se importarán los arcos de ese campo. Si no se indican /PUNTS, /ARCS o /POLS, se importarán todos los tipos de objetos admitidos por MiraMon que se encuentren en la geometría WKT. (Parámetro de entrada) /CAMPZ=
(Campo Z)
Campo que contiene la coordenada Z (campo físico o resultado de una consulta SQL). En el caso de importar un campo de geometrías WKT, se puede elegir entre indicar un campo para la coordenada Z (/CAMP=...) o importar las coordenadas Z de las geometrías WKT indicando solo el modificador (/CAMP). (Parámetro de entrada) /POLS
(Importación de polígonos de geometría WKT)
En caso de importar un campo de geometría WKT, si se indica este modificador, se importarán los polígonos de ese campo. Si no se indican /PUNTS, /ARCS o /POLS, se importarán todos los tipos de objetos admitidos por MiraMon que se encuentren en la geometría WKT. (Parámetro de entrada)
NOTAS:
En el caso de ficheros de tipo DBF:
Los nombres de los campos CAMPX, CAMPY, CAMPID deben seguir las especificaciones del formato DBF.
+ Los caracteres válidos son: letras mayúsculas [A-Z], cifras [0-9] y el carácter '_', pero no al inicio.
+ No se toleran espacios en blanco.
+ El máximo número de caracteres es 10.
En el caso de bases de datos vía ODBC:
+ Si los nombres de los campos CAMPX, CAMPY, CAMPID no cumplen los estándares de dBase, son modificados, y el nombre original pasa a ser el descriptor del campo en el REL.
+ En caso de que se utilice una sentencia SQL, pueden utilizarse alias para los nombres de los campos.
Por ejemplo:
/CAMPX=X
/CAMPY=Y
/SQL="SELECT Coordenada_X as X, Coordenada_Y as Y, IdentificadorEntidad AS IDE FROM FicheroConLosDatos.txt"
