Fixed #28738 -- Added the GeometryDistance function.

This commit is contained in:
Francisco Couzo 2019-03-20 13:54:42 -03:00 committed by Tim Graham
parent 638d5ea375
commit 0193bf874f
9 changed files with 62 additions and 22 deletions

View file

@ -20,17 +20,17 @@ get a ``NotImplementedError`` exception.
Function's summary:
================== ======================== ====================== ======================= ================== =====================
Measurement Relationships Operations Editors Output format Miscellaneous
================== ======================== ====================== ======================= ================== =====================
:class:`Area` :class:`Azimuth` :class:`Difference` :class:`ForcePolygonCW` :class:`AsGeoJSON` :class:`IsValid`
:class:`Distance` :class:`BoundingCircle` :class:`Intersection` :class:`MakeValid` :class:`AsGML` :class:`MemSize`
:class:`Length` :class:`Centroid` :class:`SymDifference` :class:`Reverse` :class:`AsKML` :class:`NumGeometries`
:class:`Perimeter` :class:`Envelope` :class:`Union` :class:`Scale` :class:`AsSVG` :class:`NumPoints`
.. :class:`LineLocatePoint` :class:`SnapToGrid` :class:`GeoHash`
.. :class:`PointOnSurface` :class:`Transform`
.. :class:`Translate`
================== ======================== ====================== ======================= ================== =====================
========================= ======================== ====================== ======================= ================== =====================
Measurement Relationships Operations Editors Output format Miscellaneous
========================= ======================== ====================== ======================= ================== =====================
:class:`Area` :class:`Azimuth` :class:`Difference` :class:`ForcePolygonCW` :class:`AsGeoJSON` :class:`IsValid`
:class:`Distance` :class:`BoundingCircle` :class:`Intersection` :class:`MakeValid` :class:`AsGML` :class:`MemSize`
:class:`GeometryDistance` :class:`Centroid` :class:`SymDifference` :class:`Reverse` :class:`AsKML` :class:`NumGeometries`
:class:`Length` :class:`Envelope` :class:`Union` :class:`Scale` :class:`AsSVG` :class:`NumPoints`
:class:`Perimeter` :class:`LineLocatePoint` :class:`SnapToGrid` :class:`GeoHash`
.. :class:`PointOnSurface` :class:`Transform`
.. :class:`Translate`
========================= ======================== ====================== ======================= ================== =====================
``Area``
========
@ -308,6 +308,19 @@ result.
__ https://en.wikipedia.org/wiki/Geohash
``GeometryDistance``
====================
.. class:: GeometryDistance(expr1, expr2, **extra)
.. versionadded:: 3.0
*Availability*: `PostGIS <https://postgis.net/docs/geometry_distance_knn.html>`__
Accepts two geographic fields or expressions and returns the distance between
them. When used in an :meth:`~django.db.models.query.QuerySet.order_by` clause,
it provides index-assisted nearest-neighbor result sets.
``Intersection``
================