Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.90 KB | None | 0 0
  1. (We are in a QuerySet, self = Trips.object)
  2.  
  3.         ogr_departure = smart_transform(departure_point,SRID_TRANSFORM, from_srid=SRID_DEFAULT).ogr
  4.         ogr_arrival = smart_transform(arrival_point,SRID_TRANSFORM, from_srid=SRID_DEFAULT).ogr
  5.         offers = self.filter(offer__isnull=False)
  6.         offers = offers.select_related('user', 'offer')
  7.  
  8.             off = offers.extra(
  9.             select=SortedDict([
  10.                 ('pourcentage_rank', """get_pourcentage_rank(
  11.                    "carpool_tripoffer"."direction_route_proj",
  12.                    ST_PointFromWKB(ST_AsEWKB('%s'::geometry)),
  13.                    ST_PointFromWKB(ST_AsEWKB('%s'::geometry))
  14.                )
  15.                """),
  16.             ]),
  17.             select_params=(
  18.                 ogr_departure.wkt,
  19.                 ogr_arrival.wkt,
  20.             ),
  21.             where=[
  22.                 """ST_DWithin(
  23.                    "carpool_tripoffer"."simple_route_proj",
  24.                    ST_PointFromWKB(ST_AsEWKB('%s'::geometry)),
  25.                    "carpool_tripoffer"."radius" + %s
  26.                )
  27.                """,
  28.                 """ST_DWithin(
  29.                    "carpool_tripoffer"."simple_route_proj",
  30.                    ST_PointFromWKB(ST_AsEWKB('%s'::geometry)),
  31.                    "carpool_tripoffer"."radius" + %s
  32.                )
  33.                """,
  34.                 """get_pourcentage_rank(
  35.                    "carpool_tripoffer"."direction_route_proj",
  36.                    ST_PointFromWKB(ST_AsEWKB('%s'::geometry)),
  37.                    ST_PointFromWKB(ST_AsEWKB('%s'::geometry))
  38.                ) >= %s
  39.                """,
  40.             ],
  41.             params=[
  42.                 ogr_departure.wkt, radius,
  43.                 ogr_arrival.wkt, radius,
  44.                 ogr_departure.wkt,
  45.                 ogr_arrival.wkt,
  46.                 self.MAX_PERCENTAGE_RANK,
  47.             ]
  48.         )
  49.         return off
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement