Fixed #25498 -- Documented ST_Distance/ST_Distance_Sphere difference

Thanks Bibhas Debnath for the report and Tim Graham for the review.
This commit is contained in:
Claude Paroz 2015-10-09 17:15:16 +02:00
parent 67732a9b18
commit 617b1a21f5
1 changed files with 18 additions and 17 deletions

View File

@ -523,7 +523,8 @@ With PostGIS, on every distance lookup but :lookup:`dwithin`, an optional
third element, ``'spheroid'``, may be included to tell GeoDjango third element, ``'spheroid'``, may be included to tell GeoDjango
to use the more accurate spheroid distance calculation functions on to use the more accurate spheroid distance calculation functions on
fields with a geodetic coordinate system (e.g., ``ST_Distance_Spheroid`` fields with a geodetic coordinate system (e.g., ``ST_Distance_Spheroid``
would be used instead of ``ST_Distance_Sphere``). would be used instead of ``ST_Distance_Sphere``). The simpler ``ST_Distance``
function is used with projected coordinate systems.
.. versionadded:: 1.10 .. versionadded:: 1.10
@ -541,13 +542,13 @@ Example::
Zipcode.objects.filter(poly__distance_gt=(geom, D(m=5))) Zipcode.objects.filter(poly__distance_gt=(geom, D(m=5)))
========== =============================================== ========== ==================================================
Backend SQL Equivalent Backend SQL Equivalent
========== =============================================== ========== ==================================================
PostGIS ``ST_Distance(poly, geom) > 5`` PostGIS ``ST_Distance/ST_Distance_Sphere(poly, geom) > 5``
Oracle ``SDO_GEOM.SDO_DISTANCE(poly, geom, 0.05) > 5`` Oracle ``SDO_GEOM.SDO_DISTANCE(poly, geom, 0.05) > 5``
SpatiaLite ``Distance(poly, geom) > 5`` SpatiaLite ``Distance(poly, geom) > 5``
========== =============================================== ========== ==================================================
.. fieldlookup:: distance_gte .. fieldlookup:: distance_gte
@ -561,13 +562,13 @@ Example::
Zipcode.objects.filter(poly__distance_gte=(geom, D(m=5))) Zipcode.objects.filter(poly__distance_gte=(geom, D(m=5)))
========== ================================================ ========== ===================================================
Backend SQL Equivalent Backend SQL Equivalent
========== ================================================ ========== ===================================================
PostGIS ``ST_Distance(poly, geom) >= 5`` PostGIS ``ST_Distance/ST_Distance_Sphere(poly, geom) >= 5``
Oracle ``SDO_GEOM.SDO_DISTANCE(poly, geom, 0.05) >= 5`` Oracle ``SDO_GEOM.SDO_DISTANCE(poly, geom, 0.05) >= 5``
SpatiaLite ``Distance(poly, geom) >= 5`` SpatiaLite ``Distance(poly, geom) >= 5``
========== ================================================ ========== ===================================================
.. fieldlookup:: distance_lt .. fieldlookup:: distance_lt
@ -581,13 +582,13 @@ Example::
Zipcode.objects.filter(poly__distance_lt=(geom, D(m=5))) Zipcode.objects.filter(poly__distance_lt=(geom, D(m=5)))
========== =============================================== ========== ==================================================
Backend SQL Equivalent Backend SQL Equivalent
========== =============================================== ========== ==================================================
PostGIS ``ST_Distance(poly, geom) < 5`` PostGIS ``ST_Distance/ST_Distance_Sphere(poly, geom) < 5``
Oracle ``SDO_GEOM.SDO_DISTANCE(poly, geom, 0.05) < 5`` Oracle ``SDO_GEOM.SDO_DISTANCE(poly, geom, 0.05) < 5``
SpatiaLite ``Distance(poly, geom) < 5`` SpatiaLite ``Distance(poly, geom) < 5``
========== =============================================== ========== ==================================================
.. fieldlookup:: distance_lte .. fieldlookup:: distance_lte
@ -601,13 +602,13 @@ Example::
Zipcode.objects.filter(poly__distance_lte=(geom, D(m=5))) Zipcode.objects.filter(poly__distance_lte=(geom, D(m=5)))
========== ================================================ ========== ===================================================
Backend SQL Equivalent Backend SQL Equivalent
========== ================================================ ========== ===================================================
PostGIS ``ST_Distance(poly, geom) <= 5`` PostGIS ``ST_Distance/ST_Distance_Sphere(poly, geom) <= 5``
Oracle ``SDO_GEOM.SDO_DISTANCE(poly, geom, 0.05) <= 5`` Oracle ``SDO_GEOM.SDO_DISTANCE(poly, geom, 0.05) <= 5``
SpatiaLite ``Distance(poly, geom) <= 5`` SpatiaLite ``Distance(poly, geom) <= 5``
========== ================================================ ========== ===================================================
.. fieldlookup:: dwithin .. fieldlookup:: dwithin