Para quienes han estado naúfragos en una isla el último año, GE es un software para exploración terrestre que combina fotografía satelital, mapas e información geográfica, en una interfaz fácil de navegar con el mouse.
Desde que inicié el proyecto CarPC he venido salivando con encontrar la manera de integrar mi receptor GPS(1) (un Microsoft/Pharos USB) con GE para de esa manera contar con tracking o rastreo GPS en tiempo real, es decir, que GE muestre la foto satelital de la posición actual del carro. Por un momento desvié mi atención hacia el software World Wind de la NASA, el cual tiene funcionalidad similar a GE, pero con la diferencia que su código fuente está disponible, además cuenta con infraestructura para el desarrollo de plug-ins o complementos que permiten extender la funcionalidad de World Wind. Uno de estos complementos es GPSTracker, el cual lee las sentencias NMEA(2) 0183 provenientes del receptor GPS y las traduce en información tal como longitud, latitud y altura, que pueden ser desplegadas en World Wind. GPSTracker funciona muy bien, sin embargo las imágenes satelitales de World Wind no son tan buenas como las de GE, especialmente ahora que hay disponibilidad de imágenes de alta resolución para San Salvador.
Google ofrece varias versiones de GE, la versión Plus hace mención de integración con GPS, pero al leer cuidadosamente se hace evidente que solo soporta el bajado de rutas y puntos de referencia de ciertos modelos de receptor GPS, no el rastreo en tiempo real. Esta distinción me ahorró los $20 dólares que cuesta la versión Plus, tuve que seguir salivando hasta que descubrí un pequeño pero útil programa llamado nmeaGE, cuya función, como su nombre revela, es convertir periodicamente las sentencias NMEA 0183 que generan los receptores GPS, en un archivo KML que es el formato con el que Google exporta los puntos de referencia, básicamente es un archivo XML con un esquema sencillo que describe una posición en GE incluyendo latitud, longitud, altura, rumbo, un nombre y una descripción.
Ahora bien, quizas la pregunta es ¿como nos ayuda esta pequeña utilidad para integrar a GE con un receptor GPS?, la respuesta reside en una función poco conocida de GE llamada "Network Link", esta permite indicarle a GE que busque periodicamente un recurso KML en una ruta predefinida, esta puede ser una URL http, ftp ó del sistema de archivos local. Dada la naturaleza propietaria de GE, el formato KML se convierte en el mecanismo de integración tan deseado; es una solución elegante y una bienvenida cortesía de parte de Google para conseguir este tipo de integración.

Configuración de un Network Link en Google Earth
nmeaGE como tal es muy pequeño, esta desarrollado en .NET por lo que requiere el framework .NET 1.1 para instalarse y correr. Su configuración es muy sencilla, solo hay que especificar los parámetros de conexión con el receptor GPS, tal como puerto de comunicación, y velocidad de transferencia; así como los parámetros de generación del archivo KML, tal como ángulo de inclinación, altura y ruta donde se desea guardar.

Configuración del receptor GPS

Configuración para el archivo KML

nmeaGE ofrece la opción "Use GPS Heading When Moving" que básicamente rota la posición en GE para que el vector de dirección en la que se navega siempre apunte hacia arriba, por ejemplo, cuando se transita por una calle, GE rota toda la imagen de manera que el movimiento del marcador de posición siempre es hacia arriba, cuando la posición del marcador cambia, GE inmediatamente "sobre-vuela" de tal forma que la nueva posición quede en el centro de la pantalla.
En el aspecto negativo, nmeaGE tiene problemas cuando la computadora regresa de estado de hibernación, lo que hace necesario cerrarlo y abrirlo nuevamente, además los botones de la interfaz gráfica son muy pequeños, resultando incómodos de manipular con una pantalla sensible al tacto. Otro detalle que sería muy deseable es contar con una manera de guardar configuraciones KML pre-establecidas y poder cambiar fácilmente entre ellas. Debo admitir que la mayor novedad es haber descubierto la característica "Network Link" en GE, una vez abierta esta puerta, es fácil crear un pequeño software equivalente a nmeaGE y que sea más amigable para una CarPC.

