diff options
| author | Tim Graham <timograham@gmail.com> | 2016-11-07 13:00:40 +0100 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-01-17 20:51:56 -0500 |
| commit | a0d166306fbdc41f49e6fadf4ec84b17eb147daa (patch) | |
| tree | 112678f9dc1005900415f6c1564c241c17a6d688 /docs | |
| parent | e90c745afdcf89bc3416c9cb2d4a06dfacb2a250 (diff) | |
Removed GeoManager and GeoQuerySet per deprecation timeline.
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/ref/contrib/gis/geoquerysets.txt | 595 | ||||
| -rw-r--r-- | docs/ref/contrib/gis/model-api.txt | 16 | ||||
| -rw-r--r-- | docs/ref/models/querysets.txt | 9 | ||||
| -rw-r--r-- | docs/releases/1.2.txt | 8 | ||||
| -rw-r--r-- | docs/releases/2.0.txt | 2 |
5 files changed, 11 insertions, 619 deletions
diff --git a/docs/ref/contrib/gis/geoquerysets.txt b/docs/ref/contrib/gis/geoquerysets.txt index 99bc4afbe4..8213e0292d 100644 --- a/docs/ref/contrib/gis/geoquerysets.txt +++ b/docs/ref/contrib/gis/geoquerysets.txt @@ -1,11 +1,9 @@ -========================= -GeoQuerySet API Reference -========================= +========================== +GIS QuerySet API Reference +========================== .. currentmodule:: django.contrib.gis.db.models -.. class:: GeoQuerySet(model=None) - .. _spatial-lookups: Spatial Lookups @@ -720,593 +718,6 @@ SpatiaLite ``PtDistWithin(poly, geom, 5)`` SpatiaLite support was added. -.. _geoqueryset-methods: - -``GeoQuerySet`` Methods -======================= - -.. deprecated:: 1.9 - - Using ``GeoQuerySet`` methods is now deprecated in favor of the new - :doc:`functions`. Albeit a little more verbose, they are much more powerful - in how it is possible to combine them to build more complex queries. - -``GeoQuerySet`` methods specify that a spatial operation be performed -on each spatial operation on each geographic -field in the queryset and store its output in a new attribute on the model -(which is generally the name of the ``GeoQuerySet`` method). - -There are also aggregate ``GeoQuerySet`` methods which return a single value -instead of a queryset. This section will describe the API and availability -of every ``GeoQuerySet`` method available in GeoDjango. - -.. note:: - - What methods are available depend on your spatial backend. See - the :ref:`compatibility table <database-functions-compatibility>` - for more details. - -With a few exceptions, the following keyword arguments may be used with all -``GeoQuerySet`` methods: - -===================== ===================================================== -Keyword Argument Description -===================== ===================================================== -``field_name`` By default, ``GeoQuerySet`` methods use the first - geographic field encountered in the model. This - keyword should be used to specify another - geographic field (e.g., ``field_name='point2'``) - when there are multiple geographic fields in a model. - - On PostGIS, the ``field_name`` keyword may also be - used on geometry fields in models that are related - via a ``ForeignKey`` relation (e.g., - ``field_name='related__point'``). - -``model_att`` By default, ``GeoQuerySet`` methods typically attach - their output in an attribute with the same name as - the ``GeoQuerySet`` method. Setting this keyword - with the desired attribute name will override this - default behavior. For example, - ``qs = Zipcode.objects.centroid(model_att='c')`` will - attach the centroid of the ``Zipcode`` geometry field - in a ``c`` attribute on every model rather than in a - ``centroid`` attribute. - - This keyword is required if - a method name clashes with an existing - ``GeoQuerySet`` method -- if you wanted to use the - ``area()`` method on model with a ``PolygonField`` - named ``area``, for example. -===================== ===================================================== - -Measurement ------------ -*Availability*: PostGIS, Oracle, SpatiaLite - -``area`` -~~~~~~~~ - -.. method:: GeoQuerySet.area(**kwargs) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.Area` function - instead. - -Returns the area of the geographic field in an ``area`` attribute on -each element of this GeoQuerySet. - -``distance`` -~~~~~~~~~~~~ - -.. method:: GeoQuerySet.distance(geom, **kwargs) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.Distance` function - instead. - -This method takes a geometry as a parameter, and attaches a ``distance`` -attribute to every model in the returned queryset that contains the -distance (as a :class:`~django.contrib.gis.measure.Distance` object) to the given geometry. - -In the following example (taken from the `GeoDjango distance tests`__), -the distance from the `Tasmanian`__ city of Hobart to every other -:class:`PointField` in the ``AustraliaCity`` queryset is calculated:: - - >>> pnt = AustraliaCity.objects.get(name='Hobart').point - >>> for city in AustraliaCity.objects.distance(pnt): print(city.name, city.distance) - Wollongong 990071.220408 m - Shellharbour 972804.613941 m - Thirroul 1002334.36351 m - Mittagong 975691.632637 m - Batemans Bay 834342.185561 m - Canberra 598140.268959 m - Melbourne 575337.765042 m - Sydney 1056978.87363 m - Hobart 0.0 m - Adelaide 1162031.83522 m - Hillsdale 1049200.46122 m - -.. note:: - - Because the ``distance`` attribute is a - :class:`~django.contrib.gis.measure.Distance` object, you can easily express - the value in the units of your choice. For example, ``city.distance.mi`` is - the distance value in miles and ``city.distance.km`` is the distance value - in kilometers. See :doc:`measure` for usage details and the list of - :ref:`supported_units`. - -__ https://github.com/django/django/blob/master/tests/gis_tests/distapp/models.py -__ https://en.wikipedia.org/wiki/Tasmania - -``length`` -~~~~~~~~~~ - -.. method:: GeoQuerySet.length(**kwargs) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.Length` function - instead. - -Returns the length of the geometry field in a ``length`` attribute -(a :class:`~django.contrib.gis.measure.Distance` object) on each model in -the queryset. - -``perimeter`` -~~~~~~~~~~~~~ - -.. method:: GeoQuerySet.perimeter(**kwargs) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.Perimeter` function - instead. - -Returns the perimeter of the geometry field in a ``perimeter`` attribute -(a :class:`~django.contrib.gis.measure.Distance` object) on each model in -the queryset. - -Geometry Relationships ----------------------- - -The following methods take no arguments, and attach geometry objects -each element of the :class:`GeoQuerySet` that is the result of relationship -function evaluated on the geometry field. - -``centroid`` -~~~~~~~~~~~~ - -.. method:: GeoQuerySet.centroid(**kwargs) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.Centroid` function - instead. - -*Availability*: PostGIS, Oracle, SpatiaLite - -Returns the ``centroid`` value for the geographic field in a ``centroid`` -attribute on each element of the ``GeoQuerySet``. - -``envelope`` -~~~~~~~~~~~~ - -.. method:: GeoQuerySet.envelope(**kwargs) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.Envelope` function - instead. - -*Availability*: PostGIS, SpatiaLite - -Returns a geometry representing the bounding box of the geometry field in -an ``envelope`` attribute on each element of the ``GeoQuerySet``. - -``point_on_surface`` -~~~~~~~~~~~~~~~~~~~~ - -.. method:: GeoQuerySet.point_on_surface(**kwargs) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.PointOnSurface` - function instead. - -*Availability*: PostGIS, Oracle, SpatiaLite - -Returns a Point geometry guaranteed to lie on the surface of the -geometry field in a ``point_on_surface`` attribute on each element -of the queryset; otherwise sets with None. - -Geometry Editors ----------------- - -``force_rhr`` -~~~~~~~~~~~~~ - -.. method:: GeoQuerySet.force_rhr(**kwargs) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.ForceRHR` function - instead. - -*Availability*: PostGIS - -Returns a modified version of the polygon/multipolygon in which all -of the vertices follow the Right-Hand-Rule, and attaches as a -``force_rhr`` attribute on each element of the queryset. - -``reverse_geom`` -~~~~~~~~~~~~~~~~ - -.. method:: GeoQuerySet.reverse_geom(**kwargs) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.Reverse` function - instead. - -*Availability*: PostGIS, Oracle - -Reverse the coordinate order of the geometry field, and attaches as a -``reverse`` attribute on each element of the queryset. - -``scale`` -~~~~~~~~~ - -.. method:: GeoQuerySet.scale(x, y, z=0.0, **kwargs) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.Scale` function - instead. - -*Availability*: PostGIS, SpatiaLite - -``snap_to_grid`` -~~~~~~~~~~~~~~~~ - -.. method:: GeoQuerySet.snap_to_grid(*args, **kwargs) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.SnapToGrid` function - instead. - -Snap all points of the input geometry to the grid. How the -geometry is snapped to the grid depends on how many numeric -(either float, integer, or long) arguments are given. - -=================== ===================================================== -Number of Arguments Description -=================== ===================================================== -1 A single size to snap bot the X and Y grids to. -2 X and Y sizes to snap the grid to. -4 X, Y sizes and the corresponding X, Y origins. -=================== ===================================================== - -``transform`` -~~~~~~~~~~~~~ - -.. method:: GeoQuerySet.transform(srid=4326, **kwargs) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.Transform` function - instead. - -*Availability*: PostGIS, Oracle, SpatiaLite - -The ``transform`` method transforms the geometry field of a model to the spatial -reference system specified by the ``srid`` parameter. If no ``srid`` is given, -then 4326 (WGS84) is used by default. - -.. note:: - - Unlike other ``GeoQuerySet`` methods, ``transform`` stores its output - "in-place". In other words, no new attribute for the transformed - geometry is placed on the models. - -.. note:: - - What spatial reference system an integer SRID corresponds to may depend on - the spatial database used. In other words, the SRID numbers used for Oracle - are not necessarily the same as those used by PostGIS. - -Example:: - - >>> qs = Zipcode.objects.all().transform() # Transforms to WGS84 - >>> qs = Zipcode.objects.all().transform(32140) # Transforming to "NAD83 / Texas South Central" - >>> print(qs[0].poly.srid) - 32140 - >>> print(qs[0].poly) - POLYGON ((234055.1698884720099159 4937796.9232223574072123 ... - -``translate`` -~~~~~~~~~~~~~ -.. method:: GeoQuerySet.translate(x, y, z=0.0, **kwargs) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.Translate` function - instead. - -*Availability*: PostGIS, SpatiaLite - -Translates the geometry field to a new location using the given numeric -parameters as offsets. - -Geometry Operations -------------------- -*Availability*: PostGIS, Oracle, SpatiaLite - -The following methods all take a geometry as a parameter and attach a geometry -to each element of the ``GeoQuerySet`` that is the result of the operation. - -``difference`` -~~~~~~~~~~~~~~ - -.. method:: GeoQuerySet.difference(geom) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.Difference` function - instead. - -Returns the spatial difference of the geographic field with the given -geometry in a ``difference`` attribute on each element of the -``GeoQuerySet``. - - -``intersection`` -~~~~~~~~~~~~~~~~ - -.. method:: GeoQuerySet.intersection(geom) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.Intersection` - function instead. - -Returns the spatial intersection of the geographic field with the -given geometry in an ``intersection`` attribute on each element of the -``GeoQuerySet``. - -``sym_difference`` -~~~~~~~~~~~~~~~~~~ - -.. method:: GeoQuerySet.sym_difference(geom) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.SymDifference` - function instead. - -Returns the symmetric difference of the geographic field with the -given geometry in a ``sym_difference`` attribute on each element of the -``GeoQuerySet``. - -``union`` -~~~~~~~~~ - -.. method:: GeoQuerySet.union(geom) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.Union` function - instead. - -Returns the union of the geographic field with the given -geometry in an ``union`` attribute on each element of the -``GeoQuerySet``. - -Geometry Output ---------------- - -The following ``GeoQuerySet`` methods will return an attribute that has the value -of the geometry field in each model converted to the requested output format. - -``geohash`` -~~~~~~~~~~~ - -.. method:: GeoQuerySet.geohash(precision=20, **kwargs) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.GeoHash` function - instead. - -Attaches a ``geohash`` attribute to every model the queryset -containing the `GeoHash`__ representation of the geometry. - -__ http://geohash.org/ - -``geojson`` -~~~~~~~~~~~ - -.. method:: GeoQuerySet.geojson(**kwargs) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.AsGeoJSON` function - instead. - -*Availability*: PostGIS, SpatiaLite - -Attaches a ``geojson`` attribute to every model in the queryset that contains the -`GeoJSON`__ representation of the geometry. - -===================== ===================================================== -Keyword Argument Description -===================== ===================================================== -``precision`` It may be used to specify the number of significant - digits for the coordinates in the GeoJSON - representation -- the default value is 8. - -``crs`` Set this to ``True`` if you want the coordinate - reference system to be included in the returned - GeoJSON. - -``bbox`` Set this to ``True`` if you want the bounding box - to be included in the returned GeoJSON. -===================== ===================================================== - -__ http://geojson.org/ - -``gml`` -~~~~~~~ - -.. method:: GeoQuerySet.gml(**kwargs) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.AsGML` function - instead. - -*Availability*: PostGIS, Oracle, SpatiaLite - -Attaches a ``gml`` attribute to every model in the queryset that contains the -`Geographic Markup Language (GML)`__ representation of the geometry. - -Example:: - - >>> qs = Zipcode.objects.all().gml() - >>> print(qs[0].gml) - <gml:Polygon srsName="EPSG:4326"><gml:OuterBoundaryIs>-147.78711,70.245363 ... -147.78711,70.245363</gml:OuterBoundaryIs></gml:Polygon> - -===================== ===================================================== -Keyword Argument Description -===================== ===================================================== -``precision`` This keyword is for PostGIS only. It may be used - to specify the number of significant digits for the - coordinates in the GML representation -- the default - value is 8. - -``version`` This keyword is for PostGIS only. It may be used to - specify the GML version used, and may only be values - of 2 or 3. The default value is 2. -===================== ===================================================== - -__ https://en.wikipedia.org/wiki/Geography_Markup_Language - -``kml`` -~~~~~~~ - -.. method:: GeoQuerySet.kml(**kwargs) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.AsKML` function - instead. - -*Availability*: PostGIS, SpatiaLite - -Attaches a ``kml`` attribute to every model in the queryset that contains the -`Keyhole Markup Language (KML)`__ representation of the geometry fields. It -should be noted that the contents of the KML are transformed to WGS84 if -necessary. - -Example:: - - >>> qs = Zipcode.objects.all().kml() - >>> print(qs[0].kml) - <Polygon><outerBoundaryIs><LinearRing><coordinates>-103.04135,36.217596,0 ... -103.04135,36.217596,0</coordinates></LinearRing></outerBoundaryIs></Polygon> - -===================== ===================================================== -Keyword Argument Description -===================== ===================================================== -``precision`` This keyword may be used to specify the number of - significant digits for the coordinates in the KML - representation -- the default value is 8. -===================== ===================================================== - -__ https://developers.google.com/kml/documentation/ - -``svg`` -~~~~~~~ - -.. method:: GeoQuerySet.svg(**kwargs) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.AsSVG` function - instead. - -*Availability*: PostGIS, SpatiaLite - -Attaches a ``svg`` attribute to every model in the queryset that contains -the `Scalable Vector Graphics (SVG)`__ path data of the geometry fields. - -===================== ===================================================== -Keyword Argument Description -===================== ===================================================== -``relative`` If set to ``True``, the path data will be implemented - in terms of relative moves. Defaults to ``False``, - meaning that absolute moves are used instead. - -``precision`` This keyword may be used to specify the number of - significant digits for the coordinates in the SVG - representation -- the default value is 8. -===================== ===================================================== - -__ http://www.w3.org/Graphics/SVG/ - -Miscellaneous -------------- - -``mem_size`` -~~~~~~~~~~~~ - -.. method:: GeoQuerySet.mem_size(**kwargs) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.MemSize` function - instead. - -*Availability*: PostGIS - -Returns the memory size (number of bytes) that the geometry field takes -in a ``mem_size`` attribute on each element of the ``GeoQuerySet``. - -``num_geom`` -~~~~~~~~~~~~ - -.. method:: GeoQuerySet.num_geom(**kwargs) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.NumGeometries` - function instead. - -*Availability*: PostGIS, Oracle, SpatiaLite - -Returns the number of geometries in a ``num_geom`` attribute on -each element of the ``GeoQuerySet`` if the geometry field is a -collection (e.g., a ``GEOMETRYCOLLECTION`` or ``MULTI*`` field); -otherwise sets with ``None``. - -``num_points`` -~~~~~~~~~~~~~~ - -.. method:: GeoQuerySet.num_points(**kwargs) - -.. deprecated:: 1.9 - - Use the :class:`~django.contrib.gis.db.models.functions.NumPoints` function - instead. - -*Availability*: PostGIS, Oracle, SpatiaLite - -Returns the number of points in the first linestring in the -geometry field in a ``num_points`` attribute on each element of -the ``GeoQuerySet``; otherwise sets with ``None``. - Aggregate Functions ------------------- diff --git a/docs/ref/contrib/gis/model-api.txt b/docs/ref/contrib/gis/model-api.txt index 732b3f8f6f..54a6df4dc4 100644 --- a/docs/ref/contrib/gis/model-api.txt +++ b/docs/ref/contrib/gis/model-api.txt @@ -244,22 +244,6 @@ For more information, the PostGIS documentation contains a helpful section on determining `when to use geography data type over geometry data type <http://postgis.net/docs/using_postgis_dbmanagement.html#PostGIS_GeographyVSGeometry>`_. -``GeoManager`` -============== - -.. currentmodule:: django.contrib.gis.db.models -.. class:: GeoManager - -The ``GeoManager`` is required in order to use the legacy -:ref:`geoqueryset-methods`. - -.. deprecated:: 1.9 - - All ``GeoQuerySet`` methods have been deprecated and replaced by - :doc:`equivalent database functions </ref/contrib/gis/functions>`. As soon - as the legacy methods have been replaced in your code, you should be able - to remove the special ``GeoManager`` from your GIS-enabled classes. - .. rubric:: Footnotes .. [#fnogc] OpenGIS Consortium, Inc., `Simple Feature Specification For SQL <http://www.opengeospatial.org/standards/sfs>`_. .. [#fnogcsrid] *See id.* at Ch. 2.3.8, p. 39 (Geometry Values and Spatial Reference Systems). diff --git a/docs/ref/models/querysets.txt b/docs/ref/models/querysets.txt index f5f0fbcc8b..ee48a3c6f0 100644 --- a/docs/ref/models/querysets.txt +++ b/docs/ref/models/querysets.txt @@ -149,11 +149,10 @@ Here's the formal declaration of a ``QuerySet``: .. note:: The ``query`` parameter to :class:`QuerySet` exists so that specialized - query subclasses such as - :class:`~django.contrib.gis.db.models.GeoQuerySet` can reconstruct - internal query state. The value of the parameter is an opaque - representation of that query state and is not part of a public API. - To put it simply: if you need to ask, you don't need to use it. + query subclasses can reconstruct internal query state. The value of the + parameter is an opaque representation of that query state and is not + part of a public API. To put it simply: if you need to ask, you don't + need to use it. .. currentmodule:: django.db.models.query.QuerySet diff --git a/docs/releases/1.2.txt b/docs/releases/1.2.txt index c2676a90cc..3995ee7192 100644 --- a/docs/releases/1.2.txt +++ b/docs/releases/1.2.txt @@ -359,12 +359,8 @@ keyword to 3 in your :class:`~django.contrib.gis.db.models.GeometryField`. The :class:`~django.contrib.gis.db.models.Extent3D` aggregate and ``extent3d()`` ``GeoQuerySet`` method were added as a part of this feature. -The following :class:`~django.contrib.gis.db.models.GeoQuerySet` -methods are new in 1.2: - -* :meth:`~django.contrib.gis.db.models.GeoQuerySet.force_rhr` -* :meth:`~django.contrib.gis.db.models.GeoQuerySet.reverse_geom` -* :meth:`~django.contrib.gis.db.models.GeoQuerySet.geohash` +The ``force_rhr()``, ``reverse_geom()``, and ``geohash()`` ``GeoQuerySet`` +methods are new. The GEOS interface was updated to use thread-safe C library functions when available on the platform. diff --git a/docs/releases/2.0.txt b/docs/releases/2.0.txt index c87faba783..88b24e9b55 100644 --- a/docs/releases/2.0.txt +++ b/docs/releases/2.0.txt @@ -261,3 +261,5 @@ these features. ORM, e.g. with ``cursor.execute()``. * ``django.contrib.auth.tests.utils.skipIfCustomUser()`` is removed. + +* The ``GeoManager`` and ``GeoQuerySet`` classes are removed. |
