Opened 2 years ago

Last modified 11 months ago

#28738 closed New feature

Addition of PostGIS <-> operator — at Version 1

Reported by: Matthew Somerville Owned by: nobody
Component: GIS Version: 1.11
Severity: Normal Keywords:
Cc: Triage Stage: Ready for checkin
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by Matthew Somerville) – this function is so much quicker when looking up the nearest neighbour of an index, and it'd be great to be built into Django. For example, on a dataset of c. 1.8 million rows:

postcode = Postcode.objects
    .filter(location__distance_gte=(location, D(mi=0)))

took 5 seconds, whereas:

postcode = Postcode.objects
    .annotate(centroid_distance=GeometryCentroidDistance('location', location))

is pretty instantaneous.

(Where GeometryCentroidDistance is a Func subclass that sets function='', arg_joiner = '<-> ', output_field FloatField.)

(There is also <#>

Change History (1)

comment:1 Changed 2 years ago by Matthew Somerville

Description: modified (diff)
Note: See TracTickets for help on using tickets.
Back to Top