相关疑难解决方法(0)

用于查找距给定Lat Lng位置一定距离内的所有纬度经度位置的算法

给定具有纬度+经度位置的地点的数据库,例如40.8120390,-73.4889650,如何在特定位置的给定距离内找到所有位置?

从DB中选择所有位置然后逐个浏览它们似乎并不是非常有效,从起始位置获取距离以查看它们是否在指定距离内.有没有一种很好的方法来缩小DB中最初选择的位置?一旦我(或没有?)一组缩小的位置,我是否仍然逐个检查距离,或者有更好的方法吗?

我这样做的语言并不重要.谢谢!

algorithm gps location geolocation latitude-longitude

74
推荐指数
5
解决办法
9万
查看次数

Python地理编码按距离过滤

我需要过滤近地点的地理编码到一个位置.例如,我想过滤餐馆地理编码列表,以识别距离我当前位置10英里范围内的餐馆.

有人能指出我将一个距离转换为纬度和经度增量的函数吗?例如:

class GeoCode(object):
   """Simple class to store geocode as lat, lng attributes."""
   def __init__(self, lat=0, lng=0, tag=None):
      self.lat = lat
      self.lng = lng
      self.tag = None

def distance_to_deltas(geocode, max_distance):
   """Given a geocode and a distance, provides dlat, dlng
      such that

         |geocode.lat - dlat| <= max_distance
         |geocode.lng - dlng| <= max_distance
   """
   # implementation
   # uses inverse Haversine, or other function?
   return dlat, dlng
Run Code Online (Sandbox Code Playgroud)

注意:我使用的是supremum规范的距离.

python geocoding

1
推荐指数
1
解决办法
4167
查看次数