{"title":"Référence des API GeoQuerySet","version":"1.10","locale":"fr","docname":"ref/contrib/gis/geoquerysets","url":"/fr/1.10/ref/contrib/gis/geoquerysets/","canonical":"https://djangodocs.dev/fr/1.10/ref/contrib/gis/geoquerysets/","summary":"Les requêtes spatiales de cette section sont disponibles à la fois pour GeometryField et RasterField.","html":"<h1>Référence des API GeoQuerySet<a class=\"heading-anchor\" href=\"#geoqueryset-api-reference\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h1>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">GeoQuerySet</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">model<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<section id=\"spatial-lookups\">\n<span id=\"id1\"></span><h2>Recherches spatiales<a class=\"heading-anchor\" href=\"#spatial-lookups\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Les requêtes spatiales de cette section sont disponibles à la fois pour <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/model-api/#django.contrib.gis.db.models.GeometryField\" title=\"django.contrib.gis.db.models.GeometryField\"><code class=\"xref py py-class docutils literal notranslate\">GeometryField</code></a> et <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/model-api/#django.contrib.gis.db.models.RasterField\" title=\"django.contrib.gis.db.models.RasterField\"><code class=\"xref py py-class docutils literal notranslate\">RasterField</code></a>.</p>\n<p>Pour une vue générale, consultez l”<a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/db-api/#spatial-lookups-intro\"><span class=\"std std-ref\">introduction sur les recherches spatiales</span></a>. Pour un aperçu sur la compatibilité des diverses requêtes en fonction du moteur spatial utilisé, référez-vous au <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/db-api/#spatial-lookup-compatibility\"><span class=\"std std-ref\">tableau de compatibilité des recherches spatiales</span></a>.</p>\n<aside class=\"version-note version-changed\" data-version=\"1.10\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 1.10</p><p>Les requêtes spatiales prennent dorénavant en charge les entrées matricielles.</p>\n</aside>\n<section id=\"lookups-with-rasters\">\n<h3>Requêtes avec matrices<a class=\"heading-anchor\" href=\"#lookups-with-rasters\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Tous les exemples dans la référence ci-dessous sont donnés pour des champs et des entrées géométriques, mais ces requêtes peuvent très bien être utilisées avec des objets matriciels des deux côtés. Chaque fois qu’une requête ne prend pas en charge les entrées matricielles, l’entrée est automatiquement convertie en objet géométrique quand c’est nécessaire en utilisant la fonction <a class=\"reference external\" href=\"http://postgis.net/docs/RT_ST_Polygon.html\">ST_Polygon</a>. Voir aussi <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/db-api/#spatial-lookup-raster\"><span class=\"std std-ref\">l’introduction aux requêtes matricielles</span></a>.</p>\n<p>Les opérateurs de base de données utilisés par les requêtes peuvent être divisés en trois catégories :</p>\n<ul class=\"simple\">\n<li><p>Prise en charge matricielle native <code class=\"docutils literal notranslate\">N</code>: l’opérateur accepte nativement les objets matriciels des deux côtés de la requête et les entrées matricielles peuvent être mélangées avec des entrées géométriques.</p></li>\n<li><p>Prise en charge matricielle bilatérale <code class=\"docutils literal notranslate\">B</code>: l’opérateur ne prend en charge les objets matriciels seulement si les deux côtés de la requête reçoivent des entrées matricielles. Les données matricielles sont automatiquement converties en objets géométriques en cas de requêtes mixtes.</p></li>\n<li><p>Prise en charge par conversion géométrique <code class=\"docutils literal notranslate\">C</code>. La requête ne prend pas en charge nativement les objets matriciels, toutes les données matricielles sont automatiquement converties en objets géométriques.</p></li>\n</ul>\n<p>Les exemples ci-dessous montrent le code SQL équivalent pour les requêtes dans les différents types de prise en charge matricielle. Le même schéma s’applique pour toutes les requêtes spatiales.</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Cas</p></th>\n<th class=\"head\"><p>Requête</p></th>\n<th class=\"head\"><p>Équivalent SQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>N, B</p></td>\n<td><p><code class=\"docutils literal notranslate\">rast__contains=rst</code></p></td>\n<td><p><code class=\"docutils literal notranslate\">ST_Contains(rast, rst)</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>N, B</p></td>\n<td><p><code class=\"docutils literal notranslate\">rast__1__contains=(rst, 2)</code></p></td>\n<td><p><code class=\"docutils literal notranslate\">ST_Contains(rast, 1, rst, 2)</code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>B, C</p></td>\n<td><p><code class=\"docutils literal notranslate\">rast__contains=geom</code></p></td>\n<td><p><code class=\"docutils literal notranslate\">ST_Contains(ST_Polygon(rast), geom)</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>B, C</p></td>\n<td><p><code class=\"docutils literal notranslate\">rast__1__contains=geom</code></p></td>\n<td><p><code class=\"docutils literal notranslate\">ST_Contains(ST_Polygon(rast, 1), geom)</code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>B, C</p></td>\n<td><p><code class=\"docutils literal notranslate\">poly__contains=rst</code></p></td>\n<td><p><code class=\"docutils literal notranslate\">ST_Contains(poly, ST_Polygon(rst))</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>B, C</p></td>\n<td><p><code class=\"docutils literal notranslate\">poly__contains=(rst, 1)</code></p></td>\n<td><p><code class=\"docutils literal notranslate\">ST_Contains(poly, ST_Polygon(rst, 1))</code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>C</p></td>\n<td><p><code class=\"docutils literal notranslate\">rast__crosses=rst</code></p></td>\n<td><p><code class=\"docutils literal notranslate\">ST_Crosses(ST_Polygon(rast), ST_Polygon(rst))</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>C</p></td>\n<td><p><code class=\"docutils literal notranslate\">rast__1__crosses=(rst, 2)</code></p></td>\n<td><p><code class=\"docutils literal notranslate\">ST_Crosses(ST_Polygon(rast, 1), ST_Polygon(rst, 2))</code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>C</p></td>\n<td><p><code class=\"docutils literal notranslate\">rast__crosses=geom</code></p></td>\n<td><p><code class=\"docutils literal notranslate\">ST_Crosses(ST_Polygon(rast), geom)</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>C</p></td>\n<td><p><code class=\"docutils literal notranslate\">poly__crosses=rst</code></p></td>\n<td><p><code class=\"docutils literal notranslate\">ST_Crosses(poly, ST_Polygon(rst))</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<p>Les requêtes spatiales avec des objets matriciels ne sont prises en charge que pour le moteur PostGIS (désigné par PGRaster dans cette section).</p>\n</section>\n<section id=\"bbcontains\">\n<span id=\"std-fieldlookup-bbcontains\"></span><h3><code class=\"docutils literal notranslate\">bbcontains</code><a class=\"heading-anchor\" href=\"#bbcontains\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, MySQL, SpatiaLite, PGRaster (natif)</p>\n<p>Teste si le rectangle englobant du champ géométrique ou matriciel contient complètement le rectangle englobant de la recherche géométrique.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__bbcontains<span class=\"o\">=</span>geom<span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Moteur</p></th>\n<th class=\"head\"><p>Équivalent SQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\">poly ~ geom</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>MySQL</p></td>\n<td><p><code class=\"docutils literal notranslate\">MBRContains(poly, geom)</code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\">MbrContains(poly, geom)</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"bboverlaps\">\n<span id=\"std-fieldlookup-bboverlaps\"></span><h3><code class=\"docutils literal notranslate\">bboverlaps</code><a class=\"heading-anchor\" href=\"#bboverlaps\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, MySQL, SpatiaLite, PGRaster (natif)</p>\n<p>Teste si le rectangle englobant du champ géométrique recouvre partiellement le rectangle englobant de la recherche géométrique.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__bboverlaps<span class=\"o\">=</span>geom<span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Moteur</p></th>\n<th class=\"head\"><p>Équivalent SQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\">poly &amp;&amp; geom</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>MySQL</p></td>\n<td><p><code class=\"docutils literal notranslate\">MBROverlaps(poly, geom)</code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\">MbrOverlaps(poly, geom)</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"contained\">\n<span id=\"std-fieldlookup-contained\"></span><h3><code class=\"docutils literal notranslate\">contained</code><a class=\"heading-anchor\" href=\"#contained\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, MySQL, SpatiaLite, PGRaster (natif)</p>\n<p>Teste si le rectangle englobant du champ géométrique est complètement contenu dans le rectangle englobant de la recherche géométrique.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__contained<span class=\"o\">=</span>geom<span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Moteur</p></th>\n<th class=\"head\"><p>Équivalent SQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\">poly &#64; geom</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>MySQL</p></td>\n<td><p><code class=\"docutils literal notranslate\">MBRWithin(poly, geom)</code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\">MbrWithin(poly, geom)</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"contains\">\n<span id=\"std-fieldlookup-gis-contains\"></span><h3><code class=\"docutils literal notranslate\">contains</code><a class=\"heading-anchor\" href=\"#contains\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, Oracle, MySQL, SpatiaLite, PGRaster (bilatéral)</p>\n<p>Teste si le champ géométrique contient spatialement l’objet géométrique de la recherche.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__contains<span class=\"o\">=</span>geom<span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Moteur</p></th>\n<th class=\"head\"><p>Équivalent SQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\">ST_Contains(poly, geom)</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\">SDO_CONTAINS(poly, geom)</code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>MySQL</p></td>\n<td><p><code class=\"docutils literal notranslate\">MBRContains(poly, geom)</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\">Contains(poly, geom)</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"contains-properly\">\n<span id=\"std-fieldlookup-contains_properly\"></span><h3><code class=\"docutils literal notranslate\">contains_properly</code><a class=\"heading-anchor\" href=\"#contains-properly\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, PGRaster (bilatéral)</p>\n<p>Renvoie <code class=\"docutils literal notranslate\">True</code> si l’objet géométrique de la recherche a une intersection avec l’intérieur du champ géométrique, mais pas avec ses limites (ou extérieur). <a class=\"footnote-reference brackets\" href=\"#fncontainsproperly\" id=\"id2\" role=\"doc-noteref\"><span class=\"fn-bracket\">[</span>4<span class=\"fn-bracket\">]</span></a></p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__contains_properly<span class=\"o\">=</span>geom<span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Moteur</p></th>\n<th class=\"head\"><p>Équivalent SQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\">ST_ContainsProperly(poly, geom)</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"coveredby\">\n<span id=\"std-fieldlookup-coveredby\"></span><h3><code class=\"docutils literal notranslate\">coveredby</code><a class=\"heading-anchor\" href=\"#coveredby\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, Oracle, PGRaster (bilatéral)</p>\n<p>Teste si aucun point du champ géométrique n’est en dehors de l’objet géométrique de la recherche. <a class=\"footnote-reference brackets\" href=\"#fncovers\" id=\"id3\" role=\"doc-noteref\"><span class=\"fn-bracket\">[</span>3<span class=\"fn-bracket\">]</span></a></p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__coveredby<span class=\"o\">=</span>geom<span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Moteur</p></th>\n<th class=\"head\"><p>Équivalent SQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\">ST_CoveredBy(poly, geom)</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\">SDO_COVEREDBY(poly, geom)</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"covers\">\n<span id=\"std-fieldlookup-covers\"></span><h3><code class=\"docutils literal notranslate\">covers</code><a class=\"heading-anchor\" href=\"#covers\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, Oracle, PGRaster (bilatéral)</p>\n<p>Teste si aucun point de l’objet géométrique de la recherche n’est en dehors du champ géométrique. <a class=\"footnote-reference brackets\" href=\"#fncovers\" id=\"id4\" role=\"doc-noteref\"><span class=\"fn-bracket\">[</span>3<span class=\"fn-bracket\">]</span></a></p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__covers<span class=\"o\">=</span>geom<span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Moteur</p></th>\n<th class=\"head\"><p>Équivalent SQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\">ST_Covers(poly, geom)</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\">SDO_COVERS(poly, geom)</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"crosses\">\n<span id=\"std-fieldlookup-crosses\"></span><h3><code class=\"docutils literal notranslate\">crosses</code><a class=\"heading-anchor\" href=\"#crosses\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, SpatiaLite, PGRaster (conversion)</p>\n<p>Teste si le champ géométrique se croise spatialement avec l’objet géométrique de la recherche.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__crosses<span class=\"o\">=</span>geom<span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Moteur</p></th>\n<th class=\"head\"><p>Équivalent SQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\">ST_Crosses(poly, geom)</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\">Crosses(poly, geom)</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"disjoint\">\n<span id=\"std-fieldlookup-disjoint\"></span><h3><code class=\"docutils literal notranslate\">disjoint</code><a class=\"heading-anchor\" href=\"#disjoint\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, Oracle, MySQL, SpatiaLite, PGRaster (bilatéral)</p>\n<p>Teste si le champ géométrique est spatialement distinct de l’objet géométrique de la recherche.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__disjoint<span class=\"o\">=</span>geom<span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Moteur</p></th>\n<th class=\"head\"><p>Équivalent SQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\">ST_Disjoint(poly, geom)</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\">SDO_GEOM.RELATE(poly, 'DISJOINT', geom, 0.05)</code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>MySQL</p></td>\n<td><p><code class=\"docutils literal notranslate\">MBRDisjoint(poly, geom)</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\">Disjoint(poly, geom)</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"equals\">\n<span id=\"std-fieldlookup-equals\"></span><h3><code class=\"docutils literal notranslate\">equals</code><a class=\"heading-anchor\" href=\"#equals\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, Oracle, MySQL, SpatiaLite, PGRaster (conversion)</p>\n</section>\n<section id=\"exact-same-as\">\n<span id=\"std-fieldlookup-same_as\"></span><span id=\"std-fieldlookup-exact\"></span><h3><code class=\"docutils literal notranslate\">exact</code>, <code class=\"docutils literal notranslate\">same_as</code><a class=\"heading-anchor\" href=\"#exact-same-as\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, Oracle, MySQL, SpatiaLite, PGRaster (bilatéral)</p>\n</section>\n<section id=\"intersects\">\n<span id=\"std-fieldlookup-intersects\"></span><h3><code class=\"docutils literal notranslate\">intersects</code><a class=\"heading-anchor\" href=\"#intersects\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, Oracle, MySQL, SpatiaLite, PGRaster (bilatéral)</p>\n<p>Teste si le champ géométrique possède une intersection spatiale avec l’objet géométrique de la recherche.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__intersects<span class=\"o\">=</span>geom<span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Moteur</p></th>\n<th class=\"head\"><p>Équivalent SQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\">ST_Intersects(poly, geom)</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\">SDO_OVERLAPBDYINTERSECT(poly, geom)</code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>MySQL</p></td>\n<td><p><code class=\"docutils literal notranslate\">MBRIntersects(poly, geom)</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\">Intersects(poly, geom)</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"isvalid\">\n<span id=\"std-fieldlookup-isvalid\"></span><h3><code class=\"docutils literal notranslate\">isvalid</code><a class=\"heading-anchor\" href=\"#isvalid\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<aside class=\"version-note version-added\" data-version=\"1.10\" role=\"note\">\n<p class=\"version-note-title\">New in Django 1.10</p></aside>\n<p><em>Disponibilité</em> : PostGIS</p>\n<p>Teste si l’objet géométrique est valide.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__isvalid<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Équivalent PostGIS :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>SELECT <span class=\"o\">...</span> WHERE ST_IsValid<span class=\"p\">(</span>poly<span class=\"p\">)</span>\n</code></pre></div>\n</section>\n<section id=\"overlaps\">\n<span id=\"std-fieldlookup-overlaps\"></span><h3><code class=\"docutils literal notranslate\">overlaps</code><a class=\"heading-anchor\" href=\"#overlaps\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, Oracle, MySQL, SpatiaLite, PGRaster (bilatéral)</p>\n</section>\n<section id=\"relate\">\n<span id=\"std-fieldlookup-relate\"></span><h3><code class=\"docutils literal notranslate\">relate</code><a class=\"heading-anchor\" href=\"#relate\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, Oracle, SpatiaLite, PGRaster (conversion)</p>\n<p>Teste si le champ géométrique possède une liaison spatiale avec l’objet géométrique de la recherche en fonction des valeurs indiquées dans le motif donné. Cette recherche nécessite un paramètre sous forme de tuple <code class=\"docutils literal notranslate\">(géom, motif)</code>; la forme de <code class=\"docutils literal notranslate\">motif</code> dépend du moteur spatial :</p>\n<section id=\"postgis-spatialite\">\n<h4>PostGIS et SpatiaLite<a class=\"heading-anchor\" href=\"#postgis-spatialite\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Pour ces moteurs spatiaux, le motif d’intersection est une chaîne de neuf caractères qui définissent les intersections entre l’intérieur, les limites et l’extérieur du champ géométrique et de l’objet géométrique de la recherche. La matrice d’intersection ne peut utiliser que les caractères suivants : <code class=\"docutils literal notranslate\">1</code>, <code class=\"docutils literal notranslate\">2</code>, <code class=\"docutils literal notranslate\">T</code>, <code class=\"docutils literal notranslate\">F</code> ou <code class=\"docutils literal notranslate\">*</code>. Ce type de recherche permet d’affiner une relation géométrique spécifique en cohérence avec le modèle DE-9IM. <a class=\"footnote-reference brackets\" href=\"#fnde9im\" id=\"id5\" role=\"doc-noteref\"><span class=\"fn-bracket\">[</span>1<span class=\"fn-bracket\">]</span></a></p>\n<p>Exemple géométrique :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"c1\"># A tuple lookup parameter is used to specify the geometry and</span>\n<span class=\"c1\"># the intersection pattern (the pattern here is for &#39;contains&#39;).</span>\nZipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__relate<span class=\"o\">=</span><span class=\"p\">(</span>geom<span class=\"p\">,</span> <span class=\"s1\">&#39;T*T***FF*&#39;</span><span class=\"p\">))</span>\n</code></pre></div>\n<p>Équivalent SQL PostGIS :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>SELECT <span class=\"o\">...</span> WHERE ST_Relate<span class=\"p\">(</span>poly<span class=\"p\">,</span> geom<span class=\"p\">,</span> <span class=\"s1\">&#39;T*T***FF*&#39;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Équivalent SQL SpatiaLite :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>SELECT <span class=\"o\">...</span> WHERE Relate<span class=\"p\">(</span>poly<span class=\"p\">,</span> geom<span class=\"p\">,</span> <span class=\"s1\">&#39;T*T***FF*&#39;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Exemple matriciel :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__relate<span class=\"o\">=</span><span class=\"p\">(</span>rast<span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"s1\">&#39;T*T***FF*&#39;</span><span class=\"p\">))</span>\nZipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>rast__2__relate<span class=\"o\">=</span><span class=\"p\">(</span>rast<span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"s1\">&#39;T*T***FF*&#39;</span><span class=\"p\">))</span>\n</code></pre></div>\n<p>Équivalent SQL PostGIS :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>SELECT <span class=\"o\">...</span> WHERE ST_Relate<span class=\"p\">(</span>poly<span class=\"p\">,</span> ST_Polygon<span class=\"p\">(</span>rast<span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">),</span> <span class=\"s1\">&#39;T*T***FF*&#39;</span><span class=\"p\">)</span>\nSELECT <span class=\"o\">...</span> WHERE ST_Relate<span class=\"p\">(</span>ST_Polygon<span class=\"p\">(</span>rast<span class=\"p\">,</span> <span class=\"mi\">2</span><span class=\"p\">),</span> ST_Polygon<span class=\"p\">(</span>rast<span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">),</span> <span class=\"s1\">&#39;T*T***FF*&#39;</span><span class=\"p\">)</span>\n</code></pre></div>\n</section>\n<section id=\"oracle\">\n<h4>Oracle<a class=\"heading-anchor\" href=\"#oracle\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Ici, le motif de relation comprend au moins une des neuf chaînes de relation possibles : <code class=\"docutils literal notranslate\">TOUCH</code>, <code class=\"docutils literal notranslate\">OVERLAPBDYDISJOINT</code>, <code class=\"docutils literal notranslate\">OVERLAPBDYINTERSECT</code>, <code class=\"docutils literal notranslate\">EQUAL</code>, <code class=\"docutils literal notranslate\">INSIDE</code>, <code class=\"docutils literal notranslate\">COVEREDBY</code>, <code class=\"docutils literal notranslate\">CONTAINS</code>, <code class=\"docutils literal notranslate\">COVERS</code>, <code class=\"docutils literal notranslate\">ON</code> et <code class=\"docutils literal notranslate\">ANYINTERACT</code>. Plusieurs chaînes peuvent être combinées par l’opérateur logique booléen OR, par exemple <code class=\"docutils literal notranslate\">'inside+touch'</code>. <a class=\"footnote-reference brackets\" href=\"#fnsdorelate\" id=\"id6\" role=\"doc-noteref\"><span class=\"fn-bracket\">[</span>2<span class=\"fn-bracket\">]</span></a> Les chaînes de relation sont insensibles à la casse.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__relate<span class=\"o\">=</span><span class=\"p\">(</span>geom<span class=\"p\">,</span> <span class=\"s1\">&#39;anyinteract&#39;</span><span class=\"p\">))</span>\n</code></pre></div>\n<p>Équivalent SQL Oracle :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>SELECT <span class=\"o\">...</span> WHERE SDO_RELATE<span class=\"p\">(</span>poly<span class=\"p\">,</span> geom<span class=\"p\">,</span> <span class=\"s1\">&#39;anyinteract&#39;</span><span class=\"p\">)</span>\n</code></pre></div>\n</section>\n</section>\n<section id=\"touches\">\n<span id=\"std-fieldlookup-touches\"></span><h3><code class=\"docutils literal notranslate\">touches</code><a class=\"heading-anchor\" href=\"#touches\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, Oracle, MySQL, SpatiaLite</p>\n<p>Teste si le champ géométrique touche spatialement l’objet géométrique de la recherche.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__touches<span class=\"o\">=</span>geom<span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Moteur</p></th>\n<th class=\"head\"><p>Équivalent SQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\">ST_Touches(poly, geom)</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>MySQL</p></td>\n<td><p><code class=\"docutils literal notranslate\">MBRTouches(poly, geom)</code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\">SDO_TOUCH(poly, geom)</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\">Touches(poly, geom)</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"within\">\n<span id=\"std-fieldlookup-within\"></span><h3><code class=\"docutils literal notranslate\">within</code><a class=\"heading-anchor\" href=\"#within\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, Oracle, MySQL, SpatiaLite, PGRaster (bilatéral)</p>\n<p>Teste si le champ géométrique est spatialement à l’intérieur de l’objet géométrique de la recherche.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__within<span class=\"o\">=</span>geom<span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Moteur</p></th>\n<th class=\"head\"><p>Équivalent SQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\">ST_Within(poly, geom)</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>MySQL</p></td>\n<td><p><code class=\"docutils literal notranslate\">MBRWithin(poly, geom)</code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\">SDO_INSIDE(poly, geom)</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\">Within(poly, geom)</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"left\">\n<span id=\"std-fieldlookup-left\"></span><h3><code class=\"docutils literal notranslate\">left</code><a class=\"heading-anchor\" href=\"#left\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, PGRaster (conversion)</p>\n<p>Teste si le rectangle englobant du champ géométrique est strictement à gauche du rectangle englobant de la recherche géométrique.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__left<span class=\"o\">=</span>geom<span class=\"p\">)</span>\n</code></pre></div>\n<p>Équivalent PostGIS :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>SELECT <span class=\"o\">...</span> WHERE poly <span class=\"o\">&lt;&lt;</span> geom\n</code></pre></div>\n</section>\n<section id=\"right\">\n<span id=\"std-fieldlookup-right\"></span><h3><code class=\"docutils literal notranslate\">right</code><a class=\"heading-anchor\" href=\"#right\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, PGRaster (conversion)</p>\n<p>Teste si le rectangle englobant du champ géométrique est strictement à droite du rectangle englobant de la recherche géométrique.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__right<span class=\"o\">=</span>geom<span class=\"p\">)</span>\n</code></pre></div>\n<p>Équivalent PostGIS :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>SELECT <span class=\"o\">...</span> WHERE poly <span class=\"o\">&gt;&gt;</span> geom\n</code></pre></div>\n</section>\n<section id=\"overlaps-left\">\n<span id=\"std-fieldlookup-overlaps_left\"></span><h3><code class=\"docutils literal notranslate\">overlaps_left</code><a class=\"heading-anchor\" href=\"#overlaps-left\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, PGRaster (bilatéral)</p>\n<p>Teste si le rectangle englobant du champ géométrique recouvre ou est à gauche du rectangle englobant de la recherche géométrique.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__overlaps_left<span class=\"o\">=</span>geom<span class=\"p\">)</span>\n</code></pre></div>\n<p>Équivalent PostGIS :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>SELECT <span class=\"o\">...</span> WHERE poly <span class=\"o\">&amp;&lt;</span> geom\n</code></pre></div>\n</section>\n<section id=\"overlaps-right\">\n<span id=\"std-fieldlookup-overlaps_right\"></span><h3><code class=\"docutils literal notranslate\">overlaps_right</code><a class=\"heading-anchor\" href=\"#overlaps-right\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, PGRaster (bilatéral)</p>\n<p>Teste si le rectangle englobant du champ géométrique recouvre ou est à droite du rectangle englobant de la recherche géométrique.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__overlaps_right<span class=\"o\">=</span>geom<span class=\"p\">)</span>\n</code></pre></div>\n<p>Équivalent PostGIS :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>SELECT <span class=\"o\">...</span> WHERE poly <span class=\"o\">&amp;&gt;</span> geom\n</code></pre></div>\n</section>\n<section id=\"overlaps-above\">\n<span id=\"std-fieldlookup-overlaps_above\"></span><h3><code class=\"docutils literal notranslate\">overlaps_above</code><a class=\"heading-anchor\" href=\"#overlaps-above\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, PGRaster (conversion)</p>\n<p>Teste si le rectangle englobant du champ géométrique recouvre ou est au-dessus du rectangle englobant de la recherche géométrique.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__overlaps_above<span class=\"o\">=</span>geom<span class=\"p\">)</span>\n</code></pre></div>\n<p>Équivalent PostGIS :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>SELECT <span class=\"o\">...</span> WHERE poly <span class=\"o\">|&amp;&gt;</span> geom\n</code></pre></div>\n</section>\n<section id=\"overlaps-below\">\n<span id=\"std-fieldlookup-overlaps_below\"></span><h3><code class=\"docutils literal notranslate\">overlaps_below</code><a class=\"heading-anchor\" href=\"#overlaps-below\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, PGRaster (conversion)</p>\n<p>Teste si le rectangle englobant du champ géométrique recouvre ou est au-dessous du rectangle englobant de la recherche géométrique.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__overlaps_below<span class=\"o\">=</span>geom<span class=\"p\">)</span>\n</code></pre></div>\n<p>Équivalent PostGIS :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>SELECT <span class=\"o\">...</span> WHERE poly <span class=\"o\">&amp;&lt;|</span> geom\n</code></pre></div>\n</section>\n<section id=\"strictly-above\">\n<span id=\"std-fieldlookup-strictly_above\"></span><h3><code class=\"docutils literal notranslate\">strictly_above</code><a class=\"heading-anchor\" href=\"#strictly-above\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, PGRaster (conversion)</p>\n<p>Teste si le rectangle englobant du champ géométrique est strictement au-dessus du rectangle englobant de la recherche géométrique.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__strictly_above<span class=\"o\">=</span>geom<span class=\"p\">)</span>\n</code></pre></div>\n<p>Équivalent PostGIS :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>SELECT <span class=\"o\">...</span> WHERE poly <span class=\"o\">|&gt;&gt;</span> geom\n</code></pre></div>\n</section>\n<section id=\"strictly-below\">\n<span id=\"std-fieldlookup-strictly_below\"></span><h3><code class=\"docutils literal notranslate\">strictly_below</code><a class=\"heading-anchor\" href=\"#strictly-below\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, PGRaster (conversion)</p>\n<p>Teste si le rectangle englobant du champ géométrique est strictement au-dessous du rectangle englobant de la recherche géométrique.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__strictly_below<span class=\"o\">=</span>geom<span class=\"p\">)</span>\n</code></pre></div>\n<p>Équivalent PostGIS :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>SELECT <span class=\"o\">...</span> WHERE poly <span class=\"o\">&lt;&lt;|</span> geom\n</code></pre></div>\n</section>\n</section>\n<section id=\"distance-lookups\">\n<span id=\"id7\"></span><h2>Recherches de distance<a class=\"heading-anchor\" href=\"#distance-lookups\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p><em>Disponibilité</em> : PostGIS, Oracle, SpatiaLite, PGRaster (natif)</p>\n<p>Pour un aperçu sur la construction de requêtes de distance, référez-vous à l”<a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/db-api/#distance-queries\"><span class=\"std std-ref\">introduction sur les requêtes de distance</span></a>.</p>\n<p>Les requêtes de distance se font sous la forme suivante :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"o\">&lt;</span>field<span class=\"o\">&gt;</span>__<span class=\"o\">&lt;</span>distance lookup<span class=\"o\">&gt;=</span><span class=\"p\">(</span><span class=\"o\">&lt;</span>geometry<span class=\"o\">/</span>raster<span class=\"o\">&gt;</span><span class=\"p\">,</span> <span class=\"o\">&lt;</span>distance value<span class=\"o\">&gt;</span><span class=\"p\">[,</span> <span class=\"s1\">&#39;spheroid&#39;</span><span class=\"p\">])</span>\n<span class=\"o\">&lt;</span>field<span class=\"o\">&gt;</span>__<span class=\"o\">&lt;</span>distance lookup<span class=\"o\">&gt;=</span><span class=\"p\">(</span><span class=\"o\">&lt;</span>raster<span class=\"o\">&gt;</span><span class=\"p\">,</span> <span class=\"o\">&lt;</span>band_index<span class=\"o\">&gt;</span><span class=\"p\">,</span> <span class=\"o\">&lt;</span>distance value<span class=\"o\">&gt;</span><span class=\"p\">[,</span> <span class=\"s1\">&#39;spheroid&#39;</span><span class=\"p\">])</span>\n<span class=\"o\">&lt;</span>field<span class=\"o\">&gt;</span>__<span class=\"o\">&lt;</span>band_index<span class=\"o\">&gt;</span>__<span class=\"o\">&lt;</span>distance lookup<span class=\"o\">&gt;=</span><span class=\"p\">(</span><span class=\"o\">&lt;</span>raster<span class=\"o\">&gt;</span><span class=\"p\">,</span> <span class=\"o\">&lt;</span>band_index<span class=\"o\">&gt;</span><span class=\"p\">,</span> <span class=\"o\">&lt;</span>distance value<span class=\"o\">&gt;</span><span class=\"p\">[,</span> <span class=\"s1\">&#39;spheroid&#39;</span><span class=\"p\">])</span>\n</code></pre></div>\n<p>La valeur transmise à une requête de distance est un tuple ; les deux premières valeurs sont obligatoires et représentent respectivement l’objet géométrique vers lequel la distance doit être calculée et la valeur de distance (soit un nombre dans l’unité du champ, un objet  <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/measure/#django.contrib.gis.measure.Distance\" title=\"django.contrib.gis.measure.Distance\"><code class=\"xref py py-class docutils literal notranslate\">Distance</code></a> ou une expression de requête &lt;ref/models/expressions&gt;). Pour transmettre un indice de bande à la requête, utilisez un tuple à 3 éléments où le deuxième est l’indice de bande.</p>\n<p>Avec PostGIS, pour toutes les recherches de distance à l’exception de <a class=\"reference internal\" href=\"#std-fieldlookup-dwithin\"><code class=\"xref std std-lookup docutils literal notranslate\">dwithin</code></a>, une valeur facultative, <code class=\"docutils literal notranslate\">'spheroid'</code>, peut être ajoutée pour dire à GeoDjango d’utiliser les fonctions de calcul de distance sphéroïde pour les champs ayant un système de coordonnées géodétique (par ex. <code class=\"docutils literal notranslate\">ST_Distance_Spheroid</code> serait utilisé à la place de <code class=\"docutils literal notranslate\">ST_Distance_Sphere</code> ). Les matrices sont converties en objets géométriques pour les requêtes basées sur la sphéroïde.</p>\n<aside class=\"version-note version-added\" data-version=\"1.10\" role=\"note\">\n<p class=\"version-note-title\">New in Django 1.10</p><p>La capacité de transmettre une expression comme valeur de distance a été ajoutée.</p>\n</aside>\n<section id=\"distance-gt\">\n<span id=\"std-fieldlookup-distance_gt\"></span><h3><code class=\"docutils literal notranslate\">distance_gt</code><a class=\"heading-anchor\" href=\"#distance-gt\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Renvoie les objets pour lesquels la distance entre le champ géométrique et l’objet géométrique de recherche est plus grande que la valeur de distance donnée.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__distance_gt<span class=\"o\">=</span><span class=\"p\">(</span>geom<span class=\"p\">,</span> D<span class=\"p\">(</span>m<span class=\"o\">=</span><span class=\"mi\">5</span><span class=\"p\">)))</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Moteur</p></th>\n<th class=\"head\"><p>Équivalent SQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\">ST_Distance/ST_Distance_Sphere(poly, geom) &gt; 5</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\">SDO_GEOM.SDO_DISTANCE(poly, geom, 0.05) &gt; 5</code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\">Distance(poly, geom) &gt; 5</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"distance-gte\">\n<span id=\"std-fieldlookup-distance_gte\"></span><h3><code class=\"docutils literal notranslate\">distance_gte</code><a class=\"heading-anchor\" href=\"#distance-gte\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Renvoie les objets pour lesquels la distance entre le champ géométrique et l’objet géométrique de recherche est plus grande ou égale à la valeur de distance donnée.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__distance_gte<span class=\"o\">=</span><span class=\"p\">(</span>geom<span class=\"p\">,</span> D<span class=\"p\">(</span>m<span class=\"o\">=</span><span class=\"mi\">5</span><span class=\"p\">)))</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Moteur</p></th>\n<th class=\"head\"><p>Équivalent SQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\">ST_Distance/ST_Distance_Sphere(poly, geom) &gt;= 5</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\">SDO_GEOM.SDO_DISTANCE(poly, geom, 0.05) &gt;= 5</code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\">Distance(poly, geom) &gt;= 5</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"distance-lt\">\n<span id=\"std-fieldlookup-distance_lt\"></span><h3><code class=\"docutils literal notranslate\">distance_lt</code><a class=\"heading-anchor\" href=\"#distance-lt\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Renvoie les objets pour lesquels la distance entre le champ géométrique et l’objet géométrique de recherche est plus petite que la valeur de distance donnée.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__distance_lt<span class=\"o\">=</span><span class=\"p\">(</span>geom<span class=\"p\">,</span> D<span class=\"p\">(</span>m<span class=\"o\">=</span><span class=\"mi\">5</span><span class=\"p\">)))</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Moteur</p></th>\n<th class=\"head\"><p>Équivalent SQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\">ST_Distance/ST_Distance_Sphere(poly, geom) &lt; 5</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\">SDO_GEOM.SDO_DISTANCE(poly, geom, 0.05) &lt; 5</code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\">Distance(poly, geom) &lt; 5</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"distance-lte\">\n<span id=\"std-fieldlookup-distance_lte\"></span><h3><code class=\"docutils literal notranslate\">distance_lte</code><a class=\"heading-anchor\" href=\"#distance-lte\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Renvoie les objets pour lesquels la distance entre le champ géométrique et l’objet géométrique de recherche est plus petite ou égale à la valeur de distance donnée.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__distance_lte<span class=\"o\">=</span><span class=\"p\">(</span>geom<span class=\"p\">,</span> D<span class=\"p\">(</span>m<span class=\"o\">=</span><span class=\"mi\">5</span><span class=\"p\">)))</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Moteur</p></th>\n<th class=\"head\"><p>Équivalent SQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\">ST_Distance/ST_Distance_Sphere(poly, geom) &lt;= 5</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\">SDO_GEOM.SDO_DISTANCE(poly, geom, 0.05) &lt;= 5</code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\">Distance(poly, geom) &lt;= 5</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"dwithin\">\n<span id=\"std-fieldlookup-dwithin\"></span><h3><code class=\"docutils literal notranslate\">dwithin</code><a class=\"heading-anchor\" href=\"#dwithin\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Renvoie les objets pour lesquels la distance entre le champ géométrique et l’objet géométrique de recherche ne dépasse pas la valeur de distance donnée. Notez que vous ne pouvez fournir des objets <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/measure/#django.contrib.gis.measure.Distance\" title=\"django.contrib.gis.measure.Distance\"><code class=\"xref py py-class docutils literal notranslate\">Distance</code></a> que si les objets géométriques concernés sont dans un système de coordonnées projeté. Pour des objets géométriques de type géographique, il faut utiliser l’unité du champ géométrique (par exemple des degrés pour <code class=\"docutils literal notranslate\">WGS84</code>).</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__dwithin<span class=\"o\">=</span><span class=\"p\">(</span>geom<span class=\"p\">,</span> D<span class=\"p\">(</span>m<span class=\"o\">=</span><span class=\"mi\">5</span><span class=\"p\">)))</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Moteur</p></th>\n<th class=\"head\"><p>Équivalent SQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\">ST_DWithin(poly, geom, 5)</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\">SDO_WITHIN_DISTANCE(poly, geom, 5)</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Cette recherche n’est pas disponible pour SpatiaLite.</p>\n</aside>\n</section>\n</section>\n<section id=\"geoqueryset-methods\">\n<span id=\"id8\"></span><h2>Méthodes <code class=\"docutils literal notranslate\">GeoQuerySet</code><a class=\"heading-anchor\" href=\"#geoqueryset-methods\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>L’utilisation des méthodes <code class=\"docutils literal notranslate\">GeoQuerySet</code> est dorénavant obsolète et doit être remplacée par les nouvelles <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/\"><span class=\"doc\">Fonctions de base de données géographiques</span></a>. Bien qu’un peu moins concises, elles sont beaucoup plus puissantes dans la manière de les combiner pour construire des requêtes plus complexes.</p>\n</aside>\n<p>Les méthodes de <code class=\"docutils literal notranslate\">GeoQuerySet</code> appliquent une opération spatiale sur chaque champ géographique du jeu de requête et stockent le résultat dans un nouvel attribut du modèle (qui correspond généralement au nom de la méthode <code class=\"docutils literal notranslate\">GeoQuerySet</code>).</p>\n<p>Il existe également des méthodes <code class=\"docutils literal notranslate\">GeoQuerySet</code> d’agrégation qui renvoient une valeur unique au lieu d’un jeu de requête. Cette section documente l’API et la disponibilité de chaque méthode de <code class=\"docutils literal notranslate\">GeoQuerySet</code> dans GeoDjango.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Les méthodes disponibles dépendent du moteur spatial utilisé. Consultez le <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/db-api/#database-functions-compatibility\"><span class=\"std std-ref\">tableau de compatibilité</span></a> pour plus de détails.</p>\n</aside>\n<p>À quelques exceptions près, les paramètres nommés suivants peuvent être utilisés avec toutes les méthodes de <code class=\"docutils literal notranslate\">GeoQuerySet</code>:</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Paramètre nommé</p></th>\n<th class=\"head\"><p>Description</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\">field_name</code></p></td>\n<td><p>Par défaut, les méthodes de <code class=\"docutils literal notranslate\">GeoQuerySet</code> utilisent le premier champ géométrique défini dans un modèle. Ce paramètre peut être utilisé pour désigner un autre champ géométrique (par ex. <code class=\"docutils literal notranslate\">field_name='point2'</code>) lorsqu’un modèle possède plusieurs champs géométriques.</p>\n<p>Avec PostGIS, le paramètre <code class=\"docutils literal notranslate\">field_name</code> peut aussi contenir des champs géométriques provenant de modèles liés par une relation <code class=\"docutils literal notranslate\">ForeignKey</code> (par ex. <code class=\"docutils literal notranslate\">field_name='champfk__point'</code>).</p>\n</td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\">model_att</code></p></td>\n<td><p>Par défaut, les méthodes de <code class=\"docutils literal notranslate\">GeoQuerySet</code> ajoutent typiquement leur résultat dans un attribut du même nom que la méthode elle-même. Ce comportement par défaut peut être modifié en définissant ce paramètre avec un nom d’attribut différent. Par exemple, <code class=\"docutils literal notranslate\">qs = Zipcode.objects.centroid(model_att='c')</code> ajoute le centroïde (barycentre) du champ géométrique de <code class=\"docutils literal notranslate\">Zipcode</code> dans un attribut <code class=\"docutils literal notranslate\">c</code> de chaque modèle, plutôt que dans un attribut <code class=\"docutils literal notranslate\">centroid</code>.</p>\n<p>Ce paramètre est obligatoire quand un nom de modèle entre en conflit avec une méthode <code class=\"docutils literal notranslate\">GeoQuerySet</code> existante ; par exemple si vous utilisez la méthode <code class=\"docutils literal notranslate\">area()</code> avec un modèle contenant un champ <code class=\"docutils literal notranslate\">PolygonField</code> nommé <code class=\"docutils literal notranslate\">area</code>.</p>\n</td>\n</tr>\n</tbody>\n</table>\n</div>\n<section id=\"measurement\">\n<h3>Mesures<a class=\"heading-anchor\" href=\"#measurement\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, Oracle, SpatiaLite</p>\n<section id=\"area\">\n<h4><code class=\"docutils literal notranslate\">area</code><a class=\"heading-anchor\" href=\"#area\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.area\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">area</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.area\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.Area\" title=\"django.contrib.gis.db.models.functions.Area\"><code class=\"xref py py-class docutils literal notranslate\">Area</code></a>.</p>\n</aside>\n<p>Écrit l’aire du champ géométrique dans un attribut <code class=\"docutils literal notranslate\">area</code> de chaque élément du <code class=\"docutils literal notranslate\">GeoQuerySet</code>.</p>\n</section>\n<section id=\"distance\">\n<h4><code class=\"docutils literal notranslate\">distance</code><a class=\"heading-anchor\" href=\"#distance\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.distance\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">distance</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">geom</em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.distance\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.Distance\" title=\"django.contrib.gis.db.models.functions.Distance\"><code class=\"xref py py-class docutils literal notranslate\">Distance</code></a>.</p>\n</aside>\n<p>Cette méthode accepte un objet géométrique en paramètre et ajoute un attribut <code class=\"docutils literal notranslate\">distance</code> à chaque modèle du jeu de requête, attribut contenant la distance entre le champ concerné du modèle et l’objet géométrique donné (sous forme d’objet <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/measure/#django.contrib.gis.measure.Distance\" title=\"django.contrib.gis.measure.Distance\"><code class=\"xref py py-class docutils literal notranslate\">Distance</code></a>).</p>\n<p>Dans l’exemple suivant (tiré des <a class=\"reference external\" href=\"https://github.com/django/django/blob/master/tests/gis_tests/distapp/models.py\">tests de distance de GeoDjango</a>), on calcule la distance entre la ville <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Tasmania\">tasmanienne</a> de Hobart vers tous les autres champs <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/model-api/#django.contrib.gis.db.models.PointField\" title=\"django.contrib.gis.db.models.PointField\"><code class=\"xref py py-class docutils literal notranslate\">PointField</code></a> du jeu de requête <code class=\"docutils literal notranslate\">AustraliaCity</code>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>pnt <span class=\"o\">=</span> AustraliaCity<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span>name<span class=\"o\">=</span><span class=\"s1\">&#39;Hobart&#39;</span><span class=\"p\">)</span><span class=\"o\">.</span>point\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"k\">for</span> city <span class=\"ow\">in</span> AustraliaCity<span class=\"o\">.</span>objects<span class=\"o\">.</span>distance<span class=\"p\">(</span>pnt<span class=\"p\">):</span> <span class=\"nb\">print</span><span class=\"p\">(</span>city<span class=\"o\">.</span>name<span class=\"p\">,</span> city<span class=\"o\">.</span>distance<span class=\"p\">)</span>\n<span class=\"go\">Wollongong 990071.220408 m</span>\n<span class=\"go\">Shellharbour 972804.613941 m</span>\n<span class=\"go\">Thirroul 1002334.36351 m</span>\n<span class=\"go\">Mittagong 975691.632637 m</span>\n<span class=\"go\">Batemans Bay 834342.185561 m</span>\n<span class=\"go\">Canberra 598140.268959 m</span>\n<span class=\"go\">Melbourne 575337.765042 m</span>\n<span class=\"go\">Sydney 1056978.87363 m</span>\n<span class=\"go\">Hobart 0.0 m</span>\n<span class=\"go\">Adelaide 1162031.83522 m</span>\n<span class=\"go\">Hillsdale 1049200.46122 m</span>\n</code></pre></div>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Comme l’attribut <code class=\"docutils literal notranslate\">distance</code> est un objet <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/measure/#django.contrib.gis.measure.Distance\" title=\"django.contrib.gis.measure.Distance\"><code class=\"xref py py-class docutils literal notranslate\">Distance</code></a>, il est facile d’exprimer cette valeur dans l’unité de son choix. Par exemple, <code class=\"docutils literal notranslate\">city.distance.mi</code> est la valeur de distance en milles et <code class=\"docutils literal notranslate\">city.distance.km</code> est la valeur de distance en kilomètres. Consultez <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/measure/\"><span class=\"doc\">Objets de mesure</span></a> pour des détails d’utilisation et la liste des <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/measure/#supported-units\"><span class=\"std std-ref\">Unités prises en charge</span></a>.</p>\n</aside>\n</section>\n<section id=\"length\">\n<h4><code class=\"docutils literal notranslate\">length</code><a class=\"heading-anchor\" href=\"#length\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.length\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">length</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.length\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.Length\" title=\"django.contrib.gis.db.models.functions.Length\"><code class=\"xref py py-class docutils literal notranslate\">Length</code></a>.</p>\n</aside>\n<p>Écrit la longueur du champ géométrique dans un attribut <code class=\"docutils literal notranslate\">length</code> de chaque élément du jeu de requête (un objet <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/measure/#django.contrib.gis.measure.Distance\" title=\"django.contrib.gis.measure.Distance\"><code class=\"xref py py-class docutils literal notranslate\">Distance</code></a>).</p>\n</section>\n<section id=\"perimeter\">\n<h4><code class=\"docutils literal notranslate\">perimeter</code><a class=\"heading-anchor\" href=\"#perimeter\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.perimeter\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">perimeter</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.perimeter\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.Perimeter\" title=\"django.contrib.gis.db.models.functions.Perimeter\"><code class=\"xref py py-class docutils literal notranslate\">Perimeter</code></a>.</p>\n</aside>\n<p>Écrit le périmètre du champ géométrique dans un attribut <code class=\"docutils literal notranslate\">perimeter</code> de chaque élément du jeu de requête (un objet <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/measure/#django.contrib.gis.measure.Distance\" title=\"django.contrib.gis.measure.Distance\"><code class=\"xref py py-class docutils literal notranslate\">Distance</code></a>).</p>\n</section>\n</section>\n<section id=\"geometry-relationships\">\n<h3>Relations géométriques<a class=\"heading-anchor\" href=\"#geometry-relationships\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Les méthodes suivantes ne demandent aucun paramètre et ajoutent un objet géométrique à chaque élément du jeu de requête <a class=\"reference internal\" href=\"#django.contrib.gis.db.models.GeoQuerySet\" title=\"django.contrib.gis.db.models.GeoQuerySet\"><code class=\"xref py py-class docutils literal notranslate\">GeoQuerySet</code></a> , objet qui est le résultat d’une fonction de relation évaluée sur le champ géométrique.</p>\n<section id=\"centroid\">\n<h4><code class=\"docutils literal notranslate\">centroid</code><a class=\"heading-anchor\" href=\"#centroid\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.centroid\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">centroid</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.centroid\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.Centroid\" title=\"django.contrib.gis.db.models.functions.Centroid\"><code class=\"xref py py-class docutils literal notranslate\">Centroid</code></a>.</p>\n</aside>\n<p><em>Disponibilité</em> : PostGIS, Oracle, SpatiaLite</p>\n<p>Écrit la valeur de centroïde du champ géométrique dans un attribut <code class=\"docutils literal notranslate\">centroid</code> de chaque élément du <code class=\"docutils literal notranslate\">GeoQuerySet</code>.</p>\n</section>\n<section id=\"envelope\">\n<h4><code class=\"docutils literal notranslate\">envelope</code><a class=\"heading-anchor\" href=\"#envelope\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.envelope\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">envelope</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.envelope\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.Envelope\" title=\"django.contrib.gis.db.models.functions.Envelope\"><code class=\"xref py py-class docutils literal notranslate\">Envelope</code></a>.</p>\n</aside>\n<p><em>Disponibilité</em> : PostGIS, SpatiaLite</p>\n<p>Écrit un objet géométrique représentant le rectangle englobant du champ géométrique dans un attribut <code class=\"docutils literal notranslate\">envelope</code> de chaque élément du <code class=\"docutils literal notranslate\">GeoQuerySet</code>.</p>\n</section>\n<section id=\"point-on-surface\">\n<h4><code class=\"docutils literal notranslate\">point_on_surface</code><a class=\"heading-anchor\" href=\"#point-on-surface\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.point_on_surface\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">point_on_surface</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.point_on_surface\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.PointOnSurface\" title=\"django.contrib.gis.db.models.functions.PointOnSurface\"><code class=\"xref py py-class docutils literal notranslate\">PointOnSurface</code></a>.</p>\n</aside>\n<p><em>Disponibilité</em> : PostGIS, Oracle, SpatiaLite</p>\n<p>Écrit un objet géométrique <code class=\"docutils literal notranslate\">Point</code> se trouvant de manière certaine dans la surface du champ géométrique dans un attribut <code class=\"docutils literal notranslate\">point_on_surface</code> de chaque élément du jeu de requête.</p>\n</section>\n</section>\n<section id=\"geometry-editors\">\n<h3>Éditeurs géométriques<a class=\"heading-anchor\" href=\"#geometry-editors\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<section id=\"force-rhr\">\n<h4><code class=\"docutils literal notranslate\">force_rhr</code><a class=\"heading-anchor\" href=\"#force-rhr\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.force_rhr\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">force_rhr</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.force_rhr\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.ForceRHR\" title=\"django.contrib.gis.db.models.functions.ForceRHR\"><code class=\"xref py py-class docutils literal notranslate\">ForceRHR</code></a>.</p>\n</aside>\n<p><em>Disponibilité</em> : PostGIS</p>\n<p>Calcule une version modifiée du (multi)polygone pour lequel toutes les arêtes suivent la « règle de la main droite » et place cet objet dans un attribut <code class=\"docutils literal notranslate\">force_rhr</code> pour chaque élément du jeu de requête.</p>\n</section>\n<section id=\"reverse-geom\">\n<h4><code class=\"docutils literal notranslate\">reverse_geom</code><a class=\"heading-anchor\" href=\"#reverse-geom\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.reverse_geom\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">reverse_geom</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.reverse_geom\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.Reverse\" title=\"django.contrib.gis.db.models.functions.Reverse\"><code class=\"xref py py-class docutils literal notranslate\">Reverse</code></a>.</p>\n</aside>\n<p><em>Disponibilité</em> : PostGIS, Oracle</p>\n<p>Inverse l’ordre des coordonnées du champ géométrique et place l’objet résultant dans un attribut <code class=\"docutils literal notranslate\">reverse</code> pour chaque élément du jeu de requête.</p>\n</section>\n<section id=\"scale\">\n<h4><code class=\"docutils literal notranslate\">scale</code><a class=\"heading-anchor\" href=\"#scale\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.scale\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">scale</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">x</em>, <em class=\"sig-param\">y</em>, <em class=\"sig-param\">z<span class=\"o\">=</span><span class=\"default_value\">0.0</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.scale\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.Scale\" title=\"django.contrib.gis.db.models.functions.Scale\"><code class=\"xref py py-class docutils literal notranslate\">Scale</code></a>.</p>\n</aside>\n<p><em>Disponibilité</em> : PostGIS, SpatiaLite</p>\n</section>\n<section id=\"snap-to-grid\">\n<h4><code class=\"docutils literal notranslate\">snap_to_grid</code><a class=\"heading-anchor\" href=\"#snap-to-grid\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.snap_to_grid\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">snap_to_grid</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>args</em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.snap_to_grid\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.SnapToGrid\" title=\"django.contrib.gis.db.models.functions.SnapToGrid\"><code class=\"xref py py-class docutils literal notranslate\">SnapToGrid</code></a>.</p>\n</aside>\n<p>Fait glisser tous les points du champ géométrique selon une grille. La manière d’ajuster l’objet géométrique à la grille dépend du nombre de paramètres numériques fournis (des nombres à virgule, entiers ou entiers longs).</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Nombre de paramètres</p></th>\n<th class=\"head\"><p>Description</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>1</p></td>\n<td><p>Une seule taille de cellule de grille (à la fois pour la taille X et Y).</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>2</p></td>\n<td><p>Tailles X et Y de cellule de grille.</p></td>\n</tr>\n<tr class=\"row-even\"><td><p>4</p></td>\n<td><p>Tailles de cellule X et Y ainsi que coordonnées X et Y de l’origine de la grille.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"transform\">\n<h4><code class=\"docutils literal notranslate\">transform</code><a class=\"heading-anchor\" href=\"#transform\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.transform\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">transform</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">srid<span class=\"o\">=</span><span class=\"default_value\">4326</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.transform\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.Transform\" title=\"django.contrib.gis.db.models.functions.Transform\"><code class=\"xref py py-class docutils literal notranslate\">Transform</code></a>.</p>\n</aside>\n<p><em>Disponibilité</em> : PostGIS, Oracle, SpatiaLite</p>\n<p>La méthode <code class=\"docutils literal notranslate\">transform</code> transforme le champ géométrique d’un modèle dans le système de référence spatiale indiqué par le paramètre <code class=\"docutils literal notranslate\">srid</code>. Si ce paramètre est absent, c’est le SRID 4326 (WGS84) qui est utilisé par défaut.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Au contraire des autres méthodes <code class=\"docutils literal notranslate\">GeoQuerySet</code>, <code class=\"docutils literal notranslate\">transform</code> effectue son travail sur l’objet lui-même. En d’autres termes, l’objet géométrique transformé n’est pas placé dans un nouvel attribut des modèles.</p>\n</aside>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>La correspondance entre les numéros de SRID et les systèmes de référence spatiale peut dépendre du moteur spatial utilisé. Par exemple, les numéros SRID utilisés par Oracle ne sont pas forcément les mêmes que ceux utilisés par PostGIS.</p>\n</aside>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>qs <span class=\"o\">=</span> Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<span class=\"p\">()</span><span class=\"o\">.</span>transform<span class=\"p\">()</span> <span class=\"c1\"># Transforms to WGS84</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>qs <span class=\"o\">=</span> Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<span class=\"p\">()</span><span class=\"o\">.</span>transform<span class=\"p\">(</span><span class=\"mi\">32140</span><span class=\"p\">)</span> <span class=\"c1\"># Transforming to &quot;NAD83 / Texas South Central&quot;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>qs<span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">]</span><span class=\"o\">.</span>poly<span class=\"o\">.</span>srid<span class=\"p\">)</span>\n<span class=\"go\">32140</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>qs<span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">]</span><span class=\"o\">.</span>poly<span class=\"p\">)</span>\n<span class=\"go\">POLYGON ((234055.1698884720099159 4937796.9232223574072123 ...</span>\n</code></pre></div>\n</section>\n<section id=\"translate\">\n<h4><code class=\"docutils literal notranslate\">translate</code><a class=\"heading-anchor\" href=\"#translate\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.translate\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">translate</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">x</em>, <em class=\"sig-param\">y</em>, <em class=\"sig-param\">z<span class=\"o\">=</span><span class=\"default_value\">0.0</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.translate\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.Translate\" title=\"django.contrib.gis.db.models.functions.Translate\"><code class=\"xref py py-class docutils literal notranslate\">Translate</code></a>.</p>\n</aside>\n<p><em>Disponibilité</em> : PostGIS, SpatiaLite</p>\n<p>Effectue une translation du champ géométrique vers un nouvel emplacement en utilisant les paramètres numériques donnés comme vecteurs.</p>\n</section>\n</section>\n<section id=\"geometry-operations\">\n<h3>Opérations géométriques<a class=\"heading-anchor\" href=\"#geometry-operations\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>Disponibilité</em> : PostGIS, Oracle, SpatiaLite</p>\n<p>Les méthodes suivantes demandent toutes un objet géométrique en paramètre et ajoutent un objet géométrique à chaque élément du jeu de requête <a class=\"reference internal\" href=\"#django.contrib.gis.db.models.GeoQuerySet\" title=\"django.contrib.gis.db.models.GeoQuerySet\"><code class=\"xref py py-class docutils literal notranslate\">GeoQuerySet</code></a> résultant de l’opération.</p>\n<section id=\"difference\">\n<h4><code class=\"docutils literal notranslate\">difference</code><a class=\"heading-anchor\" href=\"#difference\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.difference\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">difference</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">geom</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.difference\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.Difference\" title=\"django.contrib.gis.db.models.functions.Difference\"><code class=\"xref py py-class docutils literal notranslate\">Difference</code></a>.</p>\n</aside>\n<p>Effectue la différence spatiale entre le champ géométrique et l’objet géométrique donné et écrit le résultat dans un attribut <code class=\"docutils literal notranslate\">difference</code> de chaque élément du <code class=\"docutils literal notranslate\">GeoQuerySet</code>.</p>\n</section>\n<section id=\"intersection\">\n<h4><code class=\"docutils literal notranslate\">intersection</code><a class=\"heading-anchor\" href=\"#intersection\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.intersection\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">intersection</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">geom</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.intersection\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.Intersection\" title=\"django.contrib.gis.db.models.functions.Intersection\"><code class=\"xref py py-class docutils literal notranslate\">Intersection</code></a>.</p>\n</aside>\n<p>Effectue l’intersection spatiale entre le champ géométrique et l’objet géométrique donné et écrit le résultat dans un attribut <code class=\"docutils literal notranslate\">intersection</code> de chaque élément du <code class=\"docutils literal notranslate\">GeoQuerySet</code>.</p>\n</section>\n<section id=\"sym-difference\">\n<h4><code class=\"docutils literal notranslate\">sym_difference</code><a class=\"heading-anchor\" href=\"#sym-difference\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.sym_difference\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">sym_difference</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">geom</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.sym_difference\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.SymDifference\" title=\"django.contrib.gis.db.models.functions.SymDifference\"><code class=\"xref py py-class docutils literal notranslate\">SymDifference</code></a>.</p>\n</aside>\n<p>Effectue la différence symétrique entre le champ géométrique et l’objet géométrique donné et écrit le résultat dans un attribut <code class=\"docutils literal notranslate\">sym_difference</code> de chaque élément du <code class=\"docutils literal notranslate\">GeoQuerySet</code>.</p>\n</section>\n<section id=\"union\">\n<h4><code class=\"docutils literal notranslate\">union</code><a class=\"heading-anchor\" href=\"#union\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.union\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">union</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">geom</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.union\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.Union\" title=\"django.contrib.gis.db.models.functions.Union\"><code class=\"xref py py-class docutils literal notranslate\">Union</code></a>.</p>\n</aside>\n<p>Effectue l’union du champ géométrique avec l’objet géométrique donné et écrit le résultat dans un attribut <code class=\"docutils literal notranslate\">union</code> de chaque élément du <code class=\"docutils literal notranslate\">GeoQuerySet</code>.</p>\n</section>\n</section>\n<section id=\"geometry-output\">\n<h3>Sorties géométriques<a class=\"heading-anchor\" href=\"#geometry-output\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Les méthodes <code class=\"docutils literal notranslate\">GeoQuerySet</code> suivantes créent pour chaque modèle un nouvel attribut contenant la valeur du champ géométrique converti dans le format de sortie demandé.</p>\n<section id=\"geohash\">\n<h4><code class=\"docutils literal notranslate\">geohash</code><a class=\"heading-anchor\" href=\"#geohash\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.geohash\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">geohash</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">precision<span class=\"o\">=</span><span class=\"default_value\">20</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.geohash\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.GeoHash\" title=\"django.contrib.gis.db.models.functions.GeoHash\"><code class=\"xref py py-class docutils literal notranslate\">GeoHash</code></a>.</p>\n</aside>\n<p>Ajoute pour chaque modèle du jeu de requête un attribut <code class=\"docutils literal notranslate\">geohash</code> contenant la représentation <a class=\"reference external\" href=\"http://geohash.org/\">GeoHash</a> du champ géométrique.</p>\n</section>\n<section id=\"geojson\">\n<h4><code class=\"docutils literal notranslate\">geojson</code><a class=\"heading-anchor\" href=\"#geojson\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.geojson\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">geojson</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.geojson\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.AsGeoJSON\" title=\"django.contrib.gis.db.models.functions.AsGeoJSON\"><code class=\"xref py py-class docutils literal notranslate\">AsGeoJSON</code></a>.</p>\n</aside>\n<p><em>Disponibilité</em> : PostGIS, SpatiaLite</p>\n<p>Ajoute pour chaque modèle du jeu de requête un attribut <code class=\"docutils literal notranslate\">geojson</code> contenant la représentation <a class=\"reference external\" href=\"http://geojson.org/\">GeoJSON</a> du champ géométrique.</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Paramètre nommé</p></th>\n<th class=\"head\"><p>Description</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\">precision</code></p></td>\n<td><p>Peut être utilisé pour indiquer le nombre de chiffres significatifs des coordonnées de la représentation GeoJSON, la valeur par défaut étant 8.</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\">crs</code></p></td>\n<td><p>À définir à <code class=\"docutils literal notranslate\">True</code> pour que le système de référence de coordonnées soit inclus dans le format GeoJSON renvoyé.</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\">bbox</code></p></td>\n<td><p>À définir à <code class=\"docutils literal notranslate\">True</code> pour que le rectangle englobant soit inclus dans le contenu GeoJSON renvoyé.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"gml\">\n<h4><code class=\"docutils literal notranslate\">gml</code><a class=\"heading-anchor\" href=\"#gml\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.gml\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">gml</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.gml\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.AsGML\" title=\"django.contrib.gis.db.models.functions.AsGML\"><code class=\"xref py py-class docutils literal notranslate\">AsGML</code></a>.</p>\n</aside>\n<p><em>Disponibilité</em> : PostGIS, Oracle, SpatiaLite</p>\n<p>Ajoute pour chaque modèle du jeu de requête un attribut <code class=\"docutils literal notranslate\">gml</code> contenant la représentation <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Geography_Markup_Language\">Geographic Markup Language (GML)</a> du champ géométrique.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>qs <span class=\"o\">=</span> Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<span class=\"p\">()</span><span class=\"o\">.</span>gml<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>qs<span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">]</span><span class=\"o\">.</span>gml<span class=\"p\">)</span>\n<span class=\"go\">&lt;gml:Polygon srsName=&quot;EPSG:4326&quot;&gt;&lt;gml:OuterBoundaryIs&gt;-147.78711,70.245363 ...  -147.78711,70.245363&lt;/gml:OuterBoundaryIs&gt;&lt;/gml:Polygon&gt;</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Paramètre nommé</p></th>\n<th class=\"head\"><p>Description</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\">precision</code></p></td>\n<td><p>Ce paramètre n’est valable que pour PostGIS. Il peut être utilisé pour indiquer le nombre de chiffres significatifs des coordonnées de la représentation GML, la valeur par défaut étant 8.</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\">version</code></p></td>\n<td><p>Ce paramètre n’est valable que pour PostGIS. Il peut être utilisé pour indiquer la version GML utilisée (2 ou 3). La valeur par défaut est 2.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"kml\">\n<h4><code class=\"docutils literal notranslate\">kml</code><a class=\"heading-anchor\" href=\"#kml\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.kml\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">kml</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.kml\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.AsKML\" title=\"django.contrib.gis.db.models.functions.AsKML\"><code class=\"xref py py-class docutils literal notranslate\">AsKML</code></a>.</p>\n</aside>\n<p><em>Disponibilité</em> : PostGIS, SpatiaLite</p>\n<p>Ajoute pour chaque modèle du jeu de requête un attribut <code class=\"docutils literal notranslate\">kml</code> contenant la représentation <a class=\"reference external\" href=\"https://developers.google.com/kml/documentation/\">Keyhole Markup Language (KML)</a> du champ géométrique. Il faut relever que le contenu KML est transformé en WGS84 si nécessaire.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>qs <span class=\"o\">=</span> Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<span class=\"p\">()</span><span class=\"o\">.</span>kml<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>qs<span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">]</span><span class=\"o\">.</span>kml<span class=\"p\">)</span>\n<span class=\"go\">&lt;Polygon&gt;&lt;outerBoundaryIs&gt;&lt;LinearRing&gt;&lt;coordinates&gt;-103.04135,36.217596,0 ... -103.04135,36.217596,0&lt;/coordinates&gt;&lt;/LinearRing&gt;&lt;/outerBoundaryIs&gt;&lt;/Polygon&gt;</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Paramètre nommé</p></th>\n<th class=\"head\"><p>Description</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\">precision</code></p></td>\n<td><p>Ce paramètre peut être utilisé pour indiquer le nombre de chiffres significatifs des coordonnées de la représentation KML, la valeur par défaut étant 8.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"svg\">\n<h4><code class=\"docutils literal notranslate\">svg</code><a class=\"heading-anchor\" href=\"#svg\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.svg\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">svg</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.svg\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.AsSVG\" title=\"django.contrib.gis.db.models.functions.AsSVG\"><code class=\"xref py py-class docutils literal notranslate\">AsSVG</code></a>.</p>\n</aside>\n<p><em>Disponibilité</em> : PostGIS, SpatiaLite</p>\n<p>Ajoute pour chaque modèle du jeu de requête un attribut <code class=\"docutils literal notranslate\">svg</code> contenant les données de chemin <a class=\"reference external\" href=\"http://www.w3.org/Graphics/SVG/\">Scalable Vector Graphics (SVG)</a> du champ géométrique.</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Paramètre nommé</p></th>\n<th class=\"head\"><p>Description</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\">relative</code></p></td>\n<td><p>Si défini à <code class=\"docutils literal notranslate\">True</code>, les données de chemin sont représentées en termes de déplacements relatifs. La valeur par défaut est <code class=\"docutils literal notranslate\">False</code> ce qui signifie que ce sont les déplacements absolus qui sont utilisés.</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\">precision</code></p></td>\n<td><p>Ce paramètre peut être utilisé pour indiquer le nombre de chiffres significatifs des coordonnées de la représentation SVG, la valeur par défaut étant 8.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n</section>\n<section id=\"miscellaneous\">\n<h3>Divers<a class=\"heading-anchor\" href=\"#miscellaneous\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<section id=\"mem-size\">\n<h4><code class=\"docutils literal notranslate\">mem_size</code><a class=\"heading-anchor\" href=\"#mem-size\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.mem_size\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">mem_size</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.mem_size\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.MemSize\" title=\"django.contrib.gis.db.models.functions.MemSize\"><code class=\"xref py py-class docutils literal notranslate\">MemSize</code></a>.</p>\n</aside>\n<p><em>Disponibilité</em> : PostGIS</p>\n<p>Calcule la taille mémoire (nombre d’octets) consommée par le champ géométrique et écrit le résultat dans un attribut <code class=\"docutils literal notranslate\">mem_size</code> de chaque élément du <code class=\"docutils literal notranslate\">GeoQuerySet</code>.</p>\n</section>\n<section id=\"num-geom\">\n<h4><code class=\"docutils literal notranslate\">num_geom</code><a class=\"heading-anchor\" href=\"#num-geom\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.num_geom\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">num_geom</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.num_geom\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.NumGeometries\" title=\"django.contrib.gis.db.models.functions.NumGeometries\"><code class=\"xref py py-class docutils literal notranslate\">NumGeometries</code></a>.</p>\n</aside>\n<p><em>Disponibilité</em> : PostGIS, Oracle, SpatiaLite</p>\n<p>Écrit le nombre d’éléments géométriques dans un attribut <code class=\"docutils literal notranslate\">num_geom</code> de chaque élément du <code class=\"docutils literal notranslate\">GeoQuerySet</code>, pour autant que le champ géométrique soit une collection (par ex. un champ <code class=\"docutils literal notranslate\">GEOMETRYCOLLECTION</code> ou <code class=\"docutils literal notranslate\">MULTI*</code>) ; sinon, l’attribut contiendra <code class=\"docutils literal notranslate\">None</code>.</p>\n</section>\n<section id=\"num-points\">\n<h4><code class=\"docutils literal notranslate\">num_points</code><a class=\"heading-anchor\" href=\"#num-points\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.GeoQuerySet.num_points\">\n<span class=\"sig-prename descclassname\">GeoQuerySet.</span><span class=\"sig-name descname\">num_points</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.GeoQuerySet.num_points\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"1.9\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 1.9</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.9: </span>Utilisez à la place la fonction <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/functions/#django.contrib.gis.db.models.functions.NumPoints\" title=\"django.contrib.gis.db.models.functions.NumPoints\"><code class=\"xref py py-class docutils literal notranslate\">NumPoints</code></a>.</p>\n</aside>\n<p><em>Disponibilité</em> : PostGIS, Oracle, SpatiaLite</p>\n<p>Calcule le nombre de points du premier élément ligne (linestring) du champ géométrique et écrit le résultat dans un attribut <code class=\"docutils literal notranslate\">num_points</code> de chaque élément du <code class=\"docutils literal notranslate\">GeoQuerySet</code>. L’attribut contiendra <code class=\"docutils literal notranslate\">None</code> s’il n’y a pas de ligne.</p>\n</section>\n</section>\n<section id=\"aggregate-functions\">\n<h3>Fonctions d’agrégation<a class=\"heading-anchor\" href=\"#aggregate-functions\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Django fournit quelques fonctions d’agrégation spécifiques aux données géographiques. Pour plus de détails sur l’usage de ces fonctions, consultez le <a class=\"reference internal\" href=\"/fr/1.10/topics/db/aggregation/\"><span class=\"doc\">guide thématique sur l’agrégation</span></a>.</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Paramètre nommé</p></th>\n<th class=\"head\"><p>Description</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\">tolerance</code></p></td>\n<td><p>Ce paramètre n’est valable que pour Oracle. Il s’agit de la valeur de tolérance utilisée par la procédure <code class=\"docutils literal notranslate\">SDOAGGRTYPE</code>; la <a class=\"reference external\" href=\"https://docs.oracle.com/html/B14255_01/sdo_intro.htm#sthref150\">documentation Oracle</a> contient plus de détails.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.contrib.gis.db.models</span> <span class=\"kn\">import</span> Extent<span class=\"p\">,</span> Union\n<span class=\"gp\">&gt;&gt;&gt; </span>WorldBorder<span class=\"o\">.</span>objects<span class=\"o\">.</span>aggregate<span class=\"p\">(</span>Extent<span class=\"p\">(</span><span class=\"s1\">&#39;mpoly&#39;</span><span class=\"p\">),</span> Union<span class=\"p\">(</span><span class=\"s1\">&#39;mpoly&#39;</span><span class=\"p\">))</span>\n</code></pre></div>\n<section id=\"collect\">\n<h4><code class=\"docutils literal notranslate\">Collect</code><a class=\"heading-anchor\" href=\"#collect\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.Collect\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">Collect</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">geo_field</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.Collect\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Disponibilité</em> : PostGIS, SpatiaLite</p>\n<p>Renvoie un objet géométrique <code class=\"docutils literal notranslate\">GEOMETRYCOLLECTION</code> ou <code class=\"docutils literal notranslate\">MULTI</code> à partir de la colonne géométrique. C’est un peu comme une version simplifiée de l’agrégation <a class=\"reference internal\" href=\"#django.contrib.gis.db.models.Union\" title=\"django.contrib.gis.db.models.Union\"><code class=\"xref py py-class docutils literal notranslate\">Union</code></a>, sauf qu’elle peut être vraiment plus rapide qu’une union car elle ne fait qu’accumuler les objets géométriques dans une collection ou une géométrie multiple sans se préoccuper de fusionner les objets.</p>\n</section>\n<section id=\"extent\">\n<h4><code class=\"docutils literal notranslate\">Extent</code><a class=\"heading-anchor\" href=\"#extent\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.Extent\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">Extent</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">geo_field</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.Extent\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Disponibilité</em> : PostGIS, Oracle, SpatiaLite</p>\n<p>Renvoie l’étendue de tous les champs <code class=\"docutils literal notranslate\">geo_field</code> du <code class=\"docutils literal notranslate\">QuerySet</code> sous forme de tuple à 4 éléments formé des coordonnées inférieure gauche et supérieure droite.</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>qs <span class=\"o\">=</span> City<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>name__in<span class=\"o\">=</span><span class=\"p\">(</span><span class=\"s1\">&#39;Houston&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;Dallas&#39;</span><span class=\"p\">))</span><span class=\"o\">.</span>aggregate<span class=\"p\">(</span>Extent<span class=\"p\">(</span><span class=\"s1\">&#39;poly&#39;</span><span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>qs<span class=\"p\">[</span><span class=\"s1\">&#39;poly__extent&#39;</span><span class=\"p\">])</span>\n<span class=\"go\">(-96.8016128540039, 29.7633724212646, -95.3631439208984, 32.782058715820)</span>\n</code></pre></div>\n</section>\n<section id=\"extent3d\">\n<h4><code class=\"docutils literal notranslate\">Extent3D</code><a class=\"heading-anchor\" href=\"#extent3d\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.Extent3D\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">Extent3D</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">geo_field</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.Extent3D\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Disponibilité</em> : PostGIS</p>\n<p>Renvoie l’étendue 3D de tous les champs <code class=\"docutils literal notranslate\">geo_field</code> du <code class=\"docutils literal notranslate\">QuerySet</code> sous forme de tuple à 6 éléments formé des coordonnées inférieure gauche et supérieure droite (chaque fois avec les coordonnées x, y et z).</p>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>qs <span class=\"o\">=</span> City<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>name__in<span class=\"o\">=</span><span class=\"p\">(</span><span class=\"s1\">&#39;Houston&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;Dallas&#39;</span><span class=\"p\">))</span><span class=\"o\">.</span>aggregate<span class=\"p\">(</span>Extent3D<span class=\"p\">(</span><span class=\"s1\">&#39;poly&#39;</span><span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>qs<span class=\"p\">[</span><span class=\"s1\">&#39;poly__extent3d&#39;</span><span class=\"p\">])</span>\n<span class=\"go\">(-96.8016128540039, 29.7633724212646, 0, -95.3631439208984, 32.782058715820, 0)</span>\n</code></pre></div>\n</section>\n<section id=\"makeline\">\n<h4><code class=\"docutils literal notranslate\">MakeLine</code><a class=\"heading-anchor\" href=\"#makeline\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.MakeLine\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">MakeLine</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">geo_field</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.MakeLine\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Disponibilité</em> : PostGIS, SpatiaLite</p>\n<p>Renvoie une ligne <code class=\"docutils literal notranslate\">LineString</code> construite à partir des champs de type point du <code class=\"docutils literal notranslate\">QuerySet</code>.  Actuellement, le tri du jeu de requête n’a pas d’effet.</p>\n<aside class=\"version-note version-changed\" data-version=\"1.10\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 1.10</p><p>La prise en charge de SpatiaLite a été ajoutée.</p>\n</aside>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>qs <span class=\"o\">=</span> City<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>name__in<span class=\"o\">=</span><span class=\"p\">(</span><span class=\"s1\">&#39;Houston&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;Dallas&#39;</span><span class=\"p\">))</span><span class=\"o\">.</span>aggregate<span class=\"p\">(</span>MakeLine<span class=\"p\">(</span><span class=\"s1\">&#39;poly&#39;</span><span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>qs<span class=\"p\">[</span><span class=\"s1\">&#39;poly__makeline&#39;</span><span class=\"p\">])</span>\n<span class=\"go\">LINESTRING (-95.3631510000000020 29.7633739999999989, -96.8016109999999941 32.7820570000000018)</span>\n</code></pre></div>\n</section>\n<section id=\"id17\">\n<h4><code class=\"docutils literal notranslate\">Union</code><a class=\"heading-anchor\" href=\"#id17\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.Union\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">Union</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">geo_field</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.Union\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Disponibilité</em> : PostGIS, Oracle, SpatiaLite</p>\n<p>Cette méthode renvoie un objet <a class=\"reference internal\" href=\"/fr/1.10/ref/contrib/gis/geos/#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a> formé de l’union de tous les objets géométriques du jeu de requête. Sachez que l’emploi de <code class=\"docutils literal notranslate\">Union</code> est très consommateur de ressources et peut prendre un temps considérable pour de gros jeux de requête.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Si le temps de calcul lors de l’utilisation de cette méthode est trop important, envisagez d’utiliser plutôt <a class=\"reference internal\" href=\"#django.contrib.gis.db.models.Collect\" title=\"django.contrib.gis.db.models.Collect\"><code class=\"xref py py-class docutils literal notranslate\">Collect</code></a>.</p>\n</aside>\n<p>Exemple :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>u <span class=\"o\">=</span> Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>aggregate<span class=\"p\">(</span>Union<span class=\"p\">(</span>poly<span class=\"p\">))</span>  <span class=\"c1\"># This may take a long time.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>u <span class=\"o\">=</span> Zipcode<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>poly__within<span class=\"o\">=</span>bbox<span class=\"p\">)</span><span class=\"o\">.</span>aggregate<span class=\"p\">(</span>Union<span class=\"p\">(</span>poly<span class=\"p\">))</span>  <span class=\"c1\"># A more sensible approach.</span>\n</code></pre></div>\n<p class=\"rubric\">Notes de bas de page</p>\n<aside class=\"footnote-list brackets\">\n<aside class=\"footnote brackets\" id=\"fnde9im\" role=\"doc-footnote\">\n<span class=\"label\"><span class=\"fn-bracket\">[</span><a role=\"doc-backlink\" href=\"#id5\">1</a><span class=\"fn-bracket\">]</span></span>\n<p><em>Voir</em> <a class=\"reference external\" href=\"http://www.opengis.org/docs/99-049.pdf\">OpenGIS Simple Feature Specification For SQL</a>, chap. 2.1.13.2, p. 2-13 (The Dimensionally Extended Nine-Intersection Model).</p>\n</aside>\n<aside class=\"footnote brackets\" id=\"fnsdorelate\" role=\"doc-footnote\">\n<span class=\"label\"><span class=\"fn-bracket\">[</span><a role=\"doc-backlink\" href=\"#id6\">2</a><span class=\"fn-bracket\">]</span></span>\n<p><em>Voir</em> la <a class=\"reference external\" href=\"https://docs.oracle.com/cd/B19306_01/appdev.102/b14255/sdo_operat.htm#sthref845\">documentation de SDO_RELATE</a>, chapitre 11 du manuel et guide d’utilisation Oracle Spatial.</p>\n</aside>\n<aside class=\"footnote brackets\" id=\"fncovers\" role=\"doc-footnote\">\n<span class=\"label\"><span class=\"fn-bracket\">[</span>3<span class=\"fn-bracket\">]</span></span>\n<span class=\"backrefs\">(<a role=\"doc-backlink\" href=\"#id3\">1</a>,<a role=\"doc-backlink\" href=\"#id4\">2</a>)</span>\n<p>Pour une explication de cette routine, lisez <a class=\"reference external\" href=\"http://lin-ear-th-inking.blogspot.com/2007/06/subtleties-of-ogc-covers-spatial.html\">Quirks of the « Contains » Spatial Predicate</a> par Martin Davis (un développeur PostGIS).</p>\n</aside>\n<aside class=\"footnote brackets\" id=\"fncontainsproperly\" role=\"doc-footnote\">\n<span class=\"label\"><span class=\"fn-bracket\">[</span><a role=\"doc-backlink\" href=\"#id2\">4</a><span class=\"fn-bracket\">]</span></span>\n<p>Référez-vous à la <a class=\"reference external\" href=\"http://postgis.net/docs/ST_ContainsProperly.html\">documentation</a> de <code class=\"docutils literal notranslate\">ST_ContainsProperly</code> pour plus de détails.</p>\n</aside>\n</aside>\n</section>\n</section>\n</section>","rootId":"geoqueryset-api-reference","toc":[{"title":"Recherches spatiales","anchor":"spatial-lookups","children":[{"title":"Requêtes avec matrices","anchor":"lookups-with-rasters","children":[]},{"title":"bbcontains","anchor":"bbcontains","children":[]},{"title":"bboverlaps","anchor":"bboverlaps","children":[]},{"title":"contained","anchor":"contained","children":[]},{"title":"contains","anchor":"contains","children":[]},{"title":"contains_properly","anchor":"contains-properly","children":[]},{"title":"coveredby","anchor":"coveredby","children":[]},{"title":"covers","anchor":"covers","children":[]},{"title":"crosses","anchor":"crosses","children":[]},{"title":"disjoint","anchor":"disjoint","children":[]},{"title":"equals","anchor":"equals","children":[]},{"title":"exact, same_as","anchor":"exact-same-as","children":[]},{"title":"intersects","anchor":"intersects","children":[]},{"title":"isvalid","anchor":"isvalid","children":[]},{"title":"overlaps","anchor":"overlaps","children":[]},{"title":"relate","anchor":"relate","children":[{"title":"PostGIS et SpatiaLite","anchor":"postgis-spatialite","children":[]},{"title":"Oracle","anchor":"oracle","children":[]}]},{"title":"touches","anchor":"touches","children":[]},{"title":"within","anchor":"within","children":[]},{"title":"left","anchor":"left","children":[]},{"title":"right","anchor":"right","children":[]},{"title":"overlaps_left","anchor":"overlaps-left","children":[]},{"title":"overlaps_right","anchor":"overlaps-right","children":[]},{"title":"overlaps_above","anchor":"overlaps-above","children":[]},{"title":"overlaps_below","anchor":"overlaps-below","children":[]},{"title":"strictly_above","anchor":"strictly-above","children":[]},{"title":"strictly_below","anchor":"strictly-below","children":[]}]},{"title":"Recherches de distance","anchor":"distance-lookups","children":[{"title":"distance_gt","anchor":"distance-gt","children":[]},{"title":"distance_gte","anchor":"distance-gte","children":[]},{"title":"distance_lt","anchor":"distance-lt","children":[]},{"title":"distance_lte","anchor":"distance-lte","children":[]},{"title":"dwithin","anchor":"dwithin","children":[]}]},{"title":"Méthodes GeoQuerySet","anchor":"geoqueryset-methods","children":[{"title":"Mesures","anchor":"measurement","children":[{"title":"area","anchor":"area","children":[]},{"title":"distance","anchor":"distance","children":[]},{"title":"length","anchor":"length","children":[]},{"title":"perimeter","anchor":"perimeter","children":[]}]},{"title":"Relations géométriques","anchor":"geometry-relationships","children":[{"title":"centroid","anchor":"centroid","children":[]},{"title":"envelope","anchor":"envelope","children":[]},{"title":"point_on_surface","anchor":"point-on-surface","children":[]}]},{"title":"Éditeurs géométriques","anchor":"geometry-editors","children":[{"title":"force_rhr","anchor":"force-rhr","children":[]},{"title":"reverse_geom","anchor":"reverse-geom","children":[]},{"title":"scale","anchor":"scale","children":[]},{"title":"snap_to_grid","anchor":"snap-to-grid","children":[]},{"title":"transform","anchor":"transform","children":[]},{"title":"translate","anchor":"translate","children":[]}]},{"title":"Opérations géométriques","anchor":"geometry-operations","children":[{"title":"difference","anchor":"difference","children":[]},{"title":"intersection","anchor":"intersection","children":[]},{"title":"sym_difference","anchor":"sym-difference","children":[]},{"title":"union","anchor":"union","children":[]}]},{"title":"Sorties géométriques","anchor":"geometry-output","children":[{"title":"geohash","anchor":"geohash","children":[]},{"title":"geojson","anchor":"geojson","children":[]},{"title":"gml","anchor":"gml","children":[]},{"title":"kml","anchor":"kml","children":[]},{"title":"svg","anchor":"svg","children":[]}]},{"title":"Divers","anchor":"miscellaneous","children":[{"title":"mem_size","anchor":"mem-size","children":[]},{"title":"num_geom","anchor":"num-geom","children":[]},{"title":"num_points","anchor":"num-points","children":[]}]},{"title":"Fonctions d’agrégation","anchor":"aggregate-functions","children":[{"title":"Collect","anchor":"collect","children":[]},{"title":"Extent","anchor":"extent","children":[]},{"title":"Extent3D","anchor":"extent3d","children":[]},{"title":"MakeLine","anchor":"makeline","children":[]},{"title":"Union","anchor":"id17","children":[]}]}]}],"breadcrumbs":[{"docname":"ref/index","title":"Référence de l’API","url":"/fr/1.10/ref/"},{"docname":"ref/contrib/index","title":"Paquets contrib","url":"/fr/1.10/ref/contrib/"},{"docname":"ref/contrib/gis/index","title":"GeoDjango","url":"/fr/1.10/ref/contrib/gis/"}],"prev":{"docname":"ref/contrib/gis/forms-api","title":"API des formulaires GeoDjango","url":"/fr/1.10/ref/contrib/gis/forms-api/"},"next":{"docname":"ref/contrib/gis/functions","title":"Fonctions de base de données géographiques","url":"/fr/1.10/ref/contrib/gis/functions/"},"formats":{"html":"/fr/1.10/ref/contrib/gis/geoquerysets/","markdown":"/fr/1.10/ref/contrib/gis/geoquerysets.md","json":"/fr/1.10/ref/contrib/gis/geoquerysets.json"},"source":"https://github.com/django/django/blob/stable/1.10.x/docs/ref/contrib/gis/geoquerysets.txt","official":"https://docs.djangoproject.com/fr/1.10/ref/contrib/gis/geoquerysets/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","fr","ja","id","pt-br","es","el","pl"]}