Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (We are in a QuerySet, self = Trips.object)
- ogr_departure = smart_transform(departure_point,SRID_TRANSFORM, from_srid=SRID_DEFAULT).ogr
- ogr_arrival = smart_transform(arrival_point,SRID_TRANSFORM, from_srid=SRID_DEFAULT).ogr
- offers = self.filter(offer__isnull=False)
- offers = offers.select_related('user', 'offer')
- off = offers.extra(
- select=SortedDict([
- ('pourcentage_rank', """get_pourcentage_rank(
- "carpool_tripoffer"."direction_route_proj",
- ST_PointFromWKB(ST_AsEWKB('%s'::geometry)),
- ST_PointFromWKB(ST_AsEWKB('%s'::geometry))
- )
- """),
- ]),
- select_params=(
- ogr_departure.wkt,
- ogr_arrival.wkt,
- ),
- where=[
- """ST_DWithin(
- "carpool_tripoffer"."simple_route_proj",
- ST_PointFromWKB(ST_AsEWKB('%s'::geometry)),
- "carpool_tripoffer"."radius" + %s
- )
- """,
- """ST_DWithin(
- "carpool_tripoffer"."simple_route_proj",
- ST_PointFromWKB(ST_AsEWKB('%s'::geometry)),
- "carpool_tripoffer"."radius" + %s
- )
- """,
- """get_pourcentage_rank(
- "carpool_tripoffer"."direction_route_proj",
- ST_PointFromWKB(ST_AsEWKB('%s'::geometry)),
- ST_PointFromWKB(ST_AsEWKB('%s'::geometry))
- ) >= %s
- """,
- ],
- params=[
- ogr_departure.wkt, radius,
- ogr_arrival.wkt, radius,
- ogr_departure.wkt,
- ogr_arrival.wkt,
- self.MAX_PERCENTAGE_RANK,
- ]
- )
- return off
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement