def query_by_points(cls, points): q = DBSession().query(cls) polygon_point_dict = _get_polygon_from_points(points) q = q.filter(and_(cls.latitude <= polygon_point_dict['max_lat'], cls.latitude >= polygon_point_dict['min_lat'], cls.longitude >= polygon_point_dict['min_lng'], cls.longitude <= polygon_point_dict['max_lng'])) buildings = q.all() points = [(point['lat'], point['lng']) for point in points] buildings = [building for building in buildings if is_in_region((float(building.latitude), float(building.longitude)), points)] return buildings
def query_by_points(cls, points): q = DBSession().query(cls) polygon_point_dict = _get_polygon_from_points(points) q = q.filter( and_(cls.latitude <= polygon_point_dict['max_lat'], cls.latitude >= polygon_point_dict['min_lat'], cls.longitude >= polygon_point_dict['min_lng'], cls.longitude <= polygon_point_dict['max_lng'])) buildings = q.all() points = [(point['lat'], point['lng']) for point in points] buildings = [ building for building in buildings if is_in_region((float(building.latitude), float(building.longitude)), points) ] return buildings
def delete_by_region(cls, region_id): q = DBSession().query(cls) q = q.filter(cls.region_id == region_id) buildings = q.all() for building in buildings: building.region_id = None
def query_by_region(cls, region_id): q = DBSession().query(cls) q = q.filter(cls.region_id == region_id) return q.all()