Our Country Sites: Argentina|Brazil|Chile|Mexico|Peru

i410 - Latidude e Longitude com margem de erro muito alta

Versão para impressãoVersão para impressãoSend by emailSend by email

Pessoal, recentemente adquiri um aparelho Motorola i410, dentro dele coloquei um programa para capturar o Lat e Long e disparar para meu servidor. Tenho este mesmo programa em um nextel Blackberry e funciona perfeitamente. Com o lat long informando minha posição exata. Ja o i410 informa um lat long com até 1000 metros de erro de posicionamento. Alguem tem informações sobre este novo aparelho? Existe alguma forma de ajuste? Detalhe, quando vou em GPS --> posicao atual --> Atualizar ele nao me traz nada.

Respuesta

Hola FabioPinheiro,

pueden haber varios motivos por el cual la distancia sea tan grande.
Por ejemplo:
- Tienes que tener el servicio de AGPS que es pagado, para que puedas capturar mejor las coordenadas GPS.
- La punto donde lo estas probando, es desde la calle? ya que si estas haciendo tus pruebas bajo techo, entonces siempre va a salir celda.
- puedes mandar la implementacion de tu codigo para capturar gps? por ejemplo deberias poner en el setHorizontalAccuracy(500 o menos).

Slds,

EP

Ademas de capturar la

Ademas de capturar la longitud y la latitud, puedes capturar o mostrar la presicion de la captura, para que si la precision es muy baja se descarte, o se sugiera realizar nuevamente la captura de la posicion.

consulta

Y en base a que parámetros o métricas podrías guiarte para saber si la presicion es baja y así descartar la coordenada GPS antes de ser enviada a una DB.

EP

Hay metodos como

Hay metodos como getLatLonAccuracy() que te dan la exactitud que tiene el GPS al momento de la captura. El metodo getTimeStamp() te muestra a fecha/hora de la captura, que si lo contrastas con la fecha/hora del equipo sabes si la captura es reciente o antigua por no haber podido capturar posicion. Tambien el numero de satelites usados, pues mientras menos satelites, tienes menos probabilidades de tener una captura fiable.

Sugerencia

Omar, los metodos que mencionas vienen de la clase "AggregatePosition" que publica exclusivamente motorola y segun tengo entendido, esas librerias no las publica, por ello habria que buscar otra opcion como la de usar la clase "Critaria" y "Location" que son java puro y puede ejecutarse en cualquier equipo que pueda ejecutar aplicaciones java.

Saludos,
EP

Los metodos que menciono son

Los metodos que menciono son de las librerias que nos proporciona Motorola como dices, pero son criterios que nos ayudan a conocer si la posicion es valida, o si tengo que capturar una posicion nueva. Puede usarse una librería distinta, pero tengo que buscar los metodos adecuados para llegar al mismo razonamiento. En programacion no nos debemos amarrar a la librería, sino al algoritmo descrito para resolver el problema propuesto.

Sugerencia

Apoyo tu comentario, sin embargo si los metodos o clases ya existen entonces habria que utilizarlas y mejorarlas (si fuera posible), segun nos convenga para el proyecto que estemos tratando. Es decir; no reinventar la polvora.

saludos,
EP

Ojo, que en algunos casos la

Ojo, que en algunos casos la libreria propietaria ofrece mejor performance que la libreria generica. Por ello, en ese punto debemos pensar si sacrificamos portabilidad para obtener mejores resultados, o si obtener resultados promedio para que corra en mayor numero de dispositivos.

trata

trata de que tu captura GPS sea en menos segundos para la exactitud, esto hace lamentablemente que tu bateria se descargue mas. busca algo apropiado, yo recomiendo 1 minuto.

Depende bastante del tipo de

Depende bastante del tipo de actividad que se realiza con el GPS. Si es una persona a pie, en un minuto no va a desplazarse tanto por lo que un minuto es un tiempo medianamente tolerable. Pero si el tracking es sobre alguien que se desplaza en bicicleta, moto o automovil, un minuto es un periodo demasiado grande, por lo que el error sera mayor. El minimo que ponemos es entre 3 y 5 segundos, para tener una posicion certera. Gasta mas bateria, pero tienes mas precision. Si puedes sacrificar un poco de presicion para preservar bateria, puedes poner un periodo de 30 segundos y hasta un minuto, pero evalua el peor caso en que registras 1 segundo antes de capturar una nueva posicion.

Sugerencia

Este punto es importante siempre y cuando el esquema sea que el proceso de GPS esta corriendo cada 3 ó 5 segundos dentro del equipo. Sin embargo si nos vamos al escenario de que la coordenada se desea enviar cada minuto, pues mi recomendacion es no hacerlo, como minimo poner 8 minutos ya que satura al equipo y cada minuto los satelites tienen que triangular para obtener la coordenada.

Y en caso fuera una aplicacion que solo envia coordenadas GPS, pues utilizar el protocolo UDP y no el TCP, debido a que el UDP hara mas rapido el envio pero sacrificando la respuesta si llego o no correctamente el registro.

Slds,
EP

La regla es simple. Cuanto se

La regla es simple. Cuanto se puede desplazar el objetivo en 8 minutos? Si es un peaton, en 8 minutos podria desplazarse 8 cuadras, por lo que en el caso peor tendrias una diferencia de 800 metros. Si es tolerable, pueden usar 8 minutos. Sino, deben disminuir el tiempo hasta encontrar un caso que pueda ser lo mas aceptable posible.

ok

pueden ser caminantes como tambien vehiculos en movimiento los que utilicen esto, ahi hay que de todas maneras encontrar el tiempo aceptable

Sugerencia

Es obvio que no se va brindar la misma aplicacion para un transeunte que para un vehiculo, el tiempo de captura en un vehiculo tendria que ser menor al de un transeunte,no puede haber punto de comparacion.

Por otro lado cuando se obtiene la coordenada GPS por celda, tienen que tener en cuenta que no solo captura en base a la antena mas cerca, sino a la antena que esta mas cerca y menos saturada.

Hi Fabio, Actually the GPS

Hi Fabio,

Actually the GPS chip implemented on motorola devices are not the same that the ones used on BB. Other thing you should know is that the services from assisted location on Nextel is paid, otherwise you can only get satellite position after getting the first fix (usually take longer time).

Do you know the precision of the J2ME APP?, that horizontal distance set in the code is the margin your position could be (usually is 500 meters). Also the algorythm to determine your postion depends of the vendor.