Sistemas de referencia horizontal en MiraMon. |
Sistemas de referencia horizontalEn 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:
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 geodesiaMiraMon 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.
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:
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:
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:
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. |