Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 16/03/13, 15:56:53
Avatar de larayavergara
larayavergara larayavergara no está en línea
Miembro del foro
Mensajes: 57
 
Fecha de registro: oct 2011
Localización: Stgo, Chile
Mensajes: 57
Modelo de smartphone: Sony Xperia Z5
Tu operador: Otra
Mencionado: 3 comentarios
Tagged: 0 hilos
Punto GPS en un cuadrante

Hola a todos,
hace poco que estoy con android y hasta ahora habia aprendido bastante leyendo, pero me veo en la obligacion de preguntar....jejeje..

tengo lo siguiente, desde el gps obtengo un punto, y yo tengo definidos(en papel) cierta cantidad de cuadrantes(pueden ser 3,4,7,9,etc)... cual es la manera mas sencilla de saber en que cuadrante esta ese punto?

Desde ya, muchas gracias.
Responder Con Cita


  #2  
Viejo 16/03/13, 17:06:27
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Por lo que he entendido lo que quieres es que el móvil cuando obtenga un punto te diga "Cuadrante número 5". ¿Es eso?

Pues si es eso una de las formas de hacerlo (seguro que hay muchas más formas más eficientes, pero es la primera que se me ocurre) es crearte un array de cuadrantes donde cada cuadrante tenga su latitud y longitud de inicio y fin respectivamente. Y al obtener el punto recorrer el array buscando el punto.
Responder Con Cita
  #3  
Viejo 16/03/13, 17:35:03
Avatar de larayavergara
larayavergara larayavergara no está en línea
Miembro del foro
Mensajes: 57
 
Fecha de registro: oct 2011
Localización: Stgo, Chile
Mensajes: 57
Modelo de smartphone: Sony Xperia Z5
Tu operador: Otra
Mencionado: 3 comentarios
Tagged: 0 hilos
si, es eso....
y mas o menos lo habia pensado como lo planteas, preguntando con if, else...hasta encontrar si esta dentro del cuadrante...
el tema es que se me hace muy largo por ejemplo, si llego a tener 10 0 15 cuadrantes, ya que por cada cuadrante, vas a tener 4 posiciones(4 lat, y 4 lon)...por eso queria ver una forma mas "eficiente", si es que existe... sino, a teclear se ha dicho...jejeje
Responder Con Cita
  #4  
Viejo 18/03/13, 10:51:32
Avatar de superroko2
superroko2 superroko2 no está en línea
Miembro del foro
Mensajes: 93
 
Fecha de registro: oct 2012
Mensajes: 93
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
1) Tal como lo veo yo, solo hace falta una latitud y una logitud por cuadrante, no? El fin de uno será el inicio del siguiente, y así sucesivamente, cierto? En ese caso en espacio solo tendrías un coste de 2n datos (n latitudes y n longitudes).

2) En cuanto a la búsqueda, puedes hacer una búsqueda dicotómica. En ese caso tendrías un coste de n/2 en cada paso de búsqueda para las latitudes y lo mismo para las longitudes.

Yo lo veo bastante eficiente en cuanto a tiempo y espacio, no sé que opináis.
Responder Con Cita
  #5  
Viejo 18/03/13, 15:52:37
Avatar de larayavergara
larayavergara larayavergara no está en línea
Miembro del foro
Mensajes: 57
 
Fecha de registro: oct 2011
Localización: Stgo, Chile
Mensajes: 57
Modelo de smartphone: Sony Xperia Z5
Tu operador: Otra
Mencionado: 3 comentarios
Tagged: 0 hilos
cada cuadrante tiene 4 puntos(lat,lon), y si busco un solo punto... pongo un mapa de ejemplo..

Responder Con Cita
  #6  
Viejo 18/03/13, 17:03:24
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
Si los cuadrantes son arbitrarios y no son muchos, lo más fácil es comprobarlos uno a uno, que viene a ser lo que te proponían desde un principio.

Por ahorrarte alguna línea de código, Android tiene la clase Rect y RectF que te permite definir superficies rectangulares y métodos que te dicen si un punto está dentro de ese rectángulo o no. No hacen falta pero te liarás menos con las cuentas y el código es más bonito aunque menos eficiente.

Dado que parece que vas a definir los cuadrantes "a mano", define cada uno como un objeto Rect, los metes en un array, colección o cualquier cosa que puedas meter en un bucle for para ir viendo si el punto que te interesa está o no en cada uno.
Responder Con Cita
  #7  
Viejo 18/03/13, 20:21:36
Avatar de larayavergara
larayavergara larayavergara no está en línea
Miembro del foro
Mensajes: 57
 
Fecha de registro: oct 2011
Localización: Stgo, Chile
Mensajes: 57
Modelo de smartphone: Sony Xperia Z5
Tu operador: Otra
Mencionado: 3 comentarios
Tagged: 0 hilos
vale, gracias por sus respuestas... verificar uno a uno es lo que tenia pensado desde un ppcio y asi parece que sera, la idea era saber si existia alguna otra forma de hacerlo, mas que ahorrarse codigo, era que fuera mas eficiente...

entonces, a meter mano ahora...jejeje...
gracias a todos.
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 22:14:16 (GMT +1)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007