Web de MiraMon

Sistemas de referencia horizontal en MiraMon.
Tablas y ficheros de geodesia


Sistemas de referencia horizontal

Tablas y ficheros de geodesia


Sistemas de referencia horizontal

En un Sistema de Información Geográfica (SIG), el Sistema de Referencia Horizontal (SRH) sirve para poder definir el marco de referencia (origen, unidades, etc) a partir del cual se miden las cantidades lineales o angulares que se asignen a la posición que ocupa cada punto en el espacio bidimensional X,Y donde se representan los objetos y fenómenos que almacena el SIG. En otras palabras, dada una coordenada X,Y del mapa, el SRH permite saber dónde está medida, en qué unidades, etc.

Los sistemas de referencia horizontal de MiraMon se clasifican en: locales y cartográficos. Los SRH locales se usan en casos sencillos como un plano de una finca agrafia medido en metros desde un origen situado en uno de sus ángulos, o como un mapa escaneado medido en píxeles y con origen el vértice inferior izquierdo del ráster generado en el escaneo. Los SRH locales no tienen ninguna complejidad especial y no requieren prácticamente otra especificación técnica. No obstante, los SRH locales son inadecuados para aplicaciones cartográficas, en las que la extensión del territorio tratado, la necesidad de hacer que la información sea entrecruzable con otras fuentes, etc, obligan a adoptar los procedimientos y las convenciones que, des de hace muchos años, han sido establecidas por la Cartografía y la Geodesia.

Estos procedimientos y convenciones hacen que los SRH cartográficos tengan un nivel de complejidad muy superior a los SRH locales; se debe entender, no obstante, que esta complejidad es necesaria para hacer las transformaciones entre la superficie terrestres (curva, etc) a una cierta proyección cartográfica, dátum, elipsoide, etc.

Este documento describe los SRH de tipo cartográfico. En MiraMon, las capas pueden estar documentadas en cualquier sistema de referencia cartográfico; no obstante, para que MiraMon reconozca el sistema y pueda mostrar coordenadas latitud/longitud, visualizar una red de meridianos y paralelos o transformar la capa a otra proyección o a otro sistema de referencia, se le debe asociar un identificador que denominamos identificador del sistema de referencia horizontal. Este identificador permite describir completamente las propiedades del sistema geodésico subyacente a cualquier SRH de tipo cartográfico. No obstante, para que esto sea posible, el identificador debe cumplir una de las siguientes condiciones, evaluadas en el mismo orden en que se presentan. En otras palabras, cuando se leen los metadatos de una capa se obtiene el identificador de SRH que consta; este identificador se evalúa siguiendo las siguientes condiciones hasta que se encuentra una asociación:

  • El identificador de SRH localizado es un identificador definido en la tabla m_idofic.dbf de MiraMon. Esta tabla es un compendio efectuado por el equipo de MiraMon que presenta unos cuantos casos de sinónimos típicos entre identificadores de SRH utilizados antiguamente, o incluso en la actualidad, y los que oficialmente utiliza el programa (que están en la tabla m_geodes.dbf).
  • El identificador de SRH localizado es un identificador definido en la tabla u_idofic.dbf, que es una tabla de estructura y función similar a m_idofic.dbf, pero que está pensada para permitir a cualquier usuario establecer sinonímias entre identificadores de SRH que el use o haya usado en el pasado y los que oficialmente utiliza el programa (que están en la tabla m_geodes.dbf).
  • El identificador de SRH localizado es un identificador definido en la tabla m_geodes.dbf de MiraMon, es decir, es uno de los que oficialmente utiliza el programa MiraMon.
  • El identificador de SRH localizado está descrito a través de las claves específicas de la sección [SPATIAL_REFERENCE_SYSTEM:HORIZONTAL] del fichero REL de metadatos de la propia capa.
  • El identificador de SRH localizado es un identificador definido en la tabla u_geodes.dbf, que es una tabla de estructura y función similar a m_geodes.dbf, pero que está pensada para permitir a cualquier usuario establecer nuevos identificadores de SRH, es decir, nuevos identificadores que definan nuevas combinaciones de proyecciones cartográficas, elipsoides, dátums, etc.

Si se cumple alguna de estas condiciones, el identificador de SRH queda ligado a unas unidades horizontales, a un dátum, a un elipsoide, a una proyección cartográfica y a unos parámetros válidos para esta proyección. Si no se encuentra ninguna asociación se considera que el SRH es local y no cartográfico.


Tablas y ficheros de geodesia

