Buscar este blog

jueves, 17 de diciembre de 2015

Breve explicación sobre el manejo de sistemas de coordenadas en Qgis. Caso particular de Panamá convertir de WGS84 Zona 17 Norte (EPSG:32617) a NAD27 Zona 17 Norte (EPSG:26717) y viceversa

Breve explicación sobre el manejo de sistemas de coordenadas en Qgis. Caso particular de Panamá convertir de WGS84 Zona 17 Norte (EPSG:32617) a NAD27 Zona 17 Norte (EPSG:26717) y viceversa



En este pequeño tutorial explicativo, aprenderemos definiciones bastante básicas sobre lo que es un sistema de coordenadas, como manejarlo en  Qgis, transformar o reproyectar entidades entre distintos sistemas de coordenadas y el caso particular de reproyectar entre los sistemas de coordenadas UTM WGS84 y UTM NAD27 en Qgis. 

¿Qué es un sistema de coordenadas?


Un sistema de coordenadas es un sistema formado por un conjunto de elementos (ejes, datum, coodernadas, etc.) ordenados a lo largo de su extensión, puede ser usado para ubicar la posición de un objeto cualquiera que tenga valores correspondientes al mismo.

Podemos entender esta explicación mejor con un ejemplo, tenemos un conjunto de valores en un sistema, el cual tiene dos ejes el eje x y el eje y.





Ahora tenemos 3 objetos con valores que podemos corresponder en este sistema,

                        Objeto 1 y→10 , x→2
                        Objeto 2 y→ 5 , x→8
                        Objeto 3 y→11 , x →14

Nuestro sistema de coordenadas es la extension de esta malla, con ella podemos saber fácilmente cual seria la ubicación de nuestros objetos, dado que ellos tienen valor correspondiente en los ejes de nuestro sistema. En un sistema de coordenadas el conjunto de valores para ubicar un objeto se le llama coordenada

Podríamos ubicar nuestros objetos en las siguientes coordenadas de nuestro sistema




Hay muchos tipos de sistemas de coordenadas, y no necesariamente tienen que tener solo 2 ejes. Sistemas de coordenadas tridimensionales tienen tres ejes, y pueden tener más. Para que un objeto sea ubicado correctamente en el sistema, se le deben un valor por eje, o sea un coordenada.

Para nuestro caso nos interesan los sistemas de coordenadas concernientes al ámbito geográfico. Hay varios tipos sistemas de coordenadas geográficos, lo que comparten todos ellos es que tratan de representar la superficie del planeta y los objetos y fenómenos que se encuentran en ella. Hay muchos factores al considerar si hablamos sobre que parámetros conforman un sistema de coordenadas geográfico, que no tocaremos en esta entrada por ser términos matemáticos algo complejos. Por ahora nos enfocaremos en saber como tratar con los mismos en Qgis.



Sistemas de coordenadas en Qgis


Cuando cargamos una capa en Qgis el proyecto adquirirá por defecto el sistema de referencias de coordenadas (SRC) de esa primera capa cargada. Podemos observar el sistema de coordenada del proyecto en la esquina inferior izquierda y lo identificaríamos a través del código EPSG. Adicional a esto, si tenemos activada la proyección al vuelo lo veremos indicado entre paréntesis


Indicación del proyecto con el sistema de coordenadas WGS84 Zona 17 Norte, sin reproyección al vuelo



Indicación del proyecto con el sistema de coordenadas NAD27 Zona 17 Norte, sin reproyección al vuelo



Indicación del proyecto con el sistema de coordenadas WGS84 Zona 17 Norte, con la reproyección al vuelo activa



Indicación del proyecto con el sistema de coordenadas NAD27 Zona 17 Norte, con la reproyección al vuelo activa




Es preferible, pero opcional, que la opción de reproyección al vuelo este desactivada. Accedemos a esta opción a través de la pestaña Configuración→Opciones. Allí nos dirigimos a la pestaña SRC, y colocamos la opción No habilitar la reproyección “al vuelo”.















¿Por qué seleccionamos esta opción? La reproyección al vuelo es una opción que hace que todas las capas que tienen un sistema de coordenadas diferente, se comporten como si todas tuvieran el mismo sistema de coordenada que tiene el proyecto. La reproyección al vuelo es útil para fines visuales, como para elaborar un mapa y no tener que reproyectar todas las capas a un mismo SRC, pero no debe ser usado para fines de manipulación de datos, cada sistema de coordenadas tiene sus diferentes valores en precisión, desviaciones, medidas, etc., por ende lo más adecuado es manipular los datos cuando el sistema de coordenadas del proyecto y el de todas las capas presentes es el mismo. Se puede trabajar con la reproyección al vuelo, sí, pero no es lo óptimo. Cuando se instala Qgis,  el software tiene seleccionada por defecto la opción de Habilitar automáticamente la reproyección al vuelo si las capas tienen un SRC diferente, al tenerla activada si se carga una capa que tenga un sistema de coordenadas diferente al proyecto, este activa la reproyección al vuelo, haciendo que todas las capas se muestren en el sistema de coordenadas seleccionado para el proyecto. La otra opción Activar reproyección al vuelo por defecto hace que todas las capas se visualicen siempre en el sistema de coordenadas asignado al proyecto.

