Página 1 de 1 - Tema con 16 Mensajes y 51884 Lecturas
|
Autor |
Mensaje |
_polifemo
SuperExpert Registrado: 27-11-2009 Mensajes: 436
Votos: 0 👍
|
|
Para quien le pueda ser de provecho dejo un código en VBScript que convierte las coordenadas UTM en Geográficas.
Lo he desarrollado con VBScript (corre en servidor) y por estar enfocado a una aplicación hacia GE solo realiza la transformación en un sentido, con los valores en grados y fracción y referidos al elipsoide WGS84.
Ojo, pues tal como está el código se presupone que son coordenadas del hemisferio norte, si bien he dejado comentado como adaptarlo.
He mantenido los cuadros de dialogo para aquel que tenga que testearlo.
Nombre: |
utm2geographics.txt |
Tamaño: |
2.79 KB |
Descargado: |
2388 veces |
|
|
|
Ir arriba
|
Compartir:
|
|
_polifemo
SuperExpert Registrado: 27-11-2009 Mensajes: 436
Votos: 0 👍
|
|
Las ecuaciones utilizadas han sido las de Cotichia-Surace siguiendo el esquema para la transformación disponible en el foro de Gabriel Ortiz: www.gabrielortiz.com/
|
|
|
Ir arriba
|
Compartir:
|
|
_polifemo
SuperExpert Registrado: 27-11-2009 Mensajes: 436
Votos: 0 👍
|
|
Ir arriba
|
Compartir:
|
|
Google_Master
Admin Registrado: 01-06-2006 Mensajes: 16225
Votos: 0 👍
|
|
Polifemo, estas haciendo un excelente trabajo de creación de codigo.
Se nota que tienes unos conocimientos matemáticos excelentes.
|
_________________ Cada vez que sacio una curiosidad, me nacen diez...
|
|
Ir arriba
|
Compartir:
|
|
_polifemo
SuperExpert Registrado: 27-11-2009 Mensajes: 436
Votos: 0 👍
|
|
Je, je. No son tan buenos, tiras de apuntes de Cartografía Matemática y del excelente trabajo de Gabriel Ortiz. La verdad es que mi parte ha sido la mas cómoda.
|
|
|
Ir arriba
|
Compartir:
|
|
Franrtorres77
Usuario Reciente Registrado: 13-05-2011 Mensajes: 5
Votos: 0 👍
|
|
Hola.
Y se puede usar este código dentro de un select que llama a una tabla con coordenadas utm almacenadas y que las convierta sobre la marcha en coordenadas geográficas?
Lo digo porque tengo una base de datos en donde las coordenadas están como UTM y necesito convertirlas cuando se abre una pagina ASP para mostrarlas en un mapa de google maps.
Se podría entonces hacer algo así como:
Select x, y, transformar(x) as Latitud, transformar(y) as Longitud from Coordenadas
|
|
|
Ir arriba
|
Compartir:
|
|
_polifemo
SuperExpert Registrado: 27-11-2009 Mensajes: 436
Votos: 0 👍
|
|
Buenas franrtorres77.
Nunca lo he probado, y no se si te conviene hacer las operaciones dentro del select (y por lo tanto en el servidor) o primero una función que llame a los datos, luego otra (adaptada de la mía) que los transforme y una tercera que los envíe.
Pero sea como sea tu idea tiene que ser viable seguro. Cosas mas complicadas se han hecho.
¿Cualquier duda respecto al código?
Un saludo.
|
|
|
Ir arriba
|
Compartir:
|
|
Franrtorres77
Usuario Reciente Registrado: 13-05-2011 Mensajes: 5
Votos: 0 👍
|
|
Buenas tardes.
Ya he podido aplicar el codigo de vbs en una pagina asp y puedo obtener los registros convertidos en una tabla y también he podido mostrar las posiciones del GPS en un mapa de Google.
Pero ahora el problema es que no cuadra exactamente las posiciones con donde realmente ha pasado el vehículo sino que se desplazan los puntos unos 100 metros.
Alguna idea para esta segunda parte? Luego os padre el codigo para compartirlo con todos.
Un saludo y gracias
|
|
|
Ir arriba
|
Compartir:
|
|
_polifemo
SuperExpert Registrado: 27-11-2009 Mensajes: 436
Votos: 0 👍
|
|
Se desplazan todos los puntos un centanar de metros y en la misma dirección y sentido, ¿verdad?.
¿En base a que Datum están tomadas las coordenadas UTM de tu BBDD?.
Podría ser que la imagen de google esté mal georreferenciada (no sería el primer caso), pero también podría ser que tu GPS esté configurado en base a otro datum.
|
|
|
Ir arriba
|
Compartir:
|
|
Franrtorres77
Usuario Reciente Registrado: 13-05-2011 Mensajes: 5
Votos: 0 👍
|
|
Hola de nuevo _polifemo
Pues los datos están creo en European Datum 50 ED50
Mira, aquí tienes las coordenadas Utm y los valores cuando los transformo:
443478 4113597
-3.63664160353383, 37.1670794465184
¿Hay que pasarlas a otro Datum?
Un saludo
|
|
|
Ir arriba
|
Compartir:
|
|
_polifemo
SuperExpert Registrado: 27-11-2009 Mensajes: 436
Votos: 0 👍
|
|
Necesariamente, pues el datum que usa google es el wgs84.
Lo he buscado y no lo encuentro, pero el Instituto Geográfico Nacional ( www.ign.es) o el Centro Nacional de informaciuón geográfica ( www.cnig.es) tienes publicado el código fuente necesario para realizar la conversión. Buscalo con calma, y si no lo encuentras dímelo que te echo un cable.
Suerte.
|
|
|
Ir arriba
|
Compartir:
|
|
_polifemo
SuperExpert Registrado: 27-11-2009 Mensajes: 436
Votos: 0 👍
|
|
Fran, echa un ojo en [url=http://http://www.ikeralbeniz.net/2010/12/15/conversion-de-ed50-a-wgs84-o-etrs89/]esta[/url] página, es gente que ha pasado por tu mismo camino. Usa un script en Python, tal vez puedas usarlo en tu página ASP (o adaptarlo).
|
|
|
Ir arriba
|
Compartir:
|
|
Franrtorres77
Usuario Reciente Registrado: 13-05-2011 Mensajes: 5
Votos: 0 👍
|
|
Pues he visto la pagina de python pero creo que no lo puedo cojer por ningun lado.
Estoy buscando alternativas e intentando cambiar los elipsoides del eje mayor y menor a ver que tal.
|
|
|
Ir arriba
|
Compartir:
|
|
Franrtorres77
Usuario Reciente Registrado: 13-05-2011 Mensajes: 5
Votos: 0 👍
|
|
Pues he conseguido cuadrar la ruta del vehiculo con el mapa de google. Como se la ubicación exacta del vehiculo, he ido restandole a las coordenadas utm valores de 100 y 200 respectivamente para la x y para la y, de esta forma he podido mostrar la ruta que ha realizado el camión en un archivo kml generado desde la pagina asp.
Voy a seguir probando. Espero que esta solución sea buena...
Ahora os comento.
|
|
|
Ir arriba
|
Compartir:
|
|
_polifemo
SuperExpert Registrado: 27-11-2009 Mensajes: 436
Votos: 0 👍
|
|
Cuidado Fran, pues esa solución no te va a resultar.
El que en esa zona del elipsoide las discrepancias sean de 100 y 200 metros en X e Y no significa que cuando utilices tu aplicación en otra zona no vayan a discrepar 500 metros. De hecho, ambos elipsoides no son equidistantes, se cortan, y por ende la distancia entre ellos variará.
¿Por que dices que no lo puedes coger por ningún lado?.
|
|
|
Ir arriba
|
Compartir:
|
|
Solfer74
Usuario Reciente Registrado: 26-09-2012 Mensajes: 1
Votos: 0 👍
|
|
Saludos _polifemo muy buen script, yo programo bajo ArcPAD con VbScript, te felicito por tan grande aportación; pero de casualidad tendrás un script que haga lo inverso que sea de coordenadas Geográficas a UTM. Saludos.
|
|
|
Ir arriba
|
Compartir:
|
|
|