Foros del Web » Programando para Internet » Javascript »

Puntos de interés cercanos a coordenada

Estas en el tema de Puntos de interés cercanos a coordenada en el foro de Javascript en Foros del Web. Hola, os cuento, tengo una base de datos con lugares y las coordenadas en las que están ubicados, y me gustaría que al mostrar un ...
  #1 (permalink)  
Antiguo 08/07/2011, 14:27
 
Fecha de Ingreso: septiembre-2009
Mensajes: 47
Antigüedad: 14 años, 7 meses
Puntos: 0
Puntos de interés cercanos a coordenada

Hola, os cuento, tengo una base de datos con lugares y las coordenadas en las que están ubicados, y me gustaría que al mostrar un lugar con la api de google maps, se mostrarán también los que están a 2 km del que se está mostrando.

Sabéis alguna manera de hacer eso? Gracias!!
  #2 (permalink)  
Antiguo 08/07/2011, 14:54
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Puntos de interés cercanos a coordenada

Fijate en este enlace:
http://stackoverflow.com/questions/1...google-maps-v3

Y si necesitás una buena referencia para este tipo de cálculos:

http://www.movable-type.co.uk/scripts/latlong.html
  #3 (permalink)  
Antiguo 08/07/2011, 16:27
 
Fecha de Ingreso: septiembre-2009
Mensajes: 47
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Puntos de interés cercanos a coordenada

Gracias por tu rápida respuesta, pero por lo que he visto los enlaces que me has dicho son para calcular la distancia entre dos puntos.

Por ejemplo de la siguiente tabla de lugares:

Nombre | Latitud | Longitud
Lugar 1 | 1 | 1
Lugar 2 | 1 | 2
Lugar 3 | 1 | 3
Lugar 4 | 2 | 1
Lugar 5 | 2 | 2
Lugar 6 | 2 | 3

Necesitaría obtener los lugares a menos de 2 km del Lugar 1, o sea que me daría Lugar 2, Lugar 4, Lugar 5.

O sea que a partir de un punto saber todas las coordenadas que son compatibles con el radio de 2 km a partir de un punto, a partir de ahí seleccionar todas las compatibles. Necesitaría eso porque la opción de comprobar uno por uno entre 10.000 lugares cuales están a menos de X distancia, no creo que sea la más adecuada.

Espero vuestros comentarios, gracias!!!
  #4 (permalink)  
Antiguo 08/07/2011, 18:04
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Puntos de interés cercanos a coordenada

Entonces sólo debes comprobar que la raíz de uno al cuadrado más el otro al cuadrado es menor que 2, vamos, lo que viene a ser el teorema de Pitágoras. Luego simplemente vas mirando uno a uno cuáles son lugares que necesitas y los que no.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #5 (permalink)  
Antiguo 11/07/2011, 13:03
 
Fecha de Ingreso: septiembre-2009
Mensajes: 47
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Puntos de interés cercanos a coordenada

Gracias _cronos2 por tu recomendación, pero no acabo de entender como usar el teorema de Pitágoras a lo que necesito...

Por ejemplo estoy en 41.394618 , 2.171414
Lugar 1 esta en 41.394695 , 2.171409 (a menos de 10 km)
Lugar 2 esta en 41.385422 , 2.173748 (a más de 10 km)

Como podría saber usando el teorema de pitágoras cual de esos dos lugares está a menos de 10 km?

A ver si me puedes echar una mano, me harías un gran favor!!
  #6 (permalink)  
Antiguo 11/07/2011, 13:44
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Puntos de interés cercanos a coordenada

Creo que todo esto tiene más de matemáticas que de JS. Lo primero que hay que hacer es darse cuenta de que como la Tierra es una esfera, la distancia entre dos coordenadas hay que calcularla con esta fórmula:
Código:
Distancia = 2πr * nº / 360º
Esta es la fórmula para calcular la longitud de un arco. Aquí tienes que sustituir n por la diferencia de las dos latitudes y longitudes. Después, usas la otra fórmula para comprobar si está a más o menos de 2km.
Ejemplo práctico: Yo me encuentro en (45,45), y el otro punto está en (45.1, 45.3).
La distancia en longitud es de 0.1º, y en la latitud es de 0.3º, así que calculamos la distancia real:
Código:
2πr * 0.1º / 360º = πr / 1800
2πr * 0.3º / 360º = πr / 600
Así que la distancia real entre los dos puntos es de:
Código:
sqrt((πr / 1800)^2 + (πr / 600)^2)
Y ya sólo queda comprobar que esa distancia sea menor que 2. Ahora falta transformar todo esto en JS, pero no sé si JS será capaz de trabajar con estas cantidades con tantos decimales adecuadamente.
Saludos (:
PD: r es el radio de la Tierra medido en km.
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #7 (permalink)  
Antiguo 12/07/2011, 16:12
 
Fecha de Ingreso: septiembre-2009
Mensajes: 47
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Puntos de interés cercanos a coordenada

Gracias de nuevo por tu comentario! Pero pensando alguna manera de obtener los mismos resultados sin tantos cálculos, se me ha ocurrido lo siguiente:

Partiendo que 5 km sean 0,00001 tanto en latitud como en logitud (No he podido encontrar la equivalencia correcta)

No sería lo mismo sumar y restar esa cantidad a las coordenadas del punto inicial para crear el intevalo de coordenadas entre las que quiero encontrar lugares?
  #8 (permalink)  
Antiguo 12/07/2011, 16:29
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Puntos de interés cercanos a coordenada

Entonces estarías aceptando los puntos que se encontraran en un cuadrado, no en un círculo que es lo que en principio quieres tú. O sea, estarías aceptando puntos a más de 2km del punto inicial (ya que en este caso la circunferencia estaría inscrita en el cuadrado). Lo que te quiero decir con esto es que estás confundiendo conceptos, tú buscas los puntos a menos de 2km a la redonda, pero lo que ahora intentas hacer es usar la 4 esquinas de un cuadrado para comprobar que está dentro de ese rango.
Para que te sea más fácil, 1º equivale a, más o menos, 111.32km
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #9 (permalink)  
Antiguo 14/07/2011, 04:55
 
Fecha de Ingreso: septiembre-2009
Mensajes: 47
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Puntos de interés cercanos a coordenada

Muchísimas gracias que con todo esto ya me las apaño para seguir adelante con esto. Gracias!!
  #10 (permalink)  
Antiguo 04/01/2012, 13:10
 
Fecha de Ingreso: diciembre-2011
Ubicación: Amposta
Mensajes: 31
Antigüedad: 12 años, 4 meses
Puntos: 2
Respuesta: Puntos de interés cercanos a coordenada

Supongo que llego tarde, pero ahi lo explica muy bien!

http://www.tufuncion.com/distancia-coordenadas

Etiquetas: puntos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:19.