Ao de la Inversin para el Desarrollo Rural y la Seguridad Alimentaria
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERA GEOLGICA, MINERA, METALRGICA Y GEOGRFICA ESCUELA ACADEMICA PROFESIONAL DE INGENIERA GEOGRFICA
ASIGNATURA: Anlisis de sistemas
SEMESTRE: 2013-II Transformacin de coordenadas Cartesianas Geocntrica a Geodescas (WGS-84)
ELABORADO POR: TARQUI PANCCA Josu G.
DOCENTE: Ing. JULIO GUTIERREZ
Cuidad universitaria diciembre2013
INTRODUCCIN
Se trata de una Programa para la Transformacin de coordenadas Cartesianas Geocntrica a Geodescas (WGS-84) Rango: Latitud Sur 0 - 1830' ; Longitud Oeste 6830' -8130'. Permite el procesamiento de ficheros de coordenadas en cualquiera de las operaciones, esta es una gran ventaja con respecto a otros programas similares que podemos encontrar en Internet.
Se utiliz el lenguaje de programacin C++. Por defecto tiene incluidos el elipsoide WGS-84 permitiendo la definicin de nuevos elipsoides por parte del usuario mediante los parmetros a y 1/f. Las coordenadas latitud y longitud son calculadas en radianes, pero lo transformamos y se imprime en grados sexagesimales. El programa es compilado con el DEV C++ . La aplicacin es muy ligera, se trata de un nico ejecutable que slo ocupa 780 KBytes para sistemas operativos Windows. No existe versin para Linux, pero al estar desarrollada en Tcl-Tk, seguramente se puede compilar con faclidad para estos sistemas operativos e incluso para Macintosh. Su interfaz grfica de usuario es muy sencilla.
TEORIA SOBRE TRANSFORMACIN DE COORDENADAS CARTESIANAS GEOCNTRICA A GEODESCAS (WGS-84)
Teora del lenguaje C++
Programacion con C++: La librera cmath
Voy a mostrarte como podemos sacarle partido a las libreras en c++. Para ello voy a realizarte varios ejemplos de uso de funciones que pertenecen a una librera que vas a tener que usar a menudo. Estas libreras estn diseadas para ayudar al programador en sus funciones. C++ tiene multitud de libreras, la librera cmath es la que se suele usar para operaciones matemticas. Lee el artculo atentamente y enfocado al 100% para que le saques el mximo partido y comiences una etapa que te va a favorecer tu aprendizaje, vas a comenzar a reutilizar cdigo. La librera cmath es la que nos da una serie de funciones para poder realizar operaciones matemticas complejas (potencias, raices cuadradas,senos, cosenos). Toda la informacin referente a esta librera la puedes encontrar en internet. No obstante te la voy a dejar aqu y te voy a mostrar como se usan algunas de ellas como ejemplo. La librera matemtica cmath contiene las siguientes funciones: double acos(double x) Calcula el arco coseno de x. double asin(double x) Calcula el arco seno de x. double atan(double x) Devuelve el arco tangente en radianes. double atan2(double y, double x) Calcula el arco tangente de las dos variables x e y. Es similar a calcular el arco tangente de y / x, excepto en que los signos de ambos argumentos son usados para determinar el cuadrante del resultado. double ceil(double x) Redondea x hacia arriba al entero ms cercano. double cos(double x) devuelve el coseno de x, donde x est dado en radianes. double cosh(double x) Devuelve el coseno hiperblico de x. double exp(double x) Devuelve el valor de e (la base de los logaritmos naturales) elevado a la potencia x. double fabs(double x) Devuelve el valor absoluto del nmero en punto flotante x. double floor(double x) Redondea x hacia abajo al entero ms cercano. double fmod(double x, double y)Calcula el resto de la divisin de x entre y. El valor devuelto es x n * y, donde n es el cociente de x / y. double frexp(double x, int *exp) Se emplea para dividir el nmero x en una fraccin normalizada y un exponente que se guarda en exp . long int labs(long int j) Calcula el valor absoluto de un entero largo. double ldexp(double x, int exp) Devuelve el resultado de multiplicar el nmero x por 2 elevado a exp (inversa de frexp). double log(double x); Devuelve el logaritmo neperiano de x. double log10(double x) Devuelve el logaritmo decimal de x. double modf(double x, double *iptr) Divide el argumento x en una parte entera y una parte fraccional. La parte entera se guarda en iptr. double pow(double x, double y) Devuelve el valor de x elevado a y. double sin(double x) Devuelve el seno de x. double sinh(double x) Regresa el seno hiperblico de x. double sqrt(double x) Devuelve la raz cuadrada no negativa de x. double tan(double x) Devuelve la tangente de x. double tanh(double x) Devuelve la tangente hiperblica de x. Voy a mostrarte un ejemplo de como usar dichas funciones. Lo primero que tienes que ver es de que tipo es la funcin. Eso lo puedes observar mirando la cabecera de la funcin, por ejemplo esta cabecera: double pow(double x, double y) En esta cabecera de la funcin pow (realiza la potencia de un numero) observamos que necesitamos una variable real (double) para poder hallar el valor de la potencia. Tambin deducimos que los valores de x (base) y de y (exponente) tambin tienen que ser valores reales.
TUTORIAL o GUIA
1. Instalar el compilador DEV C++
2. Abrir el programa
3. Dar clic en ejecutar y compilar
4. Luego aparecer un cuadro
5. Ingresar los valores de las coordenadas cartesianas X, Y , Z
EJEMPLO: X = 2525254.05 Y = -4673146.14 Z = -3519034.33
6. finalmente dar enter
7. Mostrar los resultados latitud , longitud y altura elipsoidal en grados sexagesimales
Link de descarga del programa: http://www.4shared.com/zip/TM96IznA/transformacion_de_coordenadas.html En mi blog: http://noticiascienciatecno.blogspot.com/