Para los que se preguntan como es posible utilizar GE sin conexión a Internet, afortunadamente GE utiliza un caché o almacenamiento temporal en el disco. El objetivo del caché es mantener la información utilizada más recientemente en el disco duro de la computadora para no tener que recurrir a Internet cada vez que dicha información se requiera, mejorando de esa manera el tiempo de respuesta. Al inicio GE desplegará un cuadro de mensaje quejándose que no puede contactar al servidor, solo basta presionar el botón "OK" para que Google pase a modo "fuera de línea" y utilice el caché como fuente de datos. El tamaño máximo del caché es configurable; el mio puede crecer hasta 400MB lo cual es más que suficiente para almacenar fuera de línea la información geografica necesaria. La única desventaja es que se requiere haber explorado los lugares para que GE los almacene en el caché. Debo mencionar que la empresa Tigo ya está ofreciendo el servicio de Internet celular EDGE, el cual ofrece velocidades de transferencia de hasta 400KBps por $35 mensuales.
Por lo pronto el artificio del caché me funciona muy bien, así que a corto plazo no veo la necesidad de contratar el servicio EDGE.
Conclusiones
Este articulo habló de la integración entre Google Earth y un receptor GPS; el concepto es muy "Cool " y muestra la flexibilidad alcanzada al utilizar a una PC en un ambiente móvil. Es muy divertido verificar la posición en pantalla con la real, y es muy curioso identificar cosas que no pueden ser vistas a simple vista al transitar por las calles.
La utilidad de los conceptos cubiertos no solo se limita a una curiosidad o al factor "Cool", una empresa con unidades móviles pudiera mejorar su logística al utilizar un programa similar a nmeaGE para "subir" periodicamente la posición de cada unidad móvil a un servidor central (utilizando una CarPC ó una Laptop y un enlace celular GPRS ó EDGE), luego pudiera configurarse una "estación de monitoreo" con GE creando tantos Network Links como unidades móviles se requiera monitorear.
Ante todo es necesario recordar que se debe mantener la atención puesta en la calle y evitar distraerse con aparatos tales como teléfonos celulares, equipos de audio, DVDs…y ¿por que no?…con una computadora….
En subsiguientes entregas hablaremos de como se planea mejorar el sonido de la CarPC al instalarle una tarjeta de sonido externa Sound Blaster Live! de 24 bits y conectarla a un amplificador Sony Xplód de 500W y salida de cuatro canales.
Hasta la pròxima….!
Glosario
- GPS: Global Positioning System
- NMEA: (National Marine Electronics Association ó Asociación Nacional de Electrónica Marítima, la cual conglomera a la industria electrónica para fines marítimos)
- OBD-II: On-Board Diagnostics version 2, Interfaz estándar de la industria para el diagnóstico de vehículos automotores.
Muy interesante tu proyecto,¿ te financia alguien? Porque con todo lo que colocas en el coche te tienes que gastar un dinero importante…
He mirado el nmeaGE y parece interesante pero suelo llevar mi receptor GPS en la bici por lo que no puedo conectarlo a un dispositivo que no sea una PDA (eso es lo que hago, ya que almaceno las trazas en formato .pgl) Lo que querría sería pasar ese formato a kml y poder visualizarlo luego en googleEarth. ¿Me podrías ayudar? Muchas gracias.
Wenas, he probado el invento y no me funciona. Podriamos hablar para poder solucionarlo? Gracias
Saludos.
Hola .
Muy interesante este ariculo .
Mi pregunta es :
- puedo hacer GE que functione ofline como si fuera online ?
Si no , mal lo tengo para estar con el ordenador coneectado a internet a travers de GPRS o GSM .
Estimado.
Antes que nada, te felicito por los buenos resultados obtenidos en tu desarrollo para integrar el GPS a GE.
Me gustaría poder implementarla también en mi auto, para lo cual necesito consultarte si puedo contar con tu apoyo para hacerlo. Lo cual me permitiría integrar además los Sistemas de Información Geográfica (SIG), área en la cual trabajo.
Esperando poder contar con tu asesoría, se despide atentamente,
Alejandro Silva A.
Santiago, Chile.
alejandro.silva.a@gmail.com
hola mi consulta es si tienes el diagrama de interconeccion del cable del gps al pc por los puertos usb y seria. Mas me interesa en que pines se conecta la señal nmea al pc.
si me lo envias te lo agradeceria bastante
desde ya muchas gracias
Ramon Jaque
hola de donde puedo bajar el programa nmeage
me gustaria que me respondieras al correo para ponernos en contacto.
ramon
Is there any way that I can be traced using a GPS reciver thorugh internet, like if am outside and my GPS is working is there any application by which anybody can trace me sitting on computer?
hey yo queria hacer algo igual a lo que hiciste pero no habia pensado en la cache de google earth para mantenerte desconectado.
yo estoy por comprar un gps y en un futuro hacer la modificacion de mi carro igual al tuyo. me gustaria se me podes recomendar que gps puedo comprar, yo pienso comprar este que te parece:
http://www.semsons.com/wi3mugpsrebt.html
ha por cierto como consigo los mapas con las calles de san salvador??
fecilidades por tu pagina, me gusto mucho.
saludos
Carzel
http://www.carzel.com
[...] El artículo original apareció en el blog TuPila.com y el enlace directo para la descarga de nmeaGE . [...]
hola quisiera felicitarlos por este proyecto. tambien quisiera saber donde puedo conseguir los mapas de honduras con sus calles
Hi All Experts,
Does anyone use google earth images as ground image planes for use in aerial scenes. I know how to stitch them together but are there any tools or tricks to make sure that the images are at the same height, angle and such to make sure they stitch well. I know in the pro version you can get bigger images but im not going to pay for the pro version when i could stitch multiple images together…
Do you know where i could get my GPS service by cell phones?
my friends download GPS software to cell phones, and their phone become the navigation system. so cool! but, how i can get
one too?!
Hola, te felicito por tu excelente proyecto. Por otro lado te agradecerìa mucho si me ayudas a configurar el programita nmeage en google earth, ya que no he podido de la forma que lo explicas, me gustarìa que me enseñaras un procedimiento paso a paso màs detallado.
Mi GPS es de puerto USB y el programa NMEA es para com1, donde puedo conseguir uno que busque en el puerto de USB?
hola como estan miren me gustaria que me llamen o que meden un tlf para yo llamar y preguntelscomo puedo montale un rastreador a mi carro mi cle es 0416 132 86 29
Juan Carlos:
Tenta o programa GPSgate (emulador série sobre USB).
Hola,
Me uno a las felicitaciones por lo que parece un buen trabajo, pero es una pena que el programa nmeaGE no funicone de todo bien.
Habría que depurar alguna cosilla, ya que tras instalarlo y configurarlo siguiendo las instrucciones indicadas aparece un casquetazo para depurar el fuente.
A continuación incluyo la información del error por si os puede ayudar a solucionarlo:
Plataforma Win2000 server
Receptor GPS Woxter Mobile BT-Tracer100
Consulte el final de este mensaje para obtener más detalles sobre cómo llamar a la depuración
Just-In-Time (JIT) en lugar de a este cuadro de diálogo.
************** Texto de la excepción **************
System.InvalidOperationException: No se puede obtener información sobre el proceso desde el equipo remoto. —> System.FormatException: La cadena de entrada no tiene el formato correcto.
at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
at System.Int32.Parse(String s)
at System.Diagnostics.PerformanceCounterLib.GetStringTable(Boolean isHelp)
at System.Diagnostics.PerformanceCounterLib.get_NameTable()
at System.Diagnostics.PerformanceCounterLib.get_CategoryTable()
at System.Diagnostics.PerformanceCounterLib.GetPerformanceData(String[] categories, Int32[] categoryIndexes)
at System.Diagnostics.NtProcessManager.GetProcessInfos(PerformanceCounterLib library)
— Fin del seguimiento de la pila de la excepción interna —
at System.Diagnostics.NtProcessManager.GetProcessInfos(PerformanceCounterLib library)
at System.Diagnostics.NtProcessManager.GetProcessInfos(String machineName, Boolean isRemoteMachine)
at System.Diagnostics.ProcessManager.GetProcessInfos(String machineName)
at System.Diagnostics.Process.GetProcessesByName(String processName, String machineName)
at System.Diagnostics.Process.GetProcessesByName(String processName)
at nmeaGE.210ff09a2516b1a7.b9e484ea4dec9079()
at nmeaGE.210ff09a2516b1a7.ed14d5806c547303()
at nmeaGE.210ff09a2516b1a7.e364a632553374ad(Object e0292b9ed559da7d, ToolClickEventArgs fbf34718e704c6bc)
at Infragistics.Win.UltraWinToolbars.UltraToolbarsManager.OnToolClick(ToolClickEventArgs e)
at Infragistics.Win.UltraWinToolbars.UltraToolbarsManager.FireEvent(ToolbarEventIds id, EventArgs e)
at Infragistics.Win.UltraWinToolbars.ToolBase.OnToolClick()
at Infragistics.Win.UltraWinToolbars.ButtonToolUIElement.DoClickProcessing(MouseEventArgs e)
at Infragistics.Win.UltraWinToolbars.ButtonToolUIElement.OnMouseUp(MouseEventArgs e)
at Infragistics.Win.ControlUIElementBase.ProcessMouseUp(Object sender, MouseEventArgs e)
at System.Windows.Forms.Control.OnMouseUp(MouseEventArgs e)
at Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea.OnMouseUp(MouseEventArgs e)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Ensamblados cargados **************
mscorlib
Versión del ensamblado: 1.0.5000.0
Versión Win32: 1.1.4322.2032
Código base: file:///c:/winnt/microsoft.net/framework/v1.1.4322/mscorlib.dll
—————————————-
nmeaGE
Versión del ensamblado: 1.0.2174.15937
Versión Win32: 1.0.2174.15937
Código base: file:///D:/Archivos%20de%20programa/nmeage/Geotenacity/nmeaGE/nmeaGE.exe
—————————————-
System.Windows.Forms
Versión del ensamblado: 1.0.5000.0
Versión Win32: 1.1.4322.2032
Código base: file:///c:/winnt/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
—————————————-
System
Versión del ensamblado: 1.0.5000.0
Versión Win32: 1.1.4322.2032
Código base: file:///c:/winnt/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
—————————————-
NMEALibrary.Net
Versión del ensamblado: 1.1.0.41070
Versión Win32: 1.1.0.41070
Código base: file:///D:/Archivos%20de%20programa/nmeage/Geotenacity/nmeaGE/NMEALibrary.Net.DLL
—————————————-
System.Drawing
Versión del ensamblado: 1.0.5000.0
Versión Win32: 1.1.4322.2032
Código base: file:///c:/winnt/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
—————————————-
Infragistics.Win.v3.1
Versión del ensamblado: 3.1.20041.1083
Versión Win32: 3.1.20041.1083
Código base: file:///D:/Archivos%20de%20programa/nmeage/Geotenacity/nmeaGE/Infragistics.Win.v3.1.DLL
—————————————-
Infragistics.Shared.v3.1
Versión del ensamblado: 3.1.20041.1083
Versión Win32: 3.1.20041.1083
Código base: file:///D:/Archivos%20de%20programa/nmeage/Geotenacity/nmeaGE/Infragistics.Shared.v3.1.DLL
—————————————-
Infragistics.Win.UltraWinToolbars.v3.1
Versión del ensamblado: 3.1.20041.1083
Versión Win32: 3.1.20041.1083
Código base: file:///D:/Archivos%20de%20programa/nmeage/Geotenacity/nmeaGE/Infragistics.Win.UltraWinToolbars.v3.1.DLL
—————————————-
Infragistics.Win.UltraWinStatusBar.v3.1
Versión del ensamblado: 3.1.20041.1083
Versión Win32: 3.1.20041.1083
Código base: file:///D:/Archivos%20de%20programa/nmeage/Geotenacity/nmeaGE/Infragistics.Win.UltraWinStatusBar.v3.1.DLL
—————————————-
Accessibility
Versión del ensamblado: 1.0.5000.0
Versión Win32: 1.1.4322.573
Código base: file:///c:/winnt/assembly/gac/accessibility/1.0.5000.0__b03f5f7f11d50a3a/accessibility.dll
—————————————-
Microsoft.VisualBasic
Versión del ensamblado: 7.0.5000.0
Versión Win32: 7.10.6001.4
Código base: file:///c:/winnt/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/microsoft.visualbasic.dll
—————————————-
Infragistics.Win.UltraWinEditors.v3.1
Versión del ensamblado: 3.1.20041.1083
Versión Win32: 3.1.20041.1083
Código base: file:///D:/Archivos%20de%20programa/nmeage/Geotenacity/nmeaGE/Infragistics.Win.UltraWinEditors.v3.1.DLL
—————————————-
Infragistics.Win.Misc.v3.1
Versión del ensamblado: 3.1.20041.1083
Versión Win32: 3.1.20041.1083
Código base: file:///D:/Archivos%20de%20programa/nmeage/Geotenacity/nmeaGE/Infragistics.Win.Misc.v3.1.DLL
—————————————-
mscorlib.resources
Versión del ensamblado: 1.0.5000.0
Versión Win32: 1.1.4322.573
Código base: file:///c:/winnt/assembly/gac/mscorlib.resources/1.0.5000.0_es_b77a5c561934e089/mscorlib.resources.dll
—————————————-
System.resources
Versión del ensamblado: 1.0.5000.0
Versión Win32: 1.1.4322.573
Código base: file:///c:/winnt/assembly/gac/system.resources/1.0.5000.0_es_b77a5c561934e089/system.resources.dll
—————————————-
SYSTEM.WINDOWS.FORMS.resources
Versión del ensamblado: 1.0.5000.0
Versión Win32: 1.1.4322.573
Código base: file:///c:/winnt/assembly/gac/system.windows.forms.resources/1.0.5000.0_es_b77a5c561934e089/system.windows.forms.resources.dll
—————————————-
************** Depuración Just-In-Time **************
Para habilitar la depuración Just In Time (JIT), el archivo de configuración de esta
aplicación o equipo (machine.config) debe tener el
valor jitDebugging establecido en la sección system.windows.forms section.
La aplicación también se debe compilar con la depuración
habilitada
Por ejemplo:
Cuando esté habilitada la depuración JIT, cualquier excepción no controlada
se enviará al depurador JIT registrado en el equipo
en lugar de controlarlo mediante el cuadro de diálogo.
Hola ¡¡¡
Lo primero es felicitarte por la explicación, es bastante didactica y resolutiva.
El motivo de escribirte es porque voy a realizar un viaje al Desierto de Argelia, estaré aproximadamente durante 1 mes por allí haciendo una exploración arqueológica con un equipo de historiadores.
Para mi es imprescindible tener una buena guia de la topografia y conocer mi localización con extrema precisión; es por ello por lo que las investigaciones que hemos realizado en laboratorio la hemos realizado con Google earth, y me seria de gran ayuda no prescindir de esta herramienta en los trabajos de campo que voy a realizar allí. Evidentemene la conexión a internet no la voy a tener en esa zona, por lo que me seria imprescindible disponer de la utilidad del GE sin conexión.
Me ha interesado tu artículo, porque explicas la integración del GE con el GPS, y lo de la memoria caché, pero me gustaria conserva la información de los mapas permanentemente ¿ sabes algún modo ?
Te agradeceria tu ayuda
Un saludo
Ricardo López.
Hola Ricardo,
Se sabe poco del “datastore” que utiliza Goggle Earth, hace no mucho, un proyecto llamado Gaia que buscaba proveer una alternativa a Google Earth (y que pudo haber resultado en una manera de guardar la información geográfica de Google Earth “offline”) fue amenazado por el departamento legal de Google y prefirieron desistir.
No se que tan amplio sea el territorio que te interesa, pero subiendo la capacidad del cache en disco al máximo (2GB creo) podrías forzar a Google a almacenar la información topográfica y las fotos de satélite, si no me equivoco he visto en varios sitios métodos para forzar a que Google Earth “navegue” o recorra áreas de interés con el objetivo de forzar su almacenamiento en el caché. También te aconsejo comprar la versión Plus ($20), la cual trae integración nativa con GPS en tiempo real.
Hay otros productos que trabajan fuera de linea tal como Ozi Explorer 3D, pero creo que queda en tu responsabilidad conseguir la información topográfica y mapas.
Espero que haya sido de tu ayuda.
Saludos.
no consigo lonalizar NMEAGE en la red
poedes facilitarmelo ??
gsp@csn.es
Con Gps, para qué el google earth esta bien para descubrir cosas pero en un carro??, lo que necesitas es un mapa ruteable, imagínate sin gprs, sin cache, no man gps para carro es Garmin
Lo que te dice Jimy es correcto, por que no instalas el Garmin Mobile PC y le pones el mapa que tengo en el foro, http://salrut.foroactivo.com/, le pones un gps creo que te puede servir el integrado de un teléfono solo es de googlear un poco. Yo lo he instalado en el teléfono (Nokia con Symbian s60), y en el Pc, se vé fenómeno
Pd: además tiene búsqueda de direcciones, y lugares de interés, y es guiado, hasta le puedes poner voces distintas, la verdad es que me gustaría que lo probaras y me comentaras que tal se ve en esa pantallota
Amigos me gustaría que me ayudaran a desarrollar mi propio sistema para localización de vehículos y control de flotas por medio de tegnologia gps-gprs-gsm y el software con su servidor web que trabaje con los mapas de googel y con mapas vectorizados, cuento GPS TK 102
Que el sistema pueda tener un control de carro vía gprs y sms que el usuario pueda apagar el carro, abrir los seguros, saber la ubicación todo los eventos por vía teléfono Móvil y Si ya tiene algo listo modificable excelente.
THE LINK FOR THIS PROGRAM DOESNT WORK….
please can u supply a link for it
thanx