def compute_occlusions(box): SW, NE = box points = list(POI.objects(at__geo_within_box=(SW, NE))) print("Starting", SW, NE, len(points)) for i, p1 in enumerate(points): for j, p2 in enumerate(points[i+1:]): coords1, coords2 = p1.at['coordinates'], p2.at['coordinates'] dist = math.sqrt(abs(coords1[0]-coords2[0])**2 + abs(coords1[1]-coords2[1])**2) occluded_point = p1 if p1.rank < p2.rank else p2 for zoom, spacing in enumerate(zoomspacing): if dist < spacing: continue break occluded_point.min_zoom = max(occluded_point.min_zoom, zoom) p1.save() print("Finished", SW, NE, len(points))
def compute_occlusions(box): SW, NE = box points = list(POI.objects(at__geo_within_box=(SW, NE))) print("Starting", SW, NE, len(points)) for i, p1 in enumerate(points): for j, p2 in enumerate(points[i + 1:]): coords1, coords2 = p1.at['coordinates'], p2.at['coordinates'] dist = math.sqrt( abs(coords1[0] - coords2[0])**2 + abs(coords1[1] - coords2[1])**2) occluded_point = p1 if p1.rank < p2.rank else p2 for zoom, spacing in enumerate(zoomspacing): if dist < spacing: continue break occluded_point.min_zoom = max(occluded_point.min_zoom, zoom) p1.save() print("Finished", SW, NE, len(points))
def getPoints(): print(request.json) zoom = int(request.json.get("zoom", 1)) seen = request.json.get("seen", []) ensure(seen).is_a_list_of(str) points = POI.objects( at__geo_within_box=(request.json["SW"], request.json["NE"]), min_zoom=zoom, name__nin=request.json["seen"] ) return jsonify( { "points": [ { "name": p.name, "lat": p.at["coordinates"][1], "lng": p.at["coordinates"][0], "abstract": lz4.decompress(p.abstract).decode() if p.abstract else "", "img": p.img, } for p in points ] } )
def getPoints(): print(request.json) zoom = int(request.json.get('zoom', 1)) seen = request.json.get('seen', []) ensure(seen).is_a_list_of(str) points = POI.objects(at__geo_within_box=(request.json['SW'], request.json['NE']), min_zoom=zoom, name__nin=request.json['seen']) return jsonify({ "points": [{ "name": p.name, "lat": p.at['coordinates'][1], "lng": p.at['coordinates'][0], "abstract": lz4.decompress(p.abstract).decode() if p.abstract else '', "img": p.img, } for p in points] })