MiraMon proporciona un juego de tablas de geodesia; las tablas de geodesia de MiraMon. Estas tablas no pueden ser editadas por el usuario y MiraMon se reserva el derecho a introducir ampliaciones y modificaciones en próximas versiones. Los nombres de las tablas de MiraMon empiezan por los caracteres "m_". El usuario puede introducir nuevos sistemas de referencia, nuevos dátums, nuevos elipsoides o nuevos valores de parámetros de proyección en las tablas de geodesia de usuario. Los nombres de las tablas de usuario empiezan por "u_", presentan idéntica estructura a las tablas de geodesia de MiraMon y se pueden crear a partir de las de MiraMon, copiando cada tabla y borrando todos los registros.

La siguiente tabla indica los nombres de las tablas y una pequeña descripción que será ampliada en los próximos puntos de este documento.

Tabla de MiraMon Tabla de usuario Descripción
m_geodes.dbf u_geodes.dbf Relaciona el identificador de SRH con las unidades horizontales, la proyección, los parámetros de proyección, el dátum y el elipsoide.
m_pardtm.dbf u_pardtm.dbf Define los valores de parámetros de Molodenski o Bursa-Wolf, en sentido directo (del dátum a WGS84) e inverso (de WGS84 al dátum), el grupo de dátums al que pertenece cada dátum y los lugares en los que se utiliza.
m_datum.dbf u_datum.dbf Define los grupos de dátums y elipsoide al cual está asociado cada grupo.
m_ellip.dbf u_ellip.dbf Define los valores de radio mayor y aplanamiento (elipsoide) o el radio (esfera) para cada elipsoide.
m_prj.dbf - Define las propiedades de las proyecciones soportadas.
m_parprj.dbf - Define el listado de parámetros de la proyección y sus identificadores posibles para cada proyección soportada. Es una tabla de cardinalidad múltiple.
m_valprj.ini u_valprj.ini Define los valores de los parámetros de proyección válidos para cada proyección dada, en sus diferentes variantes.
m_idofic.dbf u_idofic.dbf Define una tabla de sinónimos para convertir entre identificadores de versiones anteriores o de otras nomenclaturas a los identificadores de SRH oficiales.

Todas las tablas tienen formato dbf y se pueden visualizar con MiraDades (MiraD.exe) excepto la tabla de valores de parámetros de proyección (m_valprj.ini y u_valprj.ini) que es un fichero en formato ini (rel) editable con el bloc de notas (notepad.exe).

Estas tablas son:

1. GEODES: Tabla de geodesia

Como ser verá más adelante, el número de dátums, elipsoides, proyecciones y valores para parámetros de proyecciones válidos por el sistema resulta prácticamente ilimitado. No obstante, para cada región de la Tierra, la cartografía se expresa en un número pequeño de sistemas de referencia horizontal y, generalmente, existe solo un sistema que, con el tiempo, se ha establecido como estándar, a menudo por ley, en un territorio. Es por esto, y para facilitar el uso del sistema, que se proporciona una tabla que permite definir, a partir de los identificadores de dátum, elipsoide, proyección, etc, un número reducido de entradas que representen un subconjunto útil para el entorno de trabajo de usuario. Esta es la tabla de geodesia de MiraMon (m_geodes.dbf). El usuario puede ampliar este conjunto con una tabla de geodesia de usuario (u_geodes). La Tabla define cada identificador de SRH a partir de unas unidades horizontales (campo UNITATS), un identificador de la proyección (campo ID_PRJ), un identificador de parámetros de la proyección (capo ID_VALPRJ), un identificador de dátum (campo ID_DATUM) y un identificador del elipsoide alternativo (campo ID_ELL_ALT).

Un dátum ya lleva asociado su elipsoide (nunca una esfera) en la tabla m_datum.dbf, campo ID_ELLIP. Por esto, el campo de elipsoide alternativo (ID_ELL_ALT) suele dejarse en blanco en la mayoría de casos. Esencialmente, el campo ID_ELL_ALT está pensado para poder aplicar modelos de proyección esféricos. Cuando se define el elipsoide alternativo, solo se aplica en el proceso de cambio de proyección (paso de coordenadas mapa a longitud/latitud) pero no en el cambio de dátum (paso a coordenadas geocéntricas), donde se utiliza siempre el elipsoide asociado al dátum.

2. PARDTM: Tabla de parámetros de dátum para una región concreta

