我正在为app引擎数据存储寻找替代库,它将执行最近n或盒装地理查询,目前我正在使用GeoModel 0.2并且它运行得非常慢(在某些情况下大于1.5秒).有没有人有什么建议?
谢谢!
解决方法
我对geomodel有同样的问题.
为了更正,我使用4的分辨率,我使用 python排序和过滤器.
为了更正,我使用4的分辨率,我使用 python排序和过滤器.
SEARCHED_LOCATION = db.GeoPt("48.8566667,2.3509871") # Location of Paris. DISTANCE = 50000 #Between 10000 and 150000. MAX_RESULTS = 300 # Resolution '4' is about 150 kilometers i suppose it's a good compromise. bbox = geocell.compute_box(geocell.compute(SEARCHED_LOCATION,resolution=4)) cell = geocell.best_bbox_search_cells(bbox,geomodel.default_cost_function) query.filter('location_geocells IN',cell) # Python filters def _func(x): """Private method used to set the distance of the model to the searched location and return this distance. """ x.dist = geomath.distance(SEARCHED_LOCATION,x.location) return x.dist results = sorted(query.fetch(MAX_RESULTS),key=_func) # Order the result by distance results = [x for x in results if x.dist <= DISTANCE] # Filter the result
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。