En la siguiente imagen podemos ver como se ven dos capas en el mismo proyecto cuando ambas tienen sistemas de coordenadas diferentes.
























El SRC del proyecto es WGS84 Zona 17 Norte (código EPSG:32617) igual que el de la capa Calles ilustrativas, que es una entidad tipo línea que representa la Carretera Interamericana en Panamá. La otra capa Base Panamá tiene el SRC WGS84 (código EPSG:4326), esta es una entidad tipo polígono que representa a Panamá y parte del territorio de Costa Rica y Colombia. Podemos ver en la imagen que el circulo rojo en la barra donde se indica el sistema de coordenadas dice que el sistema del proyecto es el 32617, sin reproyección al vuelo. Vemos la capa de Calles ilustrativas claramente en la imagen, la flecha roja indica el lugar donde esta la otra capa, la de Base Panamá. 

¿Por qué no la podemos ver? Puesto que en el SRC del proyecto WGS84 Zona 17 Norte, los valores de la capa Base Panamá se encuentran en ese lugar señalado con la flecha y los mismos corresponden a un espacio muy pequeño en el SRC del proyecto por eso no lo vemos.

Ahora procedemos a tocar la parte de la barra que indica el SRC del proyecto en la esquina inferior izquierda. Al tocarlo se nos habré la ventana de Propiedades del proyecto | SRC, como habíamos desactivado anteriormente la reproyección al vuelo por defecto, la casilla de Activar transformación de SRC al vuelo se encuentra desactivada. Para volver a activar la reproyección al vuelo solo hay que dar clic sobre ella.



Podemos ver el efecto en esta imagen




En esta imagen podemos ver que la capa de Base Panamá se ve sobrepuesta con la capa de calles, puesto que esta vez tenemos activada la reproyección al vuelo, causando que Base Panamá se vea como si su sistema de coordenadas fuera el del proyecto.

Se que este es un tema difícil de entender a cabalidad. Para poder hacerlo hay que documentarse mucho sobre geodesia y matematica euclidiana, pero para fines prácticos basta con comprender la funcion que tiene un sistema de coordenadas y como manejarse con ellos en el software. Si desean ahondar más en el tema pueden seguir estos links:
 Articulo en Wikipedia sobre los sistemas de coordenadas

 Instituto Nacional de Estadística y Geografía de México


¿Como podemos reproyectar el sistema de coordenadas de nuestras capas a otro?


Reproyectar en el ámbito SIG es la acción de cambiar la proyección o el sistema de coordenadas de una entidad en otro, normalmente creando una capa igual pero correspondiente al sistema de coordenadas deseado. En Qgis esta acción la realizamos de manera simple con el comando Guardar como… dando clic derecho sobre cualquier capa, nos saldrá la ventana de guardar capa. En ella podemos seleccionar el formato de nuestro nuevo archivo a guardar, su ubicación y lo que nos concierne el sistema de coordenadas que se elige en la barra SRC de la capa.





















Reproyectando la capa de Base Panamá al SRC WGS84 Zona 17 Norte, creamos otra nueva capa que nombramos Base Panamá 32617 para distinguirla.























Podemos observar que sin tener la reproyección al vuelo activa las capas concuerdan, pues esta nueva capa Base Panamá 32617 esta en el mismo sistema de coordenadas que el proyecto y la otra capa.


Caso particular de reproyección para Panamá y Centro América. Pasar de WGS84 Zona 17 Norte (EPSG:32617) a NAD27 Zona 17 Norte (EPSG:26717)


Hasta ahora hemos aprendido que con el comando Guardar como... podemos reproyectar nuestras entidades a otro SRC diferente. En el caso particular de Panamá (y de gran parte de Centroamérica), ocurre una situación especial al momento de reproyectar entidades desde el los sistemas de coordenadas NAD27 en UTM y WGS84 en UTM. En situaciones normales un objeto reproyectado entre estos sistemas de coordenadas tiene una diferencia de ± 200m al norte y de ± 20m en el este. Si transformáramos un objeto de NAD27 hacia WGS84 la entidad resultante debería estar aproximadamente 200m mas al norte y 20m mas al este que la entidad original, si se reproyecta desde WGS84 hacia NAD27 la entidad resultante debería estar aproximadamente 200m mas al sur y 20m mas al oeste.


Sin embargo, cuando realizamos esta operación en Qgis, ocurre una situación curiosa.

En la imagen tenemos un punto original en NAD27, lo reproyectaremos a WGS84. Al medir la distancia entre ambos puntos da como resutado ±58 metros.

