La proyección UTM está basada en Gauss-Krüger y presenta muy pocas diferencias con respecto a ésta última proyección. Las diferencias que se tienen que tener en cuenta son tres. La primera es el factor de escala (en UTM k=0.9996 y en Gauss-Krüger k=1) el cual debe ser cambiado en tres de las expresiones de Coticchia-Surace. La segunda diferencia es la composición y denominación de los husos UTM que difiere de la forma en que se hace para Gauss-Krüger. En la transformación UTM-geográfica el huso permitía la determinación de la coordenada geográfica del meridiano central. En Gauss-Kruger introducimos directamente el valor del meridiano central el cual nos permitirá seleccionar el factor adecuado de retranqueo para las X que en el caso de UTM era fijo (500.000). Por último, hay que tomar en cuenta una variación en el factor de retranqueo (falso Norte) en las Y, el cual depende del tipo de elipsoide, y que en el el caso de UTM era fijo (10.000.000) para el hemisferio Sur.
Con base en lo anterior, se modificó el programa que aquí se presenta:
Conversión de coordenadas UTM a geográficas usando los elipsoides Hayford o WGS 84
para adaptarlo al caso Argentino de las 7 fajas (meridianos centrales 72, 69, 66, 63, 60, 57, 54 para las fajas 1 a 7; respectivamente). Se probó con el siguiente ejemplo (faja 2, elipsoide WGS 84):
X = 2379996.69 Y = 6625759.55 meridiano central = -69 origen de latitudes = -90 falso Este = 2.500.000 falso Norte = 0 longitud 70º 15' 0'' latitud 30º 30' 0''
el cual fue verificado con la calculadora geodésica que se encuentra en:
http://www.gabrielortiz.com/conversor_coordenadas2/conversor.asp
La salida del programa aquí propuesto fue la siguiente:
Programa para convertir coordenadas Gauss-Kruger en geograficas Escoja un numero para seleccionar el elipsoide de referencia Hayford = 1 WGS 84 = 2 Su eleccion es = ? 2 (WGS 84) meridiano central = ? 69 Hemisferio Norte o Sur (introduzca una "N" o "S"; pueden ser minusculas) Hemisferio = ? s UTM X = ? 2379996.69 UTM Y = ? 6625759.55 long(grados decimales) = -70.249999993; lat(grados decimales) = -30.500000081 long(gºmm'ss.s'') = -70º -14' -59.999974168''; lat(gºmm'ss.s'') = -30º -30' -0.000290795''
El ejecutable para Windows, en formato comprimido, se puede bajar del siguiente enlace:
Se agradece comentar si se producen resultados no deseados (porque sólo lo probé para la faja 2 y con un sólo elipsoide) o alguna sugerencia.
Nota: La aplicación en el sentido contrario también ha sido resuelta en:
Pingback: Articulo Indexado en la Blogosfera de Sysmaya
Quría consultarte como se realiza paso de un sistema de coordenadas a otro. Basicamente tengo que hacer lo mismo que hace el programa C++ que publicaste pero en java y no encuentro ningun codigo que me pueda dar una mano por eso acudo a tus conocimientos. Donde trabajo tenemos que pasar unas coordenadas que se encuentran en Gauss-Krüger WGS 84 a geogràficas para poder dibujarlas sobre google maps. Agradecería si me puedes ayudar.
Leo.
Esta fue la referencia inicial:
http://www.gabrielortiz.com/index.asp?Info=058b
sobre la cual me basé para hacer el código C/C++. Gauss-Krüger es un tipo especial de UTM. Cuando tengas listo ese código en Java después te señalo que tienes que hacer para pasar de Gauss-Krüger a geográficas. Son como tres ligeras modificaciones al código anterior.
Saludos
Hola José,
Primeramente decirte que me encantan los post que publicas en tu página. Enhorabuena, cada dos por tres caigo en tu blog para alguna consulta.
Ya en el asunto, hace un tiempo implementé la formulación de las dos páginas de Gabriel referidas a estas conversiones (geográficas-geodésicas/UTM) a un módulo VBA, para hacer transformaciones DXF/KML. No soy topógrafo ni informático, pero en lo primero tengo nociones por la carrera -ing. civil-, y de lo segundo me defiendo holgadamente en VB(A).
Mi módulo funciona a satisfacción para mis requisitos en España. Pero me estoy encontrando con problemas en Colombia. No dispongo de mucha información al respecto de los sistemas de referencia utilizados, aunque desde luego que no es UTM con los husos habituales, ya que la conversión me deja las coordenadas en otro sitio. Dispongo de alguna información sobre husos de GK en Colombia y no sé si tendré que profundizar con ese sistema.
No obstante lo anterior, me gustaría entender la relación Gauss-Kruger/UTM o con sistemas de coordenadas geográficas-geodésicas, por lo que si fueses tan amable de indicarme esas tres modificaciones puntuales sobre la formulación de Gabriel, o ampliarme la información sobre esta formulación te estaría muy agradecido.
En principio voy a probar con la información obtenida de: http://www.earg.gov.ar/transf.pdf (a la fecha no está accesible, pero sí está guardada en los registros de http://web.archive.org/)
Puedo remitir el módulo VBA, aunque tengo implementadas otras funciones auxiliares que habría que filtrar para evitar fallos en la ejecución.
Aprovecho para felicitarte las fiestas, y nuevamente por el esfuerzo que haces con tu blog.
Recibe un cordial saludo
Este es código en java, siguiendo por la planilla excel que baje del sitio. Algunas cosas a tener en cuenta es que el calculo es para la faja 2 ya que las coordenas Gauss Krugger estan calculadas sobre la Provincia de Mendoza. El elipsoide es WGS84. Lo que necesito saber es que debo modificar para que el pasaje sea de Gauus Krugger y no de UTM. Por lo que lei una de las modificaciones es el factor escala k, el cual debe ser 1.
Dame un tiempo para comparar los dos códigos y señalarte específicamente donde están las diferencias.
Saludos
Te comento, las modificaciones que realice y me da igual que a vos, las diferencias son mìnimas con respecto al desarrollo en C++ supongo que debe ser por una cuestion de redondeo. Las modificaciones que realice son:
Factor Escala k = 1
Meridiano Central = -69
Falso este = 2500000 (que es en la linea) a = (puntoX – 500000) / ni;
Lo que si tengo un problema, segun el programa GEOCAL par las coordenadas Gauss Este = 2514100 y Norte = 6361410, debería dar latitud = -32.891831 longitud = -68.850183. (Es la direcciòn de donde trabajo) y me esta dando tanto a vos como a mi latitud = -32.889972 longitud = -68.849202.
Con respecto a esto te puedo decir: utiliza la calculadora geodésica que está en el sitio de Gabriel Ortiz y si da lo mismo que lo que nos está dando a nosotros entonces el problema estaría en GEOCAL. Yo revise lo cálculos pormenorizadamente y los mios coinciden con los de Gabriel. El también señala que los cálculos basados en la ecuaciones de Coticchia-Surace no son tan “exactos” como los de otro procedimiento que el refiere pero cuyo nombre no recuerdo. Sin embargo, todo lo que está aquí en este Blog está basado en Coticchia-Surace y las diferencias están, en muchos casos, por debajo del metro. Cuando comparo, en algunos casos, con las transformaciones internas que da mi GPS Colorado 300; este último produce resultados que difieren hasta en 20 metros.
Leandro, viendo el código que pusiste arriba, creo que el Falso Norte que tenés que usar no es 10.000.000 (este valor es válido para UTM) sino 10.001.965,7293148 , y el retranqueo de las X deberia ser 2.500.000 en vez de 500.000; creo que con estas modificaciones te va a dar el resultado esperado.
Saludos
José, muchas gracias por este post. Pude reproducir tus cálculos. Ahora bien ¿de dónde se saca el falso norte de cada elipsoide? Estoy buscando a morir y no puedo dar con una tabla que tenga esos datos. Muchas gracias, saludos
Te mando los valores que me dan los calculos del programa para las coordenadas Gauss Este = 2514100 y Norte = 6361410.
factorEscalaK = 1;
//Los valores utilizados son para el elipsoide WGS84
double semiEjeMayor = 6378137.0;
double semiEjeMenor = 6356752.315;
double exentricidad = 0.081819191;
double exentricidadPrima = 0.082094438;
double exentricidadPrimaALaDos = 0.006739497;
double radioPolarDeCurvatura = 6399593.626;
meridianoCentral = -69;
alSurDelEcuador: -3638590.0
fi: -0.5715483806421592
ni: 6356752.312857752
a: 0.0022196869258945037
a1: -0.9099223276788169
a2: -0.6436693571363711
j2: -1.0265095444815677
j4: -0.9307994976452686
j6: -1.7031074438607317
alfa: 0.0050546227499999995
beta: 4.258201857469593E-5
gama: 1.6740580875556268E-7
bFi: -3624724.1492115925
b: -0.002181279072390653
zeta: 1.1744632968819022E-8
xi: 0.002219686917204701
eta: -0.5737296596889315
senHXi: 0.002219688739941772
deltaLambda: 0.002642850189063538
tau: -0.5737280676698059
fiEnRadianes: -0.5737384592151334
latitudHexadecimal: -32.87279225736586
longitudHexadecimal: -68.8485758382813
Lo que te puedo aportar que en GEOCALC se utiliza Gauss Krugger con DATUM = Campo Inchauspe y se debe convertir a geograficas con DATUM = 186 WGS 184. Quizas las diferencias sean por los DATUM. En la pagina que me diste sale un articulo que habla gustamente de esto quizas sea ese el problema.
Conversión de datum con el modelo de 7 parámetros Bursa-Wolf
—————————————————————–
Uno de los temas que más dudas genera es sin duda el proceso de cambio de datum, que por cierto, está muy de actualidad con el uso masivo de los sistemas GPS. Cada vez es más necesario convertir información geográfica a datums locales. En este artículo se detalla en profundidad el proceso de conversión de datum con el modelo de 7 parámetros de Bursa-Wolf. El texto acompaña a los conceptos introducidos con un ejercicio completo y una implementación de las ecuaciones en hoja de cálculo.
Ahi están las diferencias. Las transformaciones con cambio de datum son “delicadas” y válidas para las regiones para las cuales fueron desarrolladas. Por eso es que tienes que validar con puntos expresados en ambos datums. Si mal no recuerdo, todo lo que refiero en este Blog con cambio de datum (lamentablemente nada que involucre Gauss-Krüger) concuerda, en su mayoría, con una precisión mejor que el metro. Por otra parte, para que tus resultados concuerden para el cambio de datum tienes que desarrollar también la aplicación en sentido inverso: de geográficas a Gauss-Krüger. Allí he tenido problemas con una de las coordenadas y por eso es que no he desarrollado la aplicación completa para Gauss Krugger con DATUM Campo Inchauspe.
necesito ubicar en un plano de autocad 5 puntos, yo tengo la ubicacion por GPS de los 5 puntos estas ubicaciones son Fe1 34°14’32”/58°45’28” fe2 34°14’47”-58°45’28” fe3 34°14’49” 58°45’31” fe434°14’57”-58°45’38” fe5 34°14’50”-58°46’03”. el tema es que me piden que las pase a Gauss-Krüger Datum´84 en el marco del Posgar 94”.
la verdad que no puedo encontrar la forma de realizarlo.
Si te esperas un momento, veré si te las puedo convertir con ArcGis. Ayudaría si me dices a que país te refieres porque no indicas si la latitud es N, S, etc (aunque imagino que es Argentina). El Posgar 94 usa el elipsoide WGS 84. Sólo me faltaría ver si es lo contrario de la transformación aquí expresada. No haría falta ArcGis sino un conversor (la aplicación en sentido contrario no la he desarrollado por problenas de cálculo en una coordenada).
Ya con esto:
puedo verificarlo.
Toma ya!!!, me han encantado estos post… Pa´flipar.
Siento no poder aportar nada 🙂
Saludos 🙂
que genial!! gracias por el programita!! buenisimo!!!
Estimados,
alguien realizo la funcion java inversa (PasarCoordenadasGaussKruggerAGeodesicas)??? yo dispongo de las coordenadas geodesicas (originadas por un GPS, y necesito convertirlas a una variante de Gauss Krugger.
Si alguien reescribio el algoritmo para hacer la operacion inversa se lo agradecere
Muchas Gracias
Ya encontré el error en el proceso inverso: de geográficas a Gauss-Krüger. Próximamente lo posteo.
Pingback: Conversor de coordenadas (C/C++) |
Ulilicé las formulas para Santa Fe, faja 5 y dio igual que la transformación que realiza AutoCad.
Muchas gracias.
Gracias por probarlo y verificar que da igual. En el sentido contrario, de geográficas a Gauss-Krüger, me ha dado problemas pero para una sola de las coordenadas. Por eso no lo he publicado. Algún día de estos lo rescato y veo donde está el error. Es fundamental para el cambio de datum (por ejemplo Campo Inchauspe a POSGAR o viceversa). Si encuentro el error no me sería difícil programarlo porque he creado una Clase Coordenadas.
Saludos
Gracias a tu respuesta, revisé el programa y encontré el error. Próximamente lo posteo.
Saludos
Hola Andrea:
Modificaste algún valor para faja 5?
Pingback: Conversión de coordenadas geográficas a Gauss-Krüger usando los elipsoides Hayford o WGS 84: caso Argentina |
Tengo un mapa del noroeste argentino con areas de exploracion pero tengo que plotear en un mapa que por ejemplo tiene los valores X (m North) 7469999,7800 y 4567169,2700 y no se como transformar otras areas que tienen los valores X (m North) 7363977,4312 y Y (m East) 3072202,1270 digamos que me desconcierta es Y , que pasa de 4 a 3, el dato es Posgar 94 los otras areas varian el datum.
Desde ya muy agradecido
carlos Pucci
Hola quisiera saber como pasar Latitud y Longitud Decimales o Hexadecimal a coordenadas XY Posgar94 desde ya muchas gracias.
Posgar94 está basado en WGS84 y utiliza también la nomenclatura de las 7 franjas de Gauss-Krüger. Para hacer la transformación pasa de latitud y longitud en grados decimales o grados minutos y segundos a WGS84 y luego, a la abscisa (longitud), le antepones el valor de 1, 2,…, 7 (equivalente a sumar 1000000, 2000000, …, 7000000; respectivamente) dependiendo de la faja en la cual estés según la siguiente tabla:
Puedes usar esta aplicación:
https://joseguerreroa.wordpress.com/2011/01/29/conversion-masiva-de-coordenadas-geograficas-decimales-a-utm-usando-los-elipsoides-hayford-y-wgs-84/
para la conversión de grados decimales a WGS84. Después, a los valores de y, le antepones los numerales de acuerdo a la tabla anterior.
Usa estos valores:
para efectos de calibración.
Hola necesito ayuda en el cambio de coordenadas geográficas a Gauss Kruger. Mi problema es el siguiente, tengo inconvenientes al cambiar los parámetros en las ecuaciones que publicas en tu blog, mas que nada donde bebo colocar el valor del meridiano central.
>>>>En Gauss-Kruger introducimos directamente el valor del meridiano central el cual nos permitirá seleccionar el factor adecuado de retranqueo para las X que en el caso de UTM era fijo (500.000).
Y por ultimo como y donde modifico lo siguiente:
>>>> hay que tomar en cuenta una variación en el factor de retranqueo (falso Norte) en las Y, el cual depende del tipo de elipsoide, y que en el el caso de UTM era fijo (10.000.000) para el hemisferio Sur.
Desde ya muchas gracias!!!!
hola chicos necesito su ayuda. Necesito realizar un cambio de coordenadas, de geográfica a Gauss Kruger utilizando el elipsoide de Hayford. Yo utilice las ecuaciones dadas por Gabriel Ortiz, el problema se me presenta cuando hago las modificaciones para el caso de Argentina, donde el factor de escala 1, en otras palabras necesito saber que modificaciones hacer en la ecuación.
¿Como interviene el meridiano central?
Agradecería la ayuda!!!.
Desde ya muchas gracias.
Hola,
Después de convertir a VB(A) el código del compañero Leandro, y revisarlo, he detectado dos errores en su formulación (comparada con la de referencia de Gabriel Ortiz, y ampliando posteriormente la búsqueda para descartar errores).
Es imposible que le dé, ni por asomo, los valores que espera, al menos con ese código
El valor del parámetro “ni” (línea de código 33) no consigo sus valores… este error se propaga. En parte deriva de que en esa línea el divisor debe ser: Sqr(1 + ExcentricidadSegunda2 * (VBA.Cos(fi) ^ 2))
Otro error lo he encontrado en la línea 72, donde el factor que multiplica el tercer componente es (3/2) y no (2/3) como figura en su código.
Finalmente he encontrado un documento que me ha clarificado algo más las cosas para Colombia: “TIPOS DE COORDENADAS MANEJADOS EN COLOMBIA” (http://www2.igac.gov.co:8080/igac_web/UserFiles/File/MAGNAWEB_final/documentos/tipos%20de%20coordenadas.pdf)
En cuanto consiga hacer la conversión de coordenadas de forma correcta, volveré para postear el código aquí, para provecho de quien le sea de utilidad.
De todas formas, el código de Leandro, una vez corregido y pasado a VB(A), vendría a ser algo así como (comprobado con la formulación de Gabriel Ortiz, que es la que vengo usando hasta la fecha y que clava los resultados):
Estimados,
alguien realizo la funcion java inversa (PasarCoordenadasGaussKruggerAGeodesicas)??? yo dispongo de las coordenadas geodesicas (originadas por un GPS, y necesito convertirlas a una variante de Gauss Krugger.
MUCHAS GRACIAS!!!!
Si pones un ejemplo de tus coordenadas e indicas cuál es el código EPSG de la Gauss-Krüger podríamos adaptar este código Python:
https://joseguerreroa.wordpress.com/2012/11/28/conversion-de-coordenadas-utm-a-geograficas-datum-wgs84-usando-los-elipsoides-hayford-o-wgs84-con-modulo-pyproj/
para ver si funciona.
HOLA, LAS COORDENADAS SERÍAN LAS DADAS POR LOS GPS, EN LATITUD Y LONGITUD, Y LAS NECESITARÍA PASAS A COORDENADAS GAUSS KRÜGER UTILIZANDO ELIPSOIDE DE HAYFORD, FAJA 6. SI ME PUEDEN DAR UNA MANO ME VENDRÍA BÁRBARO.
MUCHAS GRACIAS!!!!
LA IDEA SERÍA OBTENER LAS COORDENADAS PARA EL ELIPSOIDE DE HAYFORD COMO PARA WGS84.
NUEVAMENTE, MUCHÍSIMAS GRACIAS!!!.
OK. Pero lo que necesito es por lo menos un par de valores X,Y en coordenadas geográficas y su valor exacto en coordenadas Gauss-Krüger faja 6 para comparar si trabaja bien. Yo vivo entre Venezuela y España y para ti es más fácil darme ese ejemplo De todas maneras voy a producir ese código para ver que pasa.
Hola José, disculpa la demora. Te paso las coordenadas:
Lat: S 31.39684
Lon: W 58.01764 (el Google Earth me las da con signo negativo).
Utilizando el elipsoide WGS 84, campo Inchauspe, faja 6, las coordenadas Gauss Kruger que tendrían que darme son:
6403263, y
6526754.
Gracias por tu ayuda!!!
hola, quiero convertir coordenadas X 5485485 Y 4470767 Gauss Kruger faja 4 meridiano 63º con el programa Kruger_geo y me tira error.¿Y si quiero pasar coordenadas S40º49´21.7´´ W63º00´00´´ a coordenadas gaus kruger X e Y, como tengo que hacer?
Desde ya muchas gracias.
Buenas tardes necesito indicar número de faja, el meridiano central de faja al cual corresponde, la distancia al Polo Sur y la distancia al Meridiano central de faja, de las siguientes coordenadas: POSGAR 94: x=3510340
y = 5750035
Muchas gracias.
Me parece muy bueno el programita, pero me esta dando error en la zona 3, tendra alguna actualizacion?
Saludos!
Buenísimo! Perfecto en los 2 sentidos (GK a Geo y viceversa). El detalle es que en G.K. se usa eje “X” para N-S y eje “Y” para E-O.
Muchas Gracias!
Diego