Cada identificador de SRH debe tener correctamente definido el dátum. Esta definición completa no debe indicar solo el dátum geodético, sino también los parámetros óptimos de transformación local entre este dátum y WGS84 y entre WGS84 y este dátum. Con esta finalidad, el campo ID_DATUM de las tablas geodes (m_geodes i u_geodes) contiene un identificador de dátum que permite acceder a la completa definición del dátum a través del campo homónimo de las tablas parDtm (m_ParDtm y u_ParDtm). Como hemos dicho, en estas tablas el dátum se define de forma completa informando del dátum que se ha utilizado (ED50, NAD27, etc) así como de los parámetros de transformación entre este dátum y WGS84 y entre WGS84 y este dátum, los cuales han sido calculados de forma optimizada para cada región concreta que dispone de un identificador de dátum.

El dátum que se ha utilizado (ED50, NAD27, etc) no se describe completamente en esta tabla, ya que esto implicaría una gran redundancia para los diversos identificadores de dátum que se utilicen en un mismo dátum pero diferentes parámetros de transformación respecto a WGS84. Los diferentes identificadores de dátum que utilizan un mismo dátum (pero diferentes parámetros de transformación respecto a WGS84) constituyen un "grupo". Es por esto por lo que el campo ID_GRUP de las tablas ParDtm permite indicar el "grupo" de dátum utilizado (ED50, NAD27, etc) el cual se explicita en las tablas dátum (véase más adelante).

Los parámetros de transformación entre el dátum y WGS84 y entre WGS84 y el dátum para cada identificador de dátum pueden ser de Molodenski (si conocemos solo los desplazamientos X, Y, Z geocéntricos entre dátums), o de Bursa-Wolf (si conocemos también rotaciones y escalado) Se indican en los siguientes campos de las tablas de dátum:

  • Desplazamientos del dátum a WGS84 en metros: DELTA_X, DELTA_Y y DELTA_Z
  • Desplazamientos de WGS84 al dátum en metros: R_DELTA_X, R_DELTA_Y y R_DELTA_Z
  • Rotaciones del dátum a WGS84 en segundos de arco: OMEGA, FI y KAPPA (rotaciones respecto los ejes X, Y y Z respectivamente)
  • Rotaciones de WGS84 al dátum en segundos de arco: R_OMEGA, R_FI y R_KAPPA (rotaciones respecto los ejes X, Y y Z respectivamente)
  • Escalado del dátum a WGS84 en partes por millón: ESCALAT
  • Escalado de WGS84 al dátum en partes por millón: R_ESCALAT

Dejen en blanco los cuatro últimos puntos para describir los parámetros de Molodenski. Existe la posibilidad de definir el error asociado a cada uno de los parámetros anteriores, por ejemplo S_DELTA_X corresponderá al error en DELTA_X tanto en sentido directo como inverso. Para algunos dátums, existen parámetros específicos, ajustados de forma particularmente óptima, para diversas zonas de la Tierra. El campo LLOCS especifica las zonas de aplicación de cada juego de parámetros.

3. DATUM: Tabla de dátums

Esta tabla contiene los diferentes dátums utilizados en cartografía, pero sin ninguna parametrización de conversión entre ellos ni con WGS84 (véase las tablas ParDtm para esta finalidad). Como se ha explicado cuando nos referíamos a la tabla ParDtm, diversos identificadores de dátum se agrupan alrededor de un mismo dátum geodético, por lo que el campo clave de esta tabla se denomina ID_GRUP, con el cual se enlaza el campo homónimo de las tablas ParDtm.

Las tablas DATUM describen los dátums e indican el elipsoide asociado a cada dátum.

4. ELLIP: Tabla de elipsoides

Lo más habitual es que el sistema de referencia use el elipsoide asociado a su dátum, tanto para el paso de coordenadas mapa a coordenadas longitud/latitud como para el paso a coordenadas geocéntricas. Este elipsoide está especificado en el campo ID_ELLIP de la tabla de dátums, que enlaza con la tabla de elipsoides m_ellip.dbf o u_ellip.dbf. Hay bases que, debido a su extensión continental o m undial y a su baja resolución, utilizan un sistema de proyección esférico. En este caso podemos forzar el uso de un elipsoide alternativo (tan solo utilizado en el paso de coordenadas mapa a longitud/latitud), introduciéndolo en el campo ID_ELL_ALT de la tabla de geodesia (que de otra manera está en blanco). Este identificador también enlaza con una de las tablas de elipsoides. Los parámetros necesarios para definir un elipsoide son:

  • Semieje mayor en metros: SMAJORAXIS
  • Inverso del aplanamiento: RECFLATT

Si queremos describir un modelo esférico, se debe introducir el radio como semieje mayor y dejar en blanco el campo del inverso del aplanamiento.