Así es, el resultado no son los valores esperados al norte, ni tampoco lo son al este.

¿Por qué ocurre esto? Qgis para reproyectar datos usa una transformacional directa entre los valores de los sistemas de coordenadas y por ello omite muchos datos, entre estos omite los valores de cambio entre sistemas de coordenadas con datums diferentes. El datum geográfico, es una figura matematica que en un sistema de coordenadas se usa para representar la superficie de la Tierra y a través de ella podemos relacionar un valor en el datum con un objeto real en la Tierra, en nuestra primera imagen de ejemplo, nuestro datum seria la malla de celdas, por dar un ejemplo. No todos los datums tienen la misma imagen matematica de la Tierra, en el caso de NAD27 se asume que el centro de gravedad de la Tierra se encuentra en un punto bastante más al Norte que para el caso de WGS84, esta diferencia afecta el resultado final de la reproyección. 

Esta transformación directa entre SRC es óptima para objetos ubicados en muy altas o bajas latitudes, pero no para los ubicados en partes medias de la Tierra, como es el caso de Panamá y Centroamérica. En este caso se nos presenta un problema en la exactitud de la reproyección en el software. Afortunadamente Qgis es un programa muy versátil y nos permite crear nuestros propios sistemas de coordenadas personalizados.

Procederemos a crear un sistema de coordenadas equivalente al NAD27, pero que tenga la orden de que al momento de reproyectar entre estos sistemas de coordenadas tome en cuenta otros parámetros que son los adecuados para la transformación entre sistemas de coordenadas con diferentes datums, en este caso usaremos como ejemplo el WGS84 Zona 17 Norte y el NAD27 Zona 17 Norte. Como resultados las nuevas entidades reproyectadas entran una diferencia de ± 200m al Norte y de ± 20m al Este.



Creando un sistema de coordenadas personalizado en Qgis


Nos vamos a la pestaña de Configuración->SRC personalizado... Se nos abrirá la ventana de Definición de sistema de coordenadas personalizado

























Tocamos el símbolo de verde para agregar un nuevo espacio que sera de nuestro sistema de coordenadas nuevo.


En la parte de abajo hay que especificar un nombre para el nuevo sistema de coordenadas, le colocamos uno a nuestro gusto.
Sigue el recuadro de parámetros del sistema de coordenadas. Estos parámetros deben equivalentes al NAD27 Zona 17 Norte, para tener los mismos copiamos el sistema de coordenadas NAD27 con el botón de Copiar SRC existente que esta a la derecha.


Al tocarlo se desplegaran los sistemas de coordenadas disponibles por defecto, buscamos el NAD27 Zona 17 Norte (código EPSG:26717), lo tocamos y le damos aceptar.
De vuelta a la ventana de Definición de sistema de coordenadas personalizado veremos que en el recuadro de Parámetros ahora tenemos valores, estos son equivalentes a los del SRC NAD27 Zona 17 Norte.



Ahora, en el espacio después de donde se especifica la zona, vamos a agregar estos valores:

+ellps=clrk66 +towgs84=0,125,201,0,0,0

A la vez eliminamos el valor +datum=NAD27

¿Qué son estos valores que introducimos? El primer introducido especifica que el elipsoide a usarse en la transformación es el elipsoide de Clarke 1966, valor que reemplaza el +datum=NAD27.
Los demás
 valores son los parámetros de trasformación que debe tomar el programa al momento de transformar de un SRC a otro. Los tres primeros valores son los cambios en el eje de las x, eje de las y, y eje z.
Estos valores fueron obtenidos de la siguiente fuente

De la National Geoespatial-Intelligence Agency, de los Estados Unidos






Ahora le cambiamos el sistema de coordenadas seleccionado a nuestra capa, nos vamos a la pestaña de Propiedades de la capa→ General y allí buscamos Sistema de referencia de coordenadas y escogemos nuestro sistema de coordenadas recién creado













Usamos ahora la opción Guardar como… para reproyectarla, seleccionando que la queremos reproyectar a WGS84 Zona 17 Norte







Procedemos a medir la nueva entidad

















Ahora si tenemos valores adecuados en nuestra entidad reproyectada.


Un comentario final


Qgis es un software muy versátil, de manera practica podemos crear estos sistemas de coordenadas definidos. Lo complejo del asunto es poder comprender como funcionan los elementos que conforman los sistemas de coordenadas y las transformaciones. Esta entrada ha sido bastante extensa, pero en realidad no hemos podido ahondar en gran manera en muchos de los temas. Hemos definido de una forma bastante burda lo que son los sistemas de coordenadas, parámetros de transformación, los elementos que los conforman... Estos son temas mucho más robustos de lo que podíamos explicar aquí para evitar hacer el instructivo aun mas grande.

Esperamos que en próximas entradas podamos explicar cada uno de los temas individualmente y de una forma amigable. Y sobre todo que pueda ser de beneficio para los usuarios.