lite java geolocation latitude-longitude

java - lite - cómo calcular todos los puntos(longitud, latitud) dentro de un radio dado desde un punto dado(longitud, latitud)?



geoip db download (1)

Solo estoy adivinando aquí, pero creo que necesitarás encontrar un enfoque diferente. Si intenta hacer algo como Foursquare, Google Maps, etc., donde encuentra lugares dentro de un radio de 5 millas de su ubicación actual, creo que encontrará que estos servicios no calculan todos los puntos en ese radio y luego unirlos a lugares en esos puntos.

Probablemente haya algo de inteligencia detrás del código que haga algo como esto ...

  1. Obtener la ubicación actual de los usuarios
  2. Encuentra el suburbio (o en su defecto, encuentra la ciudad) donde se encuentra la ubicación actual. También encuentra todos los suburbios adyacentes a este.
  3. Encuentra todos los lugares dentro de esos suburbios y calcula qué tan lejos están de la ubicación actual del usuario

Este tipo de proceso es un método potencial que podría ser empleado por estos servicios. Esto se refiere a un pequeño subconjunto de comparaciones de lugares, que es relativamente rápido de realizar. Además, los lugares en un mapa suelen tener un suburbio / ciudad asociado a ellos de todos modos, por lo que las búsquedas de bases de datos para los lugares serían bastante rápidas, ya que habría un índice que involucraría al suburbio.

Si su objetivo es hacer algo como esto, trataría de encontrar una forma diferente de comparar puntos en lugar de simplemente tratar de calcular todo en su radio.

Y, por supuesto, también habría muchos algoritmos específicos para calcular esto mejor, pero esa no es mi área de especialización, y sería más adecuada para otro foro. No estoy tratando de decir que esta es la mejor manera de hacerlo, pero hay muchas otras maneras de hacerlo que dependen de datos de ubicación conocidos que serían más rápidos y más inteligentes que los requisitos sugeridos.

Tengo un punto dado (longitud, latitud) y quiero obtener todos los rangos de puntos que llegue, digamos, 5 millas de radio en un punto dado.