5. PRJ: Tabla de proyecciones cartográficas

Los sistemas indicados en las tablas de geodesia m_geodes.dbf y u_geodes.dbf) deben enlazar a través del campo ID_PRJ con la tabla de proyecciones m_prj.dbf. En este caso no existe una tabla de usuario; MiraMon solo puede soportar aquellas proyecciones ya definidas en esta tabla. Si se desea soporte a alguna proyección no implementada actualmente, se puede solicitar su codificación en suport@miramon.cat. En cambio, si permite definir tantos juegos de parámetros de cada proyección como se crea necesario (por ejemplo husos de la proyección UTM o paralelos automecoicos en la Lambert cónica conforme). Cada proyección tiene asociadas unas unidades por defecto, y además, se han descrito las siguientes propiedades geométricas, para una mejor información para el usuario:

  • CONFORME: La proyección no distorsiona las formas (mantiene los ángulos)
  • EQUIVALENTE: La proyección conserva las áreas (es decir, un cálculo cartesiano del área coincide con el área real). No obstante, MiraMon es capaz de proporcionar áreas bien calculadas independientemente de si la proyección es equivalente o no.
  • EQUIDISTANTE: Las distancias medidas en el globo y en el plano de proyección son iguales. Esta propiedad está asociada a distancias medidas des de un punto en cualquier dirección, pero nunca no se cumple para todos los puntos y direcciones del mapa a la vez. No obstante, MiraMon es capaz de proporcionar distancias bien calculadas independientemente de si la proyección es equidistante o no.

Para estas propiedades, el valor 0 indica ausencia, 1 indica que la propiedad se cumple en determinadas localizaciones o direcciones, 2 indica que la propiedad se cumple parcialmente y 3 indica que la propiedad se conserva en todo su dominio.

6.PARPRJ: Tabla de parámetros de proyección

La tabla m_prj.dbf enlaza con la tabla m_parprj.dbf, donde están todos los parámetros de cada proyección que pueden recibir valores con sus unidades (notad que de las tablas m_parprj y m_prj no existen tablas de usuario). La tabla m_parprj.dbf también tiene la funcionalidad de describir el significado geodésico de cada parámetro de la proyección y de controlar el rango de sus posibles valores válidos.

7.VALPRJ: Parámetros de proyección

Un determinado SRH tomará unos valores concretos de los parámetros definidos a m_parprj por su sistema de proyección. Estos valores particulares se definen en los ficheros m_valprj.ini y u_valprj.ini de la siguiente forma: El sistema de referencia define un "juego" de parámetros en el campo ID_VALPRJ de la tabla de geodesia correspondiente a la proyección "prj" del campo ID_PRJ. Este juego de parámetros de la proyección enlaza con la sección [prj:joc] de uno de los ficheros m_valprj.ini o u_valprj.ini. En esta sección, cada uno de los posibles parámetros de la proyección, definidos en m_parprj.dbf, será una clave donde tomará un valor concreto. Su ausencia implicará que el parámetro tomará el valor por defecto.

En resumen, cada proyección admite ser parametrizada de muchas formas: qué paralelos de referencia en ciertas proyecciones cónicas y cilíndricas, que meridiano se asigna a la coordenada X=0, etc. El campo ID_PRJ de m_geodes indica la proyección en si (y a la vez, se puede saber qué parámetros se debe le debe dar, consultando la tabla m_ParPrj para los registros que presenten el mismo valor en el campo ID_PRJ de esta tabla). No obstante, la proyección se concreta (qué valor toma cada uno de los parámetros de m_ParPrj) a través del fichero m_ValPrj.ini, que contiene secciones de nombre combinado [ID_PRJ:ID_VALPRJ] que, a su vez, contienen, en sus claves, los vales de los parámetros (por ejemplo "fals_est=600000" o "lambda_0=0.0").

Esquema y ejemplo

El esquema relacional de las tablas y ficheros de geodesia en MiraMon se puede resumir como:

Por ejemplo, el sistema de referencia UTM-31N-UB/ICC le correspondería un esquema como el siguiente:

Notas:

Para interpretar correctamente los nombres de sistemas de referencia de las versiones de MiraMon anteriores a la 4 o para identificar nombres equivalentes que provienen de algunas importaciones de otros softwares, existen las tablas de identificadores oficiales: m_idofic.dbf y u_idofic.dbf. EL campo PSIDGEODES contiene el nombre anterior o alternativo, mientras que el campo ID_GEODES contiene el nombre oficial que enlaza con una de las tablas m_geodes.dbf o u_geodes.dbf. Por ejemplo, si tenemos muchas bases documentadas con el SRH UTM-31N, podemos definir que UTM-31N es equivalente a (sinónimo de) UTM-31N-UB/ICC.

Se debe tener presente cual es la jerarquía del esquema geodésico para evitar posibles redefiniciones. Un SRH viene unívocamente identificado por su campo clave ID_GEODES. Si existiera una repetición de este identificador entre las tablas de geodesia y/o entre un REL correspondiente a una capa en particular, en primer lugar prevalecen los de la tabla de MiraMon m_geodes.dbf, en segundo lugar los del REL particular de la capa y en último lugar los de la tabla de usuario u_geodes.dbf.

Si se desea crear un sistema de referencia diferente de los definidos por MiraMon, se debe asignar un identificador diferente a la tabla de usuario y hacerlo corresponder al resto de elementos geodésicos. Dado que el nombre de sistemas de referencia horizontal posibles en base a combinar proyecciones, parámetros, dátums, etc, es enorme, las tablas oficiales de MiraMon (fichero m_) solo recogen los sistemas más utilizados entre nuestros usuarios. Esto permite que el número de opciones disponible en los desplegables no sea intratable. Gracias a la existencia de las tablas de usuario (ficheros u_) cada usuario puede definir perfectamente su sistema y verlo en el desplegable como un sistema a punto de ser usado.

No obstante, aquellos usuarios que consideren que su sistema de referencia es muy universal, o usado por muchos usuarios, y en particular aquellas instituciones que difunden cartografía por Internet a través de la tecnología del MiraMon Internet Map Publisher (formato MMZ y el Lector de Mapas de MiraMon) pueden solicitar a suport@miramon.cat que su sistema incorpore entre los sistemas presentes en las tablas de "m_" que se distribuyen con MiraMon y con el "Lector de Mapas de MiraMon".

El usuario puede tener diversas tablas y ficheros de geodesia, respetando los nombres, en ubicaciones diferentes. Una sesión de MiraMon o cualquier módulo (MSA) tiene siempre definido el directorio de trabajo (consúltese Ayuda | Directorio de trabajo en el menú de MiraMon). Las tablas o ficheros ubicados en el directorio de trabajo serán las que prevaldrán. Si no se localizan en el directorio de trabajo, se utilizan las existentes en el directorio donde se ha instalado el programa (típicamente C:\MiraMon). Las tablas de geodesia "m_" son suministradas por MiraMon y no deben ser modificadas. Es posible definir un nuevo sistema de referencia de usuario en las tablas "u_" o directamente en el fichero REL. MiraMon no proporciona tablas de usuario, pero pueden ser creadas por el usuario y añadir en ellas los nuevos sistemas de referencia. No obstante, se debe tener cuidado cuando se modifica la estructura de las tablas de usuario: se permite añadir campos con nueva información y cambiar el orden de los campos, pero otras modificaciones podrían inutilizar todo el esquema geodésico.

En aquellas tablas en las que existe un campo de nombre SRC se debe indicar la fuente de los datos de cada registro.

En futuras versiones, se facilitarán interfícies para añadir, de manera asistida, nuevos sistemas de referencia, o hacer algunas modificaciones sobre los existentes. Actualmente es necesario comprender todo el esquema relacional y manipular las tablas directamente con MiraDades. Se puede crear nuevas entradas duplicando un registro ya existente que sea parecido al nuevo sistema y modificar el contenido de los campos del nuevo registro.

Algunos campos de las tablas de geodesia tienen un campo de descripción asociado. El contenido de este campo puede ser directamente una cadena de texto descriptiva o puede ser una cadena del estilo STB#Desc . Este segundo caso, usado para un mejor mantenimiento idiomático, implica que el registro en cuestión, a punta a un descriptor (Desc) que encontraremos definido en el fichero general.stb.


Por último, hay que tener en cuenta que las transformaciones de capas se soportan para los formatos propios de MiraMon, IMG por los rásters, y PNT, ARC/NOD, POL o VEC para los casos vectoriales. En caso de querer transformar una capa en cualquier otro formato será necesario realizar una importación a través del módulo correspondiente de "Archivo | Importar" (TIFIMG, DXFVEC, etc).

Este documento es tan solo una ayuda a nivel de usuario de cómo han sido implementados los conceptos y mecanismos geodésicos en el SIG MiraMon y no pretende explicar los conceptos, transformaciones, propiedades, etc de la geodesia. Consúltese un buen manual de cartografía y/o geodesia para más detalles.