{"title":"API GEOS","version":"2.0","locale":"fr","docname":"ref/contrib/gis/geos","url":"/fr/2.0/ref/contrib/gis/geos/","canonical":"https://djangodocs.dev/fr/2.0/ref/contrib/gis/geos/","summary":"Contexte Lien vers cette rubrique # Qu’est-ce que GEOS ? Lien vers cette rubrique # GEOS signifie Geometry Engine - Open Source . C’est une bibliothèque C++ dérivée…","html":"<span id=\"geos-api\"></span><h1>API GEOS<a class=\"heading-anchor\" href=\"#module-django.contrib.gis.geos\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h1>\n<section id=\"background\">\n<h2>Contexte<a class=\"heading-anchor\" href=\"#background\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"what-is-geos\">\n<h3>Qu’est-ce que GEOS ?<a class=\"heading-anchor\" href=\"#what-is-geos\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><a class=\"reference external\" href=\"https://trac.osgeo.org/geos/\">GEOS</a> signifie <strong>Geometry Engine - Open Source</strong>. C’est une bibliothèque C++ dérivée de <a class=\"reference external\" href=\"https://sourceforge.net/projects/jts-topo-suite/\">Java Topology Suite</a>. GEOS implémente les prédicats et les opérateurs spatiaux de la spécification OpenGIS <a class=\"reference external\" href=\"http://www.opengeospatial.org/standards/sfs\">Simple Features for SQL</a>. GEOS, dorénavant un projet OSGeo, a été initialement développée et maintenue par <a class=\"reference external\" href=\"http://www.refractions.net/\">Refractions Research</a> (Victoria, Canada).</p>\n</section>\n<section id=\"features\">\n<h3>Fonctionnalités<a class=\"heading-anchor\" href=\"#features\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>GeoDjango implémente une adaptation Python de haut niveau de la bibliothèque GEOS. Ses fonctionnalités comprennent notamment :</p>\n<ul class=\"simple\">\n<li><p>Une interface sous licence BSD des routines géométriques GEOS, implémentées purement en Python à l’aide de <code class=\"docutils literal notranslate\">ctypes</code>.</p></li>\n<li><p>Faiblement couplé à GeoDjango. Par exemple, les objets <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a> peuvent être utilisés en dehors d’un projet Django. En d’autres termes, il n’est pas nécessaire que <code class=\"docutils literal notranslate\">DJANGO_SETTINGS_MODULE</code> ou une base de données soient définis.</p></li>\n<li><p>Mutabilité : les objets <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a> peuvent être modifiés.</p></li>\n<li><p>Multiplateforme et testé ; compatible avec les plateformes Windows, Linux, Solaris et macOS.</p></li>\n</ul>\n</section>\n</section>\n<section id=\"tutorial\">\n<span id=\"geos-tutorial\"></span><h2>Tutoriel<a class=\"heading-anchor\" href=\"#tutorial\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Cette section contient une brève introduction à l’utilisation des objets <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a>.</p>\n<section id=\"creating-a-geometry\">\n<h3>Création d’un objet géométrique<a class=\"heading-anchor\" href=\"#creating-a-geometry\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Les objets <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a> peuvent être créés de plusieurs façons. La première est de simplement créer une instance avec du contenu spatial. Les exemples suivants montrent comment créer le même objet géométrique avec du contenu WKT, HEX, WKB et GeoJSON :</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.geos</span> <span class=\"kn\">import</span> GEOSGeometry\n<span class=\"gp\">&gt;&gt;&gt; </span>pnt <span class=\"o\">=</span> GEOSGeometry<span class=\"p\">(</span><span class=\"s1\">&#39;POINT(5 23)&#39;</span><span class=\"p\">)</span> <span class=\"c1\"># WKT</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>pnt <span class=\"o\">=</span> GEOSGeometry<span class=\"p\">(</span><span class=\"s1\">&#39;010100000000000000000014400000000000003740&#39;</span><span class=\"p\">)</span> <span class=\"c1\"># HEX</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>pnt <span class=\"o\">=</span> GEOSGeometry<span class=\"p\">(</span>buffer<span class=\"p\">(</span><span class=\"s1\">&#39;</span><span class=\"se\">\\x01\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x14</span><span class=\"s1\">@</span><span class=\"se\">\\x00\\x00\\x00\\x00\\x00\\x00</span><span class=\"s1\">7@&#39;</span><span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>pnt <span class=\"o\">=</span> GEOSGeometry<span class=\"p\">(</span><span class=\"s1\">&#39;{ &quot;type&quot;: &quot;Point&quot;, &quot;coordinates&quot;: [ 5.000000, 23.000000 ] }&#39;</span><span class=\"p\">)</span> <span class=\"c1\"># GeoJSON</span>\n</code></pre></div>\n<p>Un autre option est d’utiliser le constructeur correspondant au type d’objet géométrique que vous souhaitez créer. Par exemple un objet <a class=\"reference internal\" href=\"#django.contrib.gis.geos.Point\" title=\"django.contrib.gis.geos.Point\"><code class=\"xref py py-class docutils literal notranslate\">Point</code></a> peut être créé en passant des coordonnées X et Y à son constructeur :</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.geos</span> <span class=\"kn\">import</span> Point\n<span class=\"gp\">&gt;&gt;&gt; </span>pnt <span class=\"o\">=</span> Point<span class=\"p\">(</span><span class=\"mi\">5</span><span class=\"p\">,</span> <span class=\"mi\">23</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Tous ces constructeurs acceptent le paramètre nommé <code class=\"docutils literal notranslate\">srid</code>. Par 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.geos</span> <span class=\"kn\">import</span> GEOSGeometry<span class=\"p\">,</span> LineString<span class=\"p\">,</span> Point\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>GEOSGeometry<span class=\"p\">(</span><span class=\"s1\">&#39;POINT (0 0)&#39;</span><span class=\"p\">,</span> srid<span class=\"o\">=</span><span class=\"mi\">4326</span><span class=\"p\">))</span>\n<span class=\"go\">SRID=4326;POINT (0 0)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>LineString<span class=\"p\">((</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">),</span> srid<span class=\"o\">=</span><span class=\"mi\">4326</span><span class=\"p\">))</span>\n<span class=\"go\">SRID=4326;LINESTRING (0 0, 1 1)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>Point<span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> srid<span class=\"o\">=</span><span class=\"mi\">32140</span><span class=\"p\">))</span>\n<span class=\"go\">SRID=32140;POINT (0 0)</span>\n</code></pre></div>\n<p>Pour terminer, il existe la méthode de fabrication <a class=\"reference internal\" href=\"#django.contrib.gis.geos.fromfile\" title=\"django.contrib.gis.geos.fromfile\"><code class=\"xref py py-func docutils literal notranslate\">fromfile()</code></a> qui renvoie un objet <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a> à partir d’un fichier :</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.geos</span> <span class=\"kn\">import</span> fromfile\n<span class=\"gp\">&gt;&gt;&gt; </span>pnt <span class=\"o\">=</span> fromfile<span class=\"p\">(</span><span class=\"s1\">&#39;/path/to/pnt.wkt&#39;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>pnt <span class=\"o\">=</span> fromfile<span class=\"p\">(</span><span class=\"nb\">open</span><span class=\"p\">(</span><span class=\"s1\">&#39;/path/to/pnt.wkt&#39;</span><span class=\"p\">))</span>\n</code></pre></div>\n<aside class=\"admonition-my-logs-are-filled-with-geos-related-errors admonition\" id=\"geos-exceptions-in-logfile\" role=\"note\">\n<p class=\"admonition-title\">Mes journaux sont remplis par des erreurs liées à GEOS</p>\n<p>Vous découvrez de nombreuses exceptions <code class=\"docutils literal notranslate\">TypeError</code> ou <code class=\"docutils literal notranslate\">AttributeError</code> remplissant les journaux de votre serveur Web. Cela signifie généralement que vous créez des objets GEOS au premier niveau de certains de vos modules Python. Ensuite, en raison d’un conflit de concurrence dans le récupérateur de mémoire, la mémoire de votre module est recyclée avant l’objet GEOS. Pour empêcher cela, créez les objets <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a> dans la portée locale de vos fonctions ou méthodes.</p>\n</aside>\n</section>\n<section id=\"geometries-are-pythonic\">\n<h3>Les objets géométriques sont « pythonesques »<a class=\"heading-anchor\" href=\"#geometries-are-pythonic\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Les objets <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a> sont « pythonesques », ce qui signifie qu’il est possible d’accéder, de modifier ou de passer en boucle leurs composants à l’aide des conventions Python standards. Par exemple, voici comment parcourir les coordonnées d’un <a class=\"reference internal\" href=\"#django.contrib.gis.geos.Point\" title=\"django.contrib.gis.geos.Point\"><code class=\"xref py py-class docutils literal notranslate\">Point</code></a> en boucle :</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> Point<span class=\"p\">(</span><span class=\"mi\">5</span><span class=\"p\">,</span> <span class=\"mi\">23</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"p\">[</span>coord <span class=\"k\">for</span> coord <span class=\"ow\">in</span> pnt<span class=\"p\">]</span>\n<span class=\"go\">[5.0, 23.0]</span>\n</code></pre></div>\n<p>Avec n’importe quel objet géométrique, la propriété <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry.coords\" title=\"django.contrib.gis.geos.GEOSGeometry.coords\"><code class=\"xref py py-attr docutils literal notranslate\">GEOSGeometry.coords</code></a> peut être utilisée pour obtenir les coordonnées géométriques sous forme de tuple Python :</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>coords\n<span class=\"go\">(5.0, 23.0)</span>\n</code></pre></div>\n<p>Il est possible d’obtenir et de définir les éléments des objets géométriques par des techniques d’indices Python standard. Cependant, les valeurs renvoyées dépendent du type d’objet géométrique. Par exemple, l’application d’un indice sur une ligne <a class=\"reference internal\" href=\"#django.contrib.gis.geos.LineString\" title=\"django.contrib.gis.geos.LineString\"><code class=\"xref py py-class docutils literal notranslate\">LineString</code></a> renvoie un tuple de coordonnées :</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.geos</span> <span class=\"kn\">import</span> LineString\n<span class=\"gp\">&gt;&gt;&gt; </span>line <span class=\"o\">=</span> LineString<span class=\"p\">((</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">50</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">,</span> <span class=\"mi\">50</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">50</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>line<span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">]</span>\n<span class=\"go\">(0.0, 0.0)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>line<span class=\"p\">[</span><span class=\"o\">-</span><span class=\"mi\">2</span><span class=\"p\">]</span>\n<span class=\"go\">(50.0, 0.0)</span>\n</code></pre></div>\n<p>Alors que l’application d’un indice sur un <a class=\"reference internal\" href=\"#django.contrib.gis.geos.Polygon\" title=\"django.contrib.gis.geos.Polygon\"><code class=\"xref py py-class docutils literal notranslate\">Polygon</code></a> renvoie un anneau (un objet <a class=\"reference internal\" href=\"#django.contrib.gis.geos.LinearRing\" title=\"django.contrib.gis.geos.LinearRing\"><code class=\"xref py py-class docutils literal notranslate\">LinearRing</code></a>) correspondant à l’indice :</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.geos</span> <span class=\"kn\">import</span> Polygon\n<span class=\"gp\">&gt;&gt;&gt; </span>poly <span class=\"o\">=</span> Polygon<span class=\"p\">(</span> <span class=\"p\">((</span><span class=\"mf\">0.0</span><span class=\"p\">,</span> <span class=\"mf\">0.0</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mf\">0.0</span><span class=\"p\">,</span> <span class=\"mf\">50.0</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mf\">50.0</span><span class=\"p\">,</span> <span class=\"mf\">50.0</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mf\">50.0</span><span class=\"p\">,</span> <span class=\"mf\">0.0</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mf\">0.0</span><span class=\"p\">,</span> <span class=\"mf\">0.0</span><span class=\"p\">))</span> <span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>poly<span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">]</span>\n<span class=\"go\">&lt;LinearRing object at 0x1044395b0&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>poly<span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">][</span><span class=\"o\">-</span><span class=\"mi\">2</span><span class=\"p\">]</span> <span class=\"c1\"># second-to-last coordinate of external ring</span>\n<span class=\"go\">(50.0, 0.0)</span>\n</code></pre></div>\n<p>De plus, les coordonnées et les composants d’un objet géométrique peuvent être complétés ou modifiés de manière similaire à une liste Python :</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>line<span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"mf\">1.0</span><span class=\"p\">,</span> <span class=\"mf\">1.0</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>line<span class=\"o\">.</span>pop<span class=\"p\">()</span>\n<span class=\"go\">(0.0, 0.0)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>line<span class=\"o\">.</span>append<span class=\"p\">((</span><span class=\"mf\">1.0</span><span class=\"p\">,</span> <span class=\"mf\">1.0</span><span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>line<span class=\"o\">.</span>coords\n<span class=\"go\">((1.0, 1.0), (0.0, 50.0), (50.0, 50.0), (50.0, 0.0), (1.0, 1.0))</span>\n</code></pre></div>\n<p>Les objets géométriques prennent en charge les opérateurs d’ensembles (<code class=\"docutils literal notranslate\">set</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><span class=\"kn\">from</span> <span class=\"nn\">django.contrib.gis.geos</span> <span class=\"kn\">import</span> LineString\n<span class=\"gp\">&gt;&gt;&gt; </span>ls1 <span class=\"o\">=</span> LineString<span class=\"p\">((</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"mi\">2</span><span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>ls2 <span class=\"o\">=</span> LineString<span class=\"p\">((</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">3</span><span class=\"p\">,</span> <span class=\"mi\">3</span><span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>ls1 <span class=\"o\">|</span> ls2<span class=\"p\">)</span>  <span class=\"c1\"># equivalent to `ls1.union(ls2)`</span>\n<span class=\"go\">MULTILINESTRING ((0 0, 1 1), (1 1, 2 2), (2 2, 3 3))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>ls1 <span class=\"o\">&amp;</span> ls2<span class=\"p\">)</span>  <span class=\"c1\"># equivalent to `ls1.intersection(ls2)`</span>\n<span class=\"go\">LINESTRING (1 1, 2 2)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>ls1 <span class=\"o\">-</span> ls2<span class=\"p\">)</span>  <span class=\"c1\"># equivalent to `ls1.difference(ls2)`</span>\n<span class=\"go\">LINESTRING(0 0, 1 1)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>ls1 <span class=\"o\">^</span> ls2<span class=\"p\">)</span>  <span class=\"c1\"># equivalent to `ls1.sym_difference(ls2)`</span>\n<span class=\"go\">MULTILINESTRING ((0 0, 1 1), (2 2, 3 3))</span>\n</code></pre></div>\n<aside class=\"admonition-equality-operator-doesn-t-check-spatial-equality admonition\" role=\"note\">\n<p class=\"admonition-title\">L’opérateur d’égalité ne vérifie pas l’égalité spatiale</p>\n<p>L’opérateur d’égalité de <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a> utilise <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry.equals_exact\" title=\"django.contrib.gis.geos.GEOSGeometry.equals_exact\"><code class=\"xref py py-meth docutils literal notranslate\">equals_exact()</code></a>, et non pas <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry.equals\" title=\"django.contrib.gis.geos.GEOSGeometry.equals\"><code class=\"xref py py-meth docutils literal notranslate\">equals()</code></a>, c’est-à-dire que l’égalité dépend de coordonnées identiques, dans la même position et avec les mêmes SRID :</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.geos</span> <span class=\"kn\">import</span> LineString\n<span class=\"gp\">&gt;&gt;&gt; </span>ls1 <span class=\"o\">=</span> LineString<span class=\"p\">((</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>ls2 <span class=\"o\">=</span> LineString<span class=\"p\">((</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>ls3 <span class=\"o\">=</span> LineString<span class=\"p\">((</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> srid<span class=\"o\">=</span><span class=\"mi\">4326</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>ls1<span class=\"o\">.</span>equals<span class=\"p\">(</span>ls2<span class=\"p\">)</span>\n<span class=\"go\">True</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>ls1 <span class=\"o\">==</span> ls2\n<span class=\"go\">False</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>ls3 <span class=\"o\">==</span> ls2  <span class=\"c1\"># different SRIDs</span>\n<span class=\"go\">False</span>\n</code></pre></div>\n<aside class=\"version-note version-changed\" data-version=\"1.11\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 1.11</p><p>Les versions précédentes ne contrôlaient pas la valeur <code class=\"docutils literal notranslate\">srid</code> lors de la comparaison d’objets <code class=\"docutils literal notranslate\">GEOSGeometry</code> en utilisant l’opérateur d’égalité.</p>\n</aside>\n</aside>\n</section>\n</section>\n<section id=\"geometry-objects\">\n<h2>Objets géométriques<a class=\"heading-anchor\" href=\"#geometry-objects\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"geosgeometry\">\n<h3><code class=\"docutils literal notranslate\">GEOSGeometry</code><a class=\"heading-anchor\" href=\"#geosgeometry\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">GEOSGeometry</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">geo_input</em>, <em class=\"sig-param\">srid<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><dl class=\"field-list simple\">\n<dt class=\"field-odd\">Paramètres<span class=\"colon\">:</span></dt>\n<dd class=\"field-odd\"><ul class=\"simple\">\n<li><p><strong>geo_input</strong> – Valeur d’entrée géométrique (chaîne ou tampon)</p></li>\n<li><p><strong>srid</strong> (<a class=\"reference external\" href=\"https://docs.python.org/3/library/functions.html#int\" title=\"(disponible dans Python v3.14)\"><em>int</em></a>) – identifiant de référence spatiale</p></li>\n</ul>\n</dd>\n</dl>\n</dd></dl>\n\n<p>Il s’agit de la classe de base de tous les objets géométriques GEOS. Elle s’initialise en fonction du paramètre <code class=\"docutils literal notranslate\">geo_input</code> donné, puis en déduit la sous-classe géométrique appropriée (par ex. <code class=\"docutils literal notranslate\">GEOSGeometry('POINT(1 1)')</code> crée un objet <a class=\"reference internal\" href=\"#django.contrib.gis.geos.Point\" title=\"django.contrib.gis.geos.Point\"><code class=\"xref py py-class docutils literal notranslate\">Point</code></a>).</p>\n<p>Le paramètre <code class=\"docutils literal notranslate\">srid</code>, s’il est présent, est défini comme le SRID de l’objet géométrique créé si <code class=\"docutils literal notranslate\">geo_input</code> ne possède pas de SRID. Si les valeurs de SRID entre les paramètres <code class=\"docutils literal notranslate\">geo_input</code> et <code class=\"docutils literal notranslate\">srid</code> diffèrent, une erreur <code class=\"docutils literal notranslate\">ValueError</code> est produite</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.geos</span> <span class=\"kn\">import</span> GEOSGeometry\n<span class=\"gp\">&gt;&gt;&gt; </span>GEOSGeometry<span class=\"p\">(</span><span class=\"s1\">&#39;POINT EMPTY&#39;</span><span class=\"p\">,</span> srid<span class=\"o\">=</span><span class=\"mi\">4326</span><span class=\"p\">)</span><span class=\"o\">.</span>ewkt\n<span class=\"go\">&#39;SRID=4326;POINT EMPTY&#39;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>GEOSGeometry<span class=\"p\">(</span><span class=\"s1\">&#39;SRID=4326;POINT EMPTY&#39;</span><span class=\"p\">,</span> srid<span class=\"o\">=</span><span class=\"mi\">4326</span><span class=\"p\">)</span><span class=\"o\">.</span>ewkt\n<span class=\"go\">&#39;SRID=4326;POINT EMPTY&#39;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>GEOSGeometry<span class=\"p\">(</span><span class=\"s1\">&#39;SRID=1;POINT EMPTY&#39;</span><span class=\"p\">,</span> srid<span class=\"o\">=</span><span class=\"mi\">4326</span><span class=\"p\">)</span>\n<span class=\"gt\">Traceback (most recent call last):</span>\n<span class=\"c\">...</span>\n<span class=\"gr\">ValueError</span>: Input geometry already has SRID: 1.\n</code></pre></div>\n<aside class=\"version-note version-changed\" data-version=\"2.0\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 2.0</p><p>Dans les anciennes versions, le paramètre <code class=\"docutils literal notranslate\">srid</code> était géré différemment selon que l’entrée était du WKT ou du WKB. Pour le WKT, <code class=\"docutils literal notranslate\">srid</code> n’était utilisé seulement si l’entrée géométrique ne possédait pas de SRID. Pour le WKB, tout <code class=\"docutils literal notranslate\">srid</code> fourni remplaçait le SRID de l’entrée géométrique.</p>\n</aside>\n<p>Les formats de valeurs d’entrée suivants, ainsi que leur type Python correspondant, sont acceptés :</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>Format</p></th>\n<th class=\"head\"><p>Type en entrée</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>WKT / EWKT</p></td>\n<td><p><code class=\"docutils literal notranslate\">str</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>HEX / HEXEWKB</p></td>\n<td><p><code class=\"docutils literal notranslate\">str</code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>WKB / EWKB</p></td>\n<td><p><code class=\"docutils literal notranslate\">buffer</code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><a class=\"reference external\" href=\"https://tools.ietf.org/html/rfc7946\">GeoJSON</a></p></td>\n<td><p><code class=\"docutils literal notranslate\">str</code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<p>Pour le format GeoJSON, le SRID est défini sur la base du membre <code class=\"docutils literal notranslate\">crs</code>. SI <code class=\"docutils literal notranslate\">crs</code> n’est pas fourni, le SRID par défaut est 4326.</p>\n<aside class=\"version-note version-changed\" data-version=\"2.0\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 2.0</p><p>Dans les versions précédentes, le SRID n’était pas défini pour les objets géométriques initialisés à partir de GeoJSON.</p>\n</aside>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.from_gml\">\n<em class=\"property\"><span class=\"k\">classmethod</span> </em><span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">from_gml</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">gml_string</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.from_gml\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><aside class=\"version-note version-added\" data-version=\"1.11\" role=\"note\">\n<p class=\"version-note-title\">New in Django 1.11</p></aside>\n<p>Construit un objet <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a> à partir de la chaîne GML donnée.</p>\n</dd></dl>\n\n<section id=\"properties\">\n<h4>Propriétés<a class=\"heading-anchor\" href=\"#properties\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.coords\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">coords</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.coords\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie les coordonnées de l’objet géométrique sous forme de tuple.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.dims\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">dims</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.dims\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie la dimension de l’objet géométrique :</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">0</code> pour les <a class=\"reference internal\" href=\"#django.contrib.gis.geos.Point\" title=\"django.contrib.gis.geos.Point\"><code class=\"xref py py-class docutils literal notranslate\">Point</code></a>s et les <a class=\"reference internal\" href=\"#django.contrib.gis.geos.MultiPoint\" title=\"django.contrib.gis.geos.MultiPoint\"><code class=\"xref py py-class docutils literal notranslate\">MultiPoint</code></a>s</p></li>\n<li><p><code class=\"docutils literal notranslate\">1</code> pour les <a class=\"reference internal\" href=\"#django.contrib.gis.geos.LineString\" title=\"django.contrib.gis.geos.LineString\"><code class=\"xref py py-class docutils literal notranslate\">LineString</code></a>s et les <a class=\"reference internal\" href=\"#django.contrib.gis.geos.MultiLineString\" title=\"django.contrib.gis.geos.MultiLineString\"><code class=\"xref py py-class docutils literal notranslate\">MultiLineString</code></a>s</p></li>\n<li><p><code class=\"docutils literal notranslate\">2</code> pour les <a class=\"reference internal\" href=\"#django.contrib.gis.geos.Polygon\" title=\"django.contrib.gis.geos.Polygon\"><code class=\"xref py py-class docutils literal notranslate\">Polygon</code></a>s et les <a class=\"reference internal\" href=\"#django.contrib.gis.geos.MultiPolygon\" title=\"django.contrib.gis.geos.MultiPolygon\"><code class=\"xref py py-class docutils literal notranslate\">MultiPolygon</code></a>s</p></li>\n<li><p><code class=\"docutils literal notranslate\">-1</code> pour les <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GeometryCollection\" title=\"django.contrib.gis.geos.GeometryCollection\"><code class=\"xref py py-class docutils literal notranslate\">GeometryCollection</code></a>s vides</p></li>\n<li><p>la dimension maximale de ses éléments pour les <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GeometryCollection\" title=\"django.contrib.gis.geos.GeometryCollection\"><code class=\"xref py py-class docutils literal notranslate\">GeometryCollection</code></a>s non vides</p></li>\n</ul>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.empty\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">empty</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.empty\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie une valeur booléenne indiquant si l’ensemble des points de l’objet géométrique est vide.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.geom_type\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">geom_type</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.geom_type\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie une chaîne correspondant au type de l’objet géométrique. Par 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>pnt <span class=\"o\">=</span> GEOSGeometry<span class=\"p\">(</span><span class=\"s1\">&#39;POINT(5 23)&#39;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>pnt<span class=\"o\">.</span>geom_type\n<span class=\"go\">&#39;Point&#39;</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.geom_typeid\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">geom_typeid</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.geom_typeid\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie le numéro d’identification du type géométrique GEOS. Le tableau suivant expose la valeur correspondant à chaque type 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>Objet géométrique</p></th>\n<th class=\"head\"><p>ID</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><a class=\"reference internal\" href=\"#django.contrib.gis.geos.Point\" title=\"django.contrib.gis.geos.Point\"><code class=\"xref py py-class docutils literal notranslate\">Point</code></a></p></td>\n<td><p>0</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><a class=\"reference internal\" href=\"#django.contrib.gis.geos.LineString\" title=\"django.contrib.gis.geos.LineString\"><code class=\"xref py py-class docutils literal notranslate\">LineString</code></a></p></td>\n<td><p>1</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><a class=\"reference internal\" href=\"#django.contrib.gis.geos.LinearRing\" title=\"django.contrib.gis.geos.LinearRing\"><code class=\"xref py py-class docutils literal notranslate\">LinearRing</code></a></p></td>\n<td><p>2</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><a class=\"reference internal\" href=\"#django.contrib.gis.geos.Polygon\" title=\"django.contrib.gis.geos.Polygon\"><code class=\"xref py py-class docutils literal notranslate\">Polygon</code></a></p></td>\n<td><p>3</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><a class=\"reference internal\" href=\"#django.contrib.gis.geos.MultiPoint\" title=\"django.contrib.gis.geos.MultiPoint\"><code class=\"xref py py-class docutils literal notranslate\">MultiPoint</code></a></p></td>\n<td><p>4</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><a class=\"reference internal\" href=\"#django.contrib.gis.geos.MultiLineString\" title=\"django.contrib.gis.geos.MultiLineString\"><code class=\"xref py py-class docutils literal notranslate\">MultiLineString</code></a></p></td>\n<td><p>5</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><a class=\"reference internal\" href=\"#django.contrib.gis.geos.MultiPolygon\" title=\"django.contrib.gis.geos.MultiPolygon\"><code class=\"xref py py-class docutils literal notranslate\">MultiPolygon</code></a></p></td>\n<td><p>6</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><a class=\"reference internal\" href=\"#django.contrib.gis.geos.GeometryCollection\" title=\"django.contrib.gis.geos.GeometryCollection\"><code class=\"xref py py-class docutils literal notranslate\">GeometryCollection</code></a></p></td>\n<td><p>7</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.num_coords\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">num_coords</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.num_coords\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie le nombre de coordonnées de l’objet géométrique.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.num_geom\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">num_geom</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.num_geom\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie le nombre d’objets géométriques dans cet objet. En d’autres termes, le résultat sera 1 pour toute autre chose que les collections d’objets géométriques.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.hasz\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">hasz</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.hasz\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie une valeur booléenne indiquant si l’objet géométrique est en trois dimensions.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.ring\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">ring</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.ring\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie une valeur booléenne indiquant si l’objet géométrique est un <code class=\"docutils literal notranslate\">LinearRing</code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.simple\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">simple</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.simple\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie une valeur booléenne indiquant si l’objet géométrique est « simple ». Un objet géométrique est simple si et seulement s’il n’a pas d’intersection avec lui-même (excepté aux points limites). Par exemple, un objet <a class=\"reference internal\" href=\"#django.contrib.gis.geos.LineString\" title=\"django.contrib.gis.geos.LineString\"><code class=\"xref py py-class docutils literal notranslate\">LineString</code></a> n’est pas simple si sa ligne se croise elle-même. Par définition les objets <a class=\"reference internal\" href=\"#django.contrib.gis.geos.LinearRing\" title=\"django.contrib.gis.geos.LinearRing\"><code class=\"xref py py-class docutils literal notranslate\">LinearRing</code></a> et <a class=\"reference internal\" href=\"#django.contrib.gis.geos.Polygon\" title=\"django.contrib.gis.geos.Polygon\"><code class=\"xref py py-class docutils literal notranslate\">Polygon</code></a> sont toujours simples car ils ne peuvent pas avoir d’intersections avec eux-mêmes.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.valid\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">valid</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.valid\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie une valeur booléenne indiquant si l’objet géométrique est valide.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.valid_reason\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">valid_reason</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.valid_reason\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie une chaîne décrivant la raison pour laquelle un objet géométrique n’est pas valable.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.srid\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">srid</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.srid\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Propriété pouvant être utilisée pour récupérer ou définir le SRID associé à l’objet. Par 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>pnt <span class=\"o\">=</span> Point<span class=\"p\">(</span><span class=\"mi\">5</span><span class=\"p\">,</span> <span class=\"mi\">23</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>pnt<span class=\"o\">.</span>srid<span class=\"p\">)</span>\n<span class=\"go\">None</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>pnt<span class=\"o\">.</span>srid <span class=\"o\">=</span> <span class=\"mi\">4326</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>pnt<span class=\"o\">.</span>srid\n<span class=\"go\">4326</span>\n</code></pre></div>\n</dd></dl>\n\n</section>\n<section id=\"output-properties\">\n<h4>Propriétés en sortie<a class=\"heading-anchor\" href=\"#output-properties\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Les propriétés de cette section exportent l’objet <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a> sous une forme différente. Cette forme peut être une chaîne, un tampon mémoire ou même un autre objet.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.ewkt\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">ewkt</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.ewkt\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie le format WKT (Well-Known Text) étendu de l’objet géométrique. Cette représentation est spécifique à PostGIS et constitue un sur-ensemble du standard WKT OGC <a class=\"footnote-reference brackets\" href=\"#fnogc\" id=\"id5\" role=\"doc-noteref\"><span class=\"fn-bracket\">[</span>1<span class=\"fn-bracket\">]</span></a>. En bref, la représentation WKT est préfixée par le code SRID, par exemple <code class=\"docutils literal notranslate\">SRID=4326;POINT(5 23)</code>.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Le résultat de cette propriété n’inclut pas les informations 3dm, 3dz ou 4d que PostGIS prend en charge dans ses représentations EWKT.</p>\n</aside>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.hex\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">hex</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.hex\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie la représentation WKB de cet objet géométrique sous forme hexadécimale. Notez que la valeur SRID n’est pas incluse dans cette représentation car elle ne fait pas partie de la spécification OGC (utilisez plutôt la propriété <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry.hexewkb\" title=\"django.contrib.gis.geos.GEOSGeometry.hexewkb\"><code class=\"xref py py-attr docutils literal notranslate\">GEOSGeometry.hexewkb</code></a>).</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.hexewkb\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">hexewkb</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.hexewkb\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie la représentation EWKB de cet objet géométrique sous forme hexadécimale. Il s’agit d’une extension de la spécification WKB incluant la valeur SRID correspondant à l’objet géométrique.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.json\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">json</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.json\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie la représentation GeoJSON de l’objet géométrique. Notez que le résultat ne constitue pas une structure GeoJSON complète, mais seulement le contenu de la clé <code class=\"docutils literal notranslate\">geometry</code> d’une structure GeoJSON. Voir aussi <a class=\"reference internal\" href=\"/fr/2.0/ref/contrib/gis/serializers/\"><span class=\"doc\">Sérialisation GeoJSON</span></a>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.geojson\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">geojson</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.geojson\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Alias de <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry.json\" title=\"django.contrib.gis.geos.GEOSGeometry.json\"><code class=\"xref py py-attr docutils literal notranslate\">GEOSGeometry.json</code></a>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.kml\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">kml</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.kml\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie une représentation <a class=\"reference external\" href=\"https://developers.google.com/kml/documentation/\">KML</a> (Keyhole Markup Language) de cet objet géométrique. Ceci ne devrait être utilisé que pour des objets géométriques ayant le SRID 4326 (WGS84), mais cette restriction n’est pas forcée.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.ogr\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">ogr</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.ogr\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie un objet <a class=\"reference internal\" href=\"/fr/2.0/ref/contrib/gis/gdal/#django.contrib.gis.gdal.OGRGeometry\" title=\"django.contrib.gis.gdal.OGRGeometry\"><code class=\"xref py py-class docutils literal notranslate\">OGRGeometry</code></a> équivalent à l’objet géométrique GEOS.</p>\n</dd></dl>\n\n<dl class=\"py attribute\" id=\"wkb\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.wkb\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">wkb</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.wkb\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie la représentation WKB (Well-Known Binary) de cet objet géométrique sous forme de tampon Python (buffer). La valeur SRID n’est pas incluse. Si vous le souhaitez, utilisez plutôt la propriété <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry.ewkb\" title=\"django.contrib.gis.geos.GEOSGeometry.ewkb\"><code class=\"xref py py-attr docutils literal notranslate\">GEOSGeometry.ewkb</code></a>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\" id=\"ewkb\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.ewkb\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">ewkb</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.ewkb\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie la représentation EWKB de cet objet géométrique sous forme de tampon Python (buffer). Il s’agit d’une extension de la spécification WKB qui inclut toute valeur SRID faisant partie de cet objet.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.wkt\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">wkt</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.wkt\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie la représentation WKT (Well-Known Text) de cet objet géométrique (un standard OGC).</p>\n</dd></dl>\n\n</section>\n<section id=\"spatial-predicate-methods\">\n<h4>Méthodes de prédicats spatiaux<a class=\"heading-anchor\" href=\"#spatial-predicate-methods\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Toutes les méthodes de prédicats spatiaux ci-après acceptent en paramètre une autre instance <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a> (<code class=\"docutils literal notranslate\">other</code>) et renvoient une valeur booléenne.</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.contains\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">contains</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.contains\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie <code class=\"docutils literal notranslate\">True</code> si <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry.within\" title=\"django.contrib.gis.geos.GEOSGeometry.within\"><code class=\"xref py py-meth docutils literal notranslate\">other.within(this)</code></a> renvoie <code class=\"docutils literal notranslate\">True</code>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.covers\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">covers</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.covers\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie <code class=\"docutils literal notranslate\">True</code> si cet objet géométrique recouvre l’objet géométrique donné.</p>\n<p>Le prédicat <code class=\"docutils literal notranslate\">covers</code> possède les définitions équivalentes suivantes :</p>\n<ul class=\"simple\">\n<li><p>Chaque point de l’autre objet géométrique est un point de cet objet géométrique.</p></li>\n<li><p>La matrice d’intersection DE-9IM des deux objets géométriques est <code class=\"docutils literal notranslate\">T*****FF*</code>, <code class=\"docutils literal notranslate\">*T****FF*</code>, <code class=\"docutils literal notranslate\">***T**FF*</code> ou <code class=\"docutils literal notranslate\">****T*FF*</code>.</p></li>\n</ul>\n<p>Si l’un des objets géométriques est vide, renvoie <code class=\"docutils literal notranslate\">False</code>.</p>\n<p>Ce prédicat est semblable à <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry.contains\" title=\"django.contrib.gis.geos.GEOSGeometry.contains\"><code class=\"xref py py-meth docutils literal notranslate\">GEOSGeometry.contains()</code></a>, mais est plus inclusif (c’est-à-dire qu’il renvoie <code class=\"docutils literal notranslate\">True</code> dans plus de cas). En particulier, au contraire de <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry.contains\" title=\"django.contrib.gis.geos.GEOSGeometry.contains\"><code class=\"xref py py-meth docutils literal notranslate\">contains()</code></a>, il ne distingue pas entre les points à la limite et ceux à l’intérieur de l’objet géométrique. Dans la plupart des situations, <code class=\"docutils literal notranslate\">covers()</code> devrait être préféré à <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry.contains\" title=\"django.contrib.gis.geos.GEOSGeometry.contains\"><code class=\"xref py py-meth docutils literal notranslate\">contains()</code></a>. Comme bénéfice supplémentaire, <code class=\"docutils literal notranslate\">covers()</code> est plus sujet à l’optimisation et devrait donc être bien plus performant que <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry.contains\" title=\"django.contrib.gis.geos.GEOSGeometry.contains\"><code class=\"xref py py-meth docutils literal notranslate\">contains()</code></a>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.crosses\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">crosses</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.crosses\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie <code class=\"docutils literal notranslate\">True</code> si la matrice d’intersection DE-9IM des deux objets géométriques est <code class=\"docutils literal notranslate\">T*T******</code> (pour un point et une courbe, un point et une aire ou une ligne et une aire), ou <code class=\"docutils literal notranslate\">0********</code> (pour deux courbes).</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.disjoint\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">disjoint</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.disjoint\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie <code class=\"docutils literal notranslate\">True</code> si la matrice d’intersection DE-9IM des deux objets géométriques est <code class=\"docutils literal notranslate\">FF*FF****</code>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.equals\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">equals</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.equals\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie <code class=\"docutils literal notranslate\">True</code> si la matrice d’intersection DE-9IM des deux objets géométriques est <code class=\"docutils literal notranslate\">T*F**FFF*</code>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.equals_exact\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">equals_exact</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em>, <em class=\"sig-param\">tolerance<span class=\"o\">=</span><span class=\"default_value\">0</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.equals_exact\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie <code class=\"docutils literal notranslate\">True</code> si les deux objets géométriques sont exactement égaux, jusqu’à une certaine tolérance. La valeur de <code class=\"docutils literal notranslate\">tolerance</code> doit être un nombre à virgule représentant la tolérance d’erreur dans la comparaison. Par exemple, <code class=\"docutils literal notranslate\">poly1.equals_exact(poly2, 0.001)</code> compare l’égalité jusqu’à un millième d’unité.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.intersects\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">intersects</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.intersects\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie <code class=\"docutils literal notranslate\">True</code> si <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry.disjoint\" title=\"django.contrib.gis.geos.GEOSGeometry.disjoint\"><code class=\"xref py py-meth docutils literal notranslate\">GEOSGeometry.disjoint()</code></a> vaut <code class=\"docutils literal notranslate\">False</code>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.overlaps\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">overlaps</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.overlaps\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie <code class=\"docutils literal notranslate\">True</code> si la matrice d’intersection DE-9IM des deux objets géométriques est <code class=\"docutils literal notranslate\">T*T***T**</code> (pour deux points ou deux surfaces), ou <code class=\"docutils literal notranslate\">1*T***T**</code> (pour deux courbes).</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.relate_pattern\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">relate_pattern</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em>, <em class=\"sig-param\">pattern</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.relate_pattern\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie <code class=\"docutils literal notranslate\">True</code> si la matrice d’intersection DE-9IM des deux objets géométriques correspond au motif <code class=\"docutils literal notranslate\">pattern</code> donné, une chaîne de neuf caractères dans l’alphabet {<code class=\"docutils literal notranslate\">T</code>, <code class=\"docutils literal notranslate\">F</code>, <code class=\"docutils literal notranslate\">*</code>, <code class=\"docutils literal notranslate\">0</code>}.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.touches\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">touches</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.touches\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie <code class=\"docutils literal notranslate\">True</code> si la matrice d’intersection DE-9IM des deux objets géométriques est <code class=\"docutils literal notranslate\">FT*******</code>, <code class=\"docutils literal notranslate\">F**T*****</code> ou <code class=\"docutils literal notranslate\">F***T****</code>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.within\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">within</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.within\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie <code class=\"docutils literal notranslate\">True</code> si la matrice d’intersection DE-9IM des deux objets géométriques est <code class=\"docutils literal notranslate\">T*F**F***</code>.</p>\n</dd></dl>\n\n</section>\n<section id=\"topological-methods\">\n<h4>Méthodes topologiques<a class=\"heading-anchor\" href=\"#topological-methods\"><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.geos.GEOSGeometry.buffer\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">buffer</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">width</em>, <em class=\"sig-param\">quadsegs<span class=\"o\">=</span><span class=\"default_value\">8</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.buffer\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie un objet <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a> représentant tous les points dont la distance à cet objet géométrique est plus petit ou égal à la longueur <code class=\"docutils literal notranslate\">width</code> donnée. Le paramètre facultatif <code class=\"docutils literal notranslate\">quadsegs</code> définit le nombre de segments utilisés pour faire l’approximation d’un quart de cercle (8 par défaut).</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.difference\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">difference</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.difference\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie un objet <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a> représentant les points composants cet objet géométrique qui ne composent pas l’autre objet.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.interpolate\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">interpolate</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">distance</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.interpolate\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.interpolate_normalized\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">interpolate_normalized</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">distance</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.interpolate_normalized\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Étant donné une distance (nombre à virgule), renvoie le point (ou le point le plus proche) de l’objet géométrique (<a class=\"reference internal\" href=\"#django.contrib.gis.geos.LineString\" title=\"django.contrib.gis.geos.LineString\"><code class=\"xref py py-class docutils literal notranslate\">LineString</code></a> ou <a class=\"reference internal\" href=\"#django.contrib.gis.geos.MultiLineString\" title=\"django.contrib.gis.geos.MultiLineString\"><code class=\"xref py py-class docutils literal notranslate\">MultiLineString</code></a>) à cette distance. La version normalisée accepte une distance sous forme d’un nombre à virgule entre 0 (origine) et 1 (point terminal).</p>\n<p>Inverse de <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry.project\" title=\"django.contrib.gis.geos.GEOSGeometry.project\"><code class=\"xref py py-meth docutils literal notranslate\">GEOSGeometry.project()</code></a>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.intersection\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">intersection</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.intersection\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie un objet <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a> représentant les points partagés entre cet objet géométrique et l’objet <code class=\"docutils literal notranslate\">other</code>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.project\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">project</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">point</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.project\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.project_normalized\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">project_normalized</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">point</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.project_normalized\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie la distance (nombre à virgule) à partir de l’origine de l’objet géométrique (<a class=\"reference internal\" href=\"#django.contrib.gis.geos.LineString\" title=\"django.contrib.gis.geos.LineString\"><code class=\"xref py py-class docutils literal notranslate\">LineString</code></a> ou <a class=\"reference internal\" href=\"#django.contrib.gis.geos.MultiLineString\" title=\"django.contrib.gis.geos.MultiLineString\"><code class=\"xref py py-class docutils literal notranslate\">MultiLineString</code></a>) jusqu’au point projeté sur la géométrie (c’est-à-dire le point de la ligne le plus proche du point donné). La version normalisée renvoie la distance sous forme d’un nombre à virgule entre 0 (origine) et 1 (point terminal).</p>\n<p>Inverse de <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry.interpolate\" title=\"django.contrib.gis.geos.GEOSGeometry.interpolate\"><code class=\"xref py py-meth docutils literal notranslate\">GEOSGeometry.interpolate()</code></a>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.relate\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">relate</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.relate\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie la matrice d’intersection DE-9IM (une chaîne) représentant la relation topologique entre cet objet géométrique et l’objet en paramètre.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.simplify\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">simplify</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">tolerance<span class=\"o\">=</span><span class=\"default_value\">0.0</span></em>, <em class=\"sig-param\">preserve_topology<span class=\"o\">=</span><span class=\"default_value\">False</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.simplify\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie un nouvel objet <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a>, simplifié à la tolérance indiquée en utilisant l’algorithme Douglas-Peucker. Une plus haute valeur de tolérance produit moins de points dans le résultat. Si aucune tolérance n’est fournie, la valeur par défaut est 0.</p>\n<p>Par défaut, cette fonction ne préserve pas la topologie. Par exemple, les objets <a class=\"reference internal\" href=\"#django.contrib.gis.geos.Polygon\" title=\"django.contrib.gis.geos.Polygon\"><code class=\"xref py py-class docutils literal notranslate\">Polygon</code></a> peuvent être divisés, être fusionnés pour former des lignes ou carrément disparaître. Des trous de <a class=\"reference internal\" href=\"#django.contrib.gis.geos.Polygon\" title=\"django.contrib.gis.geos.Polygon\"><code class=\"xref py py-class docutils literal notranslate\">Polygon</code></a> peuvent apparaître ou disparaître et des lignes peuvent se croiser. En définissant <code class=\"docutils literal notranslate\">preserve_topology=True</code>, le résultat aura les mêmes dimensions et le même nombre de composants que l’objet de départ ; la fonction est cependant nettement plus lente.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.sym_difference\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">sym_difference</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.sym_difference\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie un objet <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a> formé des points de cet objet géométrique qui ne sont pas dans l’objet en paramètre, ainsi que des points dans l’objet en paramètre qui ne sont pas dans cet objet.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.union\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">union</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.union\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie un objet <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a> représentant tous les points de cet objet géométrique additionnés de ceux de l’objet en paramètre.</p>\n</dd></dl>\n\n</section>\n<section id=\"topological-properties\">\n<h4>Propriétés topologiques<a class=\"heading-anchor\" href=\"#topological-properties\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.boundary\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">boundary</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.boundary\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie les limites sous forme d’une nouvelle instance d’objet géométrique.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.centroid\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">centroid</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.centroid\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie un objet <a class=\"reference internal\" href=\"#django.contrib.gis.geos.Point\" title=\"django.contrib.gis.geos.Point\"><code class=\"xref py py-class docutils literal notranslate\">Point</code></a> représentant le centre géométrique de l’objet. Le point n’est pas assuré d’être à l’intérieur de l’objet géométrique.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.convex_hull\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">convex_hull</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.convex_hull\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie le plus petit <a class=\"reference internal\" href=\"#django.contrib.gis.geos.Polygon\" title=\"django.contrib.gis.geos.Polygon\"><code class=\"xref py py-class docutils literal notranslate\">Polygon</code></a> contenant tous les points de l’objet géométrique.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.envelope\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">envelope</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.envelope\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie un <a class=\"reference internal\" href=\"#django.contrib.gis.geos.Polygon\" title=\"django.contrib.gis.geos.Polygon\"><code class=\"xref py py-class docutils literal notranslate\">Polygon</code></a> qui représente l’enveloppe englobante de cet objet géométrique. Notez qu’un <a class=\"reference internal\" href=\"#django.contrib.gis.geos.Point\" title=\"django.contrib.gis.geos.Point\"><code class=\"xref py py-class docutils literal notranslate\">Point</code></a> peut aussi être renvoyé si l’objet en entrée est lui-même un point.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.point_on_surface\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">point_on_surface</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.point_on_surface\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Calcule et renvoie un <a class=\"reference internal\" href=\"#django.contrib.gis.geos.Point\" title=\"django.contrib.gis.geos.Point\"><code class=\"xref py py-class docutils literal notranslate\">Point</code></a> assuré d’être à l’intérieur de l’objet géométrique.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.unary_union\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">unary_union</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.unary_union\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Calcule l’union de tous les éléments de cet objet géométrique.</p>\n<p>Le résultat respecte le contrat suivant :</p>\n<ul class=\"simple\">\n<li><p>L’union d’un ensemble de <a class=\"reference internal\" href=\"#django.contrib.gis.geos.LineString\" title=\"django.contrib.gis.geos.LineString\"><code class=\"xref py py-class docutils literal notranslate\">LineString</code></a> procède à leur complète mise en nœuds et à la dissolution des lignes.</p></li>\n<li><p>L’union d’un ensemble de <a class=\"reference internal\" href=\"#django.contrib.gis.geos.Polygon\" title=\"django.contrib.gis.geos.Polygon\"><code class=\"xref py py-class docutils literal notranslate\">Polygon</code></a> renvoie toujours un objet géométrique <a class=\"reference internal\" href=\"#django.contrib.gis.geos.Polygon\" title=\"django.contrib.gis.geos.Polygon\"><code class=\"xref py py-class docutils literal notranslate\">Polygon</code></a> ou <a class=\"reference internal\" href=\"#django.contrib.gis.geos.MultiPolygon\" title=\"django.contrib.gis.geos.MultiPolygon\"><code class=\"xref py py-class docutils literal notranslate\">MultiPolygon</code></a> (au contraire de <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry.union\" title=\"django.contrib.gis.geos.GEOSGeometry.union\"><code class=\"xref py py-meth docutils literal notranslate\">GEOSGeometry.union()</code></a> qui peut renvoyer des géométries de plus faible dimension si un conflit de topologie se produit).</p></li>\n</ul>\n</dd></dl>\n\n</section>\n<section id=\"other-properties-methods\">\n<h4>Autres propriétés et méthodes<a class=\"heading-anchor\" href=\"#other-properties-methods\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.area\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">area</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.area\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Cette propriété renvoie l’aire de l’objet géométrique.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.extent\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">extent</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.extent\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Cette propriété renvoie l’étendue de cet objet géométrique sous forme d’un tuple à 4 éléments, formé de <code class=\"docutils literal notranslate\">(xmin, ymin, xmax, ymax)</code>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.clone\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">clone</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.clone\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Cette méthode renvoie un objet <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a> clone de l’original.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.distance\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">distance</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.geos.GEOSGeometry.distance\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie la distance entre les points les plus proches de cet objet géométrique et l’objet <code class=\"docutils literal notranslate\">geom</code> (un autre objet <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a>).</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Les calculs de distance GEOS sont linéaires ; en d’autres termes, GEOS n’effectue pas de calculs sphériques même si le SRID définit un système de coordonnées géographique.</p>\n</aside>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.length\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">length</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.length\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie la longueur de cet objet géométrique (par ex. 0 pour un <a class=\"reference internal\" href=\"#django.contrib.gis.geos.Point\" title=\"django.contrib.gis.geos.Point\"><code class=\"xref py py-class docutils literal notranslate\">Point</code></a>, la longueur d’une ligne <a class=\"reference internal\" href=\"#django.contrib.gis.geos.LineString\" title=\"django.contrib.gis.geos.LineString\"><code class=\"xref py py-class docutils literal notranslate\">LineString</code></a> ou la circonférence d’un <a class=\"reference internal\" href=\"#django.contrib.gis.geos.Polygon\" title=\"django.contrib.gis.geos.Polygon\"><code class=\"xref py py-class docutils literal notranslate\">Polygon</code></a>).</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.prepared\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">prepared</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.prepared\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie un objet GEOS <code class=\"docutils literal notranslate\">PreparedGeometry</code> relatif au contenu de cet objet géométrique. Les objets <code class=\"docutils literal notranslate\">PreparedGeometry</code> sont optimisés pour les opérations contains, intersects, covers, crosses, disjoint, overlaps, touches et within. Référez-vous à la documentation <a class=\"reference internal\" href=\"#prepared-geometries\"><span class=\"std std-ref\">Objets géométriques préparés</span></a> pour plus d’informations.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.srs\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">srs</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.srs\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie un objet <a class=\"reference internal\" href=\"/fr/2.0/ref/contrib/gis/gdal/#django.contrib.gis.gdal.SpatialReference\" title=\"django.contrib.gis.gdal.SpatialReference\"><code class=\"xref py py-class docutils literal notranslate\">SpatialReference</code></a> correspondant au SRID de l’objet géométrique ou .</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.transform\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">transform</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">ct</em>, <em class=\"sig-param\">clone<span class=\"o\">=</span><span class=\"default_value\">False</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.transform\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Transforme l’objet géométrique en fonction du paramètre de transformation de coordonnées donné (<code class=\"docutils literal notranslate\">ct</code>), qui peut être un numéro de SRID, une chaîne de référence spatiale WKT, une chaîne PROJ.4, un objet <a class=\"reference internal\" href=\"/fr/2.0/ref/contrib/gis/gdal/#django.contrib.gis.gdal.SpatialReference\" title=\"django.contrib.gis.gdal.SpatialReference\"><code class=\"xref py py-class docutils literal notranslate\">SpatialReference</code></a> ou un objet <a class=\"reference internal\" href=\"/fr/2.0/ref/contrib/gis/gdal/#django.contrib.gis.gdal.CoordTransform\" title=\"django.contrib.gis.gdal.CoordTransform\"><code class=\"xref py py-class docutils literal notranslate\">CoordTransform</code></a>. Par défaut, l’objet géométrique est transformé lui-même et rien n’est renvoyé. Cependant, quand le paramètre <code class=\"docutils literal notranslate\">clone</code> est défini, l’objet géométrique n’est pas modifié et c’est un clone transformé de l’objet géométrique qui est renvoyé.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Génère une exception <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSException\" title=\"django.contrib.gis.geos.GEOSException\"><code class=\"xref py py-class docutils literal notranslate\">GEOSException</code></a> si GDAL n’est pas disponible ou si la valeur SRID de l’objet géométrique est <code class=\"docutils literal notranslate\">None</code> ou plus petite que 0. Aucune contrainte n’est imposée pour le code SRID de l’objet géométrique quand elle est appelée avec un objet <a class=\"reference internal\" href=\"/fr/2.0/ref/contrib/gis/gdal/#django.contrib.gis.gdal.CoordTransform\" title=\"django.contrib.gis.gdal.CoordTransform\"><code class=\"xref py py-class docutils literal notranslate\">CoordTransform</code></a>.</p>\n</aside>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSGeometry.normalize\">\n<span class=\"sig-prename descclassname\">GEOSGeometry.</span><span class=\"sig-name descname\">normalize</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSGeometry.normalize\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Convertit cet objet géométrique sous sa forme canonique :</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>g <span class=\"o\">=</span> MultiPoint<span class=\"p\">(</span>Point<span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> Point<span class=\"p\">(</span><span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"mi\">2</span><span class=\"p\">),</span> Point<span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>g<span class=\"p\">)</span>\n<span class=\"go\">MULTIPOINT (0 0, 2 2, 1 1)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>g<span class=\"o\">.</span>normalize<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>g<span class=\"p\">)</span>\n<span class=\"go\">MULTIPOINT (2 2, 1 1, 0 0)</span>\n</code></pre></div>\n</dd></dl>\n\n</section>\n</section>\n<section id=\"point\">\n<h3><code class=\"docutils literal notranslate\">Point</code><a class=\"heading-anchor\" href=\"#point\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.Point\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">Point</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">x<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">y<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">z<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">srid<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.Point\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Les objets <code class=\"docutils literal notranslate\">Point</code> sont créés en utilisant des paramètres représentant les composantes de coordonnées du point ou une suite unique de coordonnées. Par exemple, les lignes suivantes sont équivalentes :</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> Point<span class=\"p\">(</span><span class=\"mi\">5</span><span class=\"p\">,</span> <span class=\"mi\">23</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>pnt <span class=\"o\">=</span> Point<span class=\"p\">([</span><span class=\"mi\">5</span><span class=\"p\">,</span> <span class=\"mi\">23</span><span class=\"p\">])</span>\n</code></pre></div>\n<p>Des objets <code class=\"docutils literal notranslate\">Point</code> vides peuvent être instanciés en ne passant aucun paramètre ou une liste vide. Ces lignes sont équivalentes :</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> Point<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>pnt <span class=\"o\">=</span> Point<span class=\"p\">([])</span>\n</code></pre></div>\n</dd></dl>\n\n</section>\n<section id=\"linestring\">\n<h3><code class=\"docutils literal notranslate\">LineString</code><a class=\"heading-anchor\" href=\"#linestring\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.LineString\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">LineString</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.geos.LineString\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Les objets <code class=\"docutils literal notranslate\">LineString</code> sont créés en utilisant des paramètres représentant une suite de coordonnées ou une suite d’objets <a class=\"reference internal\" href=\"#django.contrib.gis.geos.Point\" title=\"django.contrib.gis.geos.Point\"><code class=\"xref py py-class docutils literal notranslate\">Point</code></a>. Par exemple, les lignes suivantes sont équivalentes</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>ls <span class=\"o\">=</span> LineString<span class=\"p\">((</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>ls <span class=\"o\">=</span> LineString<span class=\"p\">(</span>Point<span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> Point<span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">))</span>\n</code></pre></div>\n<p>De plus, les objets <code class=\"docutils literal notranslate\">LineString</code> peuvent aussi être créés en passant une seule liste de coordonnées ou d’objets <a class=\"reference internal\" href=\"#django.contrib.gis.geos.Point\" title=\"django.contrib.gis.geos.Point\"><code class=\"xref py py-class docutils literal notranslate\">Point</code></a>:</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>ls <span class=\"o\">=</span> LineString<span class=\"p\">(</span> <span class=\"p\">((</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">))</span> <span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>ls <span class=\"o\">=</span> LineString<span class=\"p\">(</span> <span class=\"p\">[</span>Point<span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> Point<span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">)]</span> <span class=\"p\">)</span>\n</code></pre></div>\n<p>Des objets <code class=\"docutils literal notranslate\">LineString</code> vides peuvent être instanciés en ne passant aucun paramètre ou une liste vide. Ces lignes sont équivalentes :</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>ls <span class=\"o\">=</span> LineString<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>ls <span class=\"o\">=</span> LineString<span class=\"p\">([])</span>\n</code></pre></div>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.LineString.closed\">\n<span class=\"sig-name descname\">closed</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.LineString.closed\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Indique si cette ligne <code class=\"docutils literal notranslate\">LineString</code> est fermée.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"linearring\">\n<h3><code class=\"docutils literal notranslate\">LinearRing</code><a class=\"heading-anchor\" href=\"#linearring\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.LinearRing\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">LinearRing</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.geos.LinearRing\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Les objets <code class=\"docutils literal notranslate\">LinearRing</code> sont construits de la même manière que les objets <a class=\"reference internal\" href=\"#django.contrib.gis.geos.LineString\" title=\"django.contrib.gis.geos.LineString\"><code class=\"xref py py-class docutils literal notranslate\">LineString</code></a>. Cependant, les coordonnées doivent être <em>fermées</em>, c’est-à-dire que la première et la dernière coordonnée doivent être identiques. Par 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>ls <span class=\"o\">=</span> LinearRing<span class=\"p\">((</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">))</span>\n</code></pre></div>\n<p>Remarquez que <code class=\"docutils literal notranslate\">(0, 0)</code> est à la fois la première et la dernière coordonnée ; si elles ne sont pas égales, une erreur est générée.</p>\n</dd></dl>\n\n</section>\n<section id=\"polygon\">\n<h3><code class=\"docutils literal notranslate\">Polygon</code><a class=\"heading-anchor\" href=\"#polygon\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.Polygon\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">Polygon</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.geos.Polygon\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Les objets <code class=\"docutils literal notranslate\">Polygon</code> peuvent être créés en passant des paramètres représentant les segments du polygone. Les paramètres doivent être soit des instances de segments <a class=\"reference internal\" href=\"#django.contrib.gis.geos.LinearRing\" title=\"django.contrib.gis.geos.LinearRing\"><code class=\"xref py py-class docutils literal notranslate\">LinearRing</code></a>, soit une suite d’éléments pouvant être utilisée pour construire un segment <a class=\"reference internal\" href=\"#django.contrib.gis.geos.LinearRing\" title=\"django.contrib.gis.geos.LinearRing\"><code class=\"xref py py-class docutils literal notranslate\">LinearRing</code></a>:</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>ext_coords <span class=\"o\">=</span> <span class=\"p\">((</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>int_coords <span class=\"o\">=</span> <span class=\"p\">((</span><span class=\"mf\">0.4</span><span class=\"p\">,</span> <span class=\"mf\">0.4</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mf\">0.4</span><span class=\"p\">,</span> <span class=\"mf\">0.6</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mf\">0.6</span><span class=\"p\">,</span> <span class=\"mf\">0.6</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mf\">0.6</span><span class=\"p\">,</span> <span class=\"mf\">0.4</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mf\">0.4</span><span class=\"p\">,</span> <span class=\"mf\">0.4</span><span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>poly <span class=\"o\">=</span> Polygon<span class=\"p\">(</span>ext_coords<span class=\"p\">,</span> int_coords<span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>poly <span class=\"o\">=</span> Polygon<span class=\"p\">(</span>LinearRing<span class=\"p\">(</span>ext_coords<span class=\"p\">),</span> LinearRing<span class=\"p\">(</span>int_coords<span class=\"p\">))</span>\n</code></pre></div>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.Polygon.from_bbox\">\n<em class=\"property\"><span class=\"k\">classmethod</span> </em><span class=\"sig-name descname\">from_bbox</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">bbox</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.Polygon.from_bbox\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie un objet polygone à partir du rectangle englobant donné, un tuple à 4 éléments comprenant <code class=\"docutils literal notranslate\">(xmin, ymin, xmax, ymax)</code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.Polygon.num_interior_rings\">\n<span class=\"sig-name descname\">num_interior_rings</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.Polygon.num_interior_rings\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie le nombre de segments intérieurs de cet objet géométrique.</p>\n</dd></dl>\n\n</dd></dl>\n\n<aside class=\"admonition-comparing-polygons admonition\" role=\"note\">\n<p class=\"admonition-title\">Comparaison de polygones</p>\n<p>Notez qu’il est possible de comparer des objets <code class=\"docutils literal notranslate\">Polygon</code> directement avec <code class=\"docutils literal notranslate\">&lt;</code> or <code class=\"docutils literal notranslate\">&gt;</code>, mais comme la comparaison se fait à travers les segments <a class=\"reference internal\" href=\"#django.contrib.gis.geos.LineString\" title=\"django.contrib.gis.geos.LineString\"><code class=\"xref py py-class docutils literal notranslate\">LineString</code></a> du polygone, cela n’a pas grande signification (mais c’est cohérent et rapide). Vous pouvez toujours forcer la comparaison avec la propriété <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry.area\" title=\"django.contrib.gis.geos.GEOSGeometry.area\"><code class=\"xref py py-attr docutils literal notranslate\">area</code></a>:</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=\"k\">if</span> poly_1<span class=\"o\">.</span>area <span class=\"o\">&gt;</span> poly_2<span class=\"o\">.</span>area<span class=\"p\">:</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>    <span class=\"k\">pass</span>\n</code></pre></div>\n</aside>\n</section>\n</section>\n<section id=\"geometry-collections\">\n<h2>Collections géométriques<a class=\"heading-anchor\" href=\"#geometry-collections\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"multipoint\">\n<h3><code class=\"docutils literal notranslate\">MultiPoint</code><a class=\"heading-anchor\" href=\"#multipoint\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.MultiPoint\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">MultiPoint</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.geos.MultiPoint\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Les objets <code class=\"docutils literal notranslate\">MultiPoint</code> peuvent être créés en passant des objets <a class=\"reference internal\" href=\"#django.contrib.gis.geos.Point\" title=\"django.contrib.gis.geos.Point\"><code class=\"xref py py-class docutils literal notranslate\">Point</code></a> en paramètres ou une seule liste d’objets <a class=\"reference internal\" href=\"#django.contrib.gis.geos.Point\" title=\"django.contrib.gis.geos.Point\"><code class=\"xref py py-class docutils literal notranslate\">Point</code></a>:</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>mp <span class=\"o\">=</span> MultiPoint<span class=\"p\">(</span>Point<span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> Point<span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>mp <span class=\"o\">=</span> MultiPoint<span class=\"p\">(</span> <span class=\"p\">(</span>Point<span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> Point<span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">))</span> <span class=\"p\">)</span>\n</code></pre></div>\n</dd></dl>\n\n</section>\n<section id=\"multilinestring\">\n<h3><code class=\"docutils literal notranslate\">MultiLineString</code><a class=\"heading-anchor\" href=\"#multilinestring\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.MultiLineString\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">MultiLineString</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.geos.MultiLineString\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Les objets <code class=\"docutils literal notranslate\">MultiLineString</code> peuvent être créés en passant des objets <a class=\"reference internal\" href=\"#django.contrib.gis.geos.LineString\" title=\"django.contrib.gis.geos.LineString\"><code class=\"xref py py-class docutils literal notranslate\">LineString</code></a> en paramètres ou une seule liste d’objets <a class=\"reference internal\" href=\"#django.contrib.gis.geos.LineString\" title=\"django.contrib.gis.geos.LineString\"><code class=\"xref py py-class docutils literal notranslate\">LineString</code></a>:</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>ls1 <span class=\"o\">=</span> LineString<span class=\"p\">((</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>ls2 <span class=\"o\">=</span> LineString<span class=\"p\">((</span><span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"mi\">2</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">3</span><span class=\"p\">,</span> <span class=\"mi\">3</span><span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>mls <span class=\"o\">=</span> MultiLineString<span class=\"p\">(</span>ls1<span class=\"p\">,</span> ls2<span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>mls <span class=\"o\">=</span> MultiLineString<span class=\"p\">([</span>ls1<span class=\"p\">,</span> ls2<span class=\"p\">])</span>\n</code></pre></div>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.MultiLineString.merged\">\n<span class=\"sig-name descname\">merged</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.MultiLineString.merged\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie une ligne <a class=\"reference internal\" href=\"#django.contrib.gis.geos.LineString\" title=\"django.contrib.gis.geos.LineString\"><code class=\"xref py py-class docutils literal notranslate\">LineString</code></a> représentant la fusion de tous les composants de cet objet</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.MultiLineString.closed\">\n<span class=\"sig-name descname\">closed</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.MultiLineString.closed\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie <code class=\"docutils literal notranslate\">True</code> si et seulement si tous les éléments sont fermés. Nécessite GEOS 3.5.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"multipolygon\">\n<h3><code class=\"docutils literal notranslate\">MultiPolygon</code><a class=\"heading-anchor\" href=\"#multipolygon\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.MultiPolygon\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">MultiPolygon</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.geos.MultiPolygon\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Les objets <code class=\"docutils literal notranslate\">MultiPolygon</code> peuvent être créés en passant des objets <a class=\"reference internal\" href=\"#django.contrib.gis.geos.Polygon\" title=\"django.contrib.gis.geos.Polygon\"><code class=\"xref py py-class docutils literal notranslate\">Polygon</code></a> en paramètres ou une seule liste d’objets <a class=\"reference internal\" href=\"#django.contrib.gis.geos.Polygon\" title=\"django.contrib.gis.geos.Polygon\"><code class=\"xref py py-class docutils literal notranslate\">Polygon</code></a>:</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>p1 <span class=\"o\">=</span> Polygon<span class=\"p\">(</span> <span class=\"p\">((</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">))</span> <span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>p2 <span class=\"o\">=</span> Polygon<span class=\"p\">(</span> <span class=\"p\">((</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">2</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"mi\">2</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">))</span> <span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>mp <span class=\"o\">=</span> MultiPolygon<span class=\"p\">(</span>p1<span class=\"p\">,</span> p2<span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>mp <span class=\"o\">=</span> MultiPolygon<span class=\"p\">([</span>p1<span class=\"p\">,</span> p2<span class=\"p\">])</span>\n</code></pre></div>\n</dd></dl>\n\n</section>\n<section id=\"geometrycollection\">\n<h3><code class=\"docutils literal notranslate\">GeometryCollection</code><a class=\"heading-anchor\" href=\"#geometrycollection\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GeometryCollection\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">GeometryCollection</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.geos.GeometryCollection\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Les objets <code class=\"docutils literal notranslate\">GeometryCollection</code> peuvent être créés en passant des objets <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a> en paramètres ou une seule liste d’objets <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a>:</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>poly <span class=\"o\">=</span> Polygon<span class=\"p\">(</span> <span class=\"p\">((</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">),</span> <span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">))</span> <span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>gc <span class=\"o\">=</span> GeometryCollection<span class=\"p\">(</span>Point<span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> MultiPoint<span class=\"p\">(</span>Point<span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> Point<span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">)),</span> poly<span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>gc <span class=\"o\">=</span> GeometryCollection<span class=\"p\">((</span>Point<span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> MultiPoint<span class=\"p\">(</span>Point<span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> Point<span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">)),</span> poly<span class=\"p\">))</span>\n</code></pre></div>\n</dd></dl>\n\n</section>\n</section>\n<section id=\"prepared-geometries\">\n<span id=\"id7\"></span><h2>Objets géométriques préparés<a class=\"heading-anchor\" href=\"#prepared-geometries\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Pour obtenir un objet géométrique préparé, il suffit d’accéder à la propriété <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry.prepared\" title=\"django.contrib.gis.geos.GEOSGeometry.prepared\"><code class=\"xref py py-attr docutils literal notranslate\">GEOSGeometry.prepared</code></a>. Avec une instance <code class=\"docutils literal notranslate\">PreparedGeometry</code>, il est possible d’utiliser ses méthodes de prédicats spatiaux énumérées ci-dessous avec d’autres objets <code class=\"docutils literal notranslate\">GEOSGeometry</code>. Une opération sur un objet géométrique préparé peut être beaucoup plus rapide ; plus l’objet géométrique est complexe, plus grand sera le gain de rapidité pour l’opération. Pour plus d’informations, consultez la <a class=\"reference external\" href=\"https://trac.osgeo.org/geos/wiki/PreparedGeometry\">page du wiki GEOS sur les objets géométriques préparés</a>.</p>\n<p>Par 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.geos</span> <span class=\"kn\">import</span> Point<span class=\"p\">,</span> Polygon\n<span class=\"gp\">&gt;&gt;&gt; </span>poly <span class=\"o\">=</span> Polygon<span class=\"o\">.</span>from_bbox<span class=\"p\">((</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">5</span><span class=\"p\">,</span> <span class=\"mi\">5</span><span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>prep_poly <span class=\"o\">=</span> poly<span class=\"o\">.</span>prepared\n<span class=\"gp\">&gt;&gt;&gt; </span>prep_poly<span class=\"o\">.</span>contains<span class=\"p\">(</span>Point<span class=\"p\">(</span><span class=\"mf\">2.5</span><span class=\"p\">,</span> <span class=\"mf\">2.5</span><span class=\"p\">))</span>\n<span class=\"go\">True</span>\n</code></pre></div>\n<section id=\"preparedgeometry\">\n<h3><code class=\"docutils literal notranslate\">PreparedGeometry</code><a class=\"heading-anchor\" href=\"#preparedgeometry\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.PreparedGeometry\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">PreparedGeometry</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.PreparedGeometry\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Toutes les méthodes des objets <code class=\"docutils literal notranslate\">PreparedGeometry</code> acceptent un paramètre <code class=\"docutils literal notranslate\">other</code> (autre) qui doit représenter une instance <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a>.</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.PreparedGeometry.contains\">\n<span class=\"sig-name descname\">contains</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.PreparedGeometry.contains\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.PreparedGeometry.contains_properly\">\n<span class=\"sig-name descname\">contains_properly</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.PreparedGeometry.contains_properly\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.PreparedGeometry.covers\">\n<span class=\"sig-name descname\">covers</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.PreparedGeometry.covers\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.PreparedGeometry.crosses\">\n<span class=\"sig-name descname\">crosses</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.PreparedGeometry.crosses\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.PreparedGeometry.disjoint\">\n<span class=\"sig-name descname\">disjoint</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.PreparedGeometry.disjoint\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.PreparedGeometry.intersects\">\n<span class=\"sig-name descname\">intersects</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.PreparedGeometry.intersects\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.PreparedGeometry.overlaps\">\n<span class=\"sig-name descname\">overlaps</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.PreparedGeometry.overlaps\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.PreparedGeometry.touches\">\n<span class=\"sig-name descname\">touches</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.PreparedGeometry.touches\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.PreparedGeometry.within\">\n<span class=\"sig-name descname\">within</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">other</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.PreparedGeometry.within\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n</dd></dl>\n\n</section>\n</section>\n<section id=\"geometry-factories\">\n<h2>Fabrication d’objets géométriques<a class=\"heading-anchor\" href=\"#geometry-factories\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.fromfile\">\n<span class=\"sig-name descname\">fromfile</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">file_h</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.fromfile\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><dl class=\"field-list simple\">\n<dt class=\"field-odd\">Paramètres<span class=\"colon\">:</span></dt>\n<dd class=\"field-odd\"><p><strong>file_h</strong> (a Python <code class=\"docutils literal notranslate\">file</code> object or a string path to the file) – Fichier d’entrée contenant des données spatiales</p>\n</dd>\n<dt class=\"field-even\">Type renvoyé<span class=\"colon\">:</span></dt>\n<dd class=\"field-even\"><p>un objet <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a> correspondant aux données spatiales du fichier</p>\n</dd>\n</dl>\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.geos</span> <span class=\"kn\">import</span> fromfile\n<span class=\"gp\">&gt;&gt;&gt; </span>g <span class=\"o\">=</span> fromfile<span class=\"p\">(</span><span class=\"s1\">&#39;/home/bob/geom.wkt&#39;</span><span class=\"p\">)</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.fromstr\">\n<span class=\"sig-name descname\">fromstr</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">string</em>, <em class=\"sig-param\">srid<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.fromstr\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><dl class=\"field-list simple\">\n<dt class=\"field-odd\">Paramètres<span class=\"colon\">:</span></dt>\n<dd class=\"field-odd\"><ul class=\"simple\">\n<li><p><strong>string</strong> (<a class=\"reference external\" href=\"https://docs.python.org/3/library/stdtypes.html#str\" title=\"(disponible dans Python v3.14)\"><em>str</em></a>) – chaîne contenant des données spatiales</p></li>\n<li><p><strong>srid</strong> (<a class=\"reference external\" href=\"https://docs.python.org/3/library/functions.html#int\" title=\"(disponible dans Python v3.14)\"><em>int</em></a>) – identifiant de référence spatiale</p></li>\n</ul>\n</dd>\n<dt class=\"field-even\">Type renvoyé<span class=\"colon\">:</span></dt>\n<dd class=\"field-even\"><p>un objet <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a> correspondant aux données spatiales de la chaîne</p>\n</dd>\n</dl>\n<p><code class=\"docutils literal notranslate\">fromstr(string, srid)</code> est équivalente à <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry(string, srid)</code></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><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.contrib.gis.geos</span> <span class=\"kn\">import</span> fromstr\n<span class=\"gp\">&gt;&gt;&gt; </span>pnt <span class=\"o\">=</span> fromstr<span class=\"p\">(</span><span class=\"s1\">&#39;POINT(-90.5 29.5)&#39;</span><span class=\"p\">,</span> srid<span class=\"o\">=</span><span class=\"mi\">4326</span><span class=\"p\">)</span>\n</code></pre></div>\n</dd></dl>\n\n</section>\n<section id=\"i-o-objects\">\n<h2>Objets d’entrées/sorties<a class=\"heading-anchor\" href=\"#i-o-objects\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"reader-objects\">\n<h3>Objets de lecture<a class=\"heading-anchor\" href=\"#reader-objects\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Les classes d’entrées/sorties en lecture renvoient simplement une instance <a class=\"reference internal\" href=\"#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\">GEOSGeometry</code></a> à partir du contenu WKB ou WKT en entrée en fonction de leur méthode <code class=\"docutils literal notranslate\">read(geom)</code>.</p>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.WKBReader\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">WKBReader</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.WKBReader\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><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.geos</span> <span class=\"kn\">import</span> WKBReader\n<span class=\"gp\">&gt;&gt;&gt; </span>wkb_r <span class=\"o\">=</span> WKBReader<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkb_r<span class=\"o\">.</span>read<span class=\"p\">(</span><span class=\"s1\">&#39;0101000000000000000000F03F000000000000F03F&#39;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;Point object at 0x103a88910&gt;</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.WKTReader\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">WKTReader</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.WKTReader\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><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.geos</span> <span class=\"kn\">import</span> WKTReader\n<span class=\"gp\">&gt;&gt;&gt; </span>wkt_r <span class=\"o\">=</span> WKTReader<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkt_r<span class=\"o\">.</span>read<span class=\"p\">(</span><span class=\"s1\">&#39;POINT(1 1)&#39;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;Point object at 0x103a88b50&gt;</span>\n</code></pre></div>\n</dd></dl>\n\n</section>\n<section id=\"writer-objects\">\n<h3>Objets d’écriture<a class=\"heading-anchor\" href=\"#writer-objects\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Tous les objets d’écriture ont une méthode <code class=\"docutils literal notranslate\">write(geom)</code> qui renvoie la représentation WKB ou WKT de l’objet géométrique concerné. De plus, les objets <a class=\"reference internal\" href=\"#django.contrib.gis.geos.WKBWriter\" title=\"django.contrib.gis.geos.WKBWriter\"><code class=\"xref py py-class docutils literal notranslate\">WKBWriter</code></a> ont aussi des propriétés pouvant être utilisées pour changer l’ordre des octets et d’inclure la valeur SRID (autrement dit, du contenu EWKB).</p>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.WKBWriter\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">WKBWriter</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">dim<span class=\"o\">=</span><span class=\"default_value\">2</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.WKBWriter\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">WKBWriter</code> offre le plus de contrôle sur le contenu produit. Par défaut, il renvoie du contenu WKB conforme OGC lorsqu’on appelle sa méthode <code class=\"docutils literal notranslate\">write</code>. Cependant, il possède des propriétés permettant la production de format EWKB, un sur-ensemble du standard WKB qui inclut des informations supplémentaires. Voir la documentation <a class=\"reference internal\" href=\"#django.contrib.gis.geos.WKBWriter.outdim\" title=\"django.contrib.gis.geos.WKBWriter.outdim\"><code class=\"xref py py-attr docutils literal notranslate\">WKBWriter.outdim</code></a> pour plus de détails sur le paramètre <code class=\"docutils literal notranslate\">dim</code>.</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.WKBWriter.write\">\n<span class=\"sig-name descname\">write</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.geos.WKBWriter.write\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Renvoie la représentation WKB de l’objet géométrique sous forme d’objet Python <code class=\"docutils literal notranslate\">buffer</code>. 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.geos</span> <span class=\"kn\">import</span> Point<span class=\"p\">,</span> WKBWriter\n<span class=\"gp\">&gt;&gt;&gt; </span>pnt <span class=\"o\">=</span> Point<span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkb_w <span class=\"o\">=</span> WKBWriter<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkb_w<span class=\"o\">.</span>write<span class=\"p\">(</span>pnt<span class=\"p\">)</span>\n<span class=\"go\">&lt;read-only buffer for 0x103a898f0, size -1, offset 0 at 0x103a89930&gt;</span>\n</code></pre></div>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.WKBWriter.write_hex\">\n<span class=\"sig-name descname\">write_hex</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.geos.WKBWriter.write_hex\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Renvoie la représentation WKB de l’objet géométrique sous forme hexadécimale. 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.geos</span> <span class=\"kn\">import</span> Point<span class=\"p\">,</span> WKBWriter\n<span class=\"gp\">&gt;&gt;&gt; </span>pnt <span class=\"o\">=</span> Point<span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkb_w <span class=\"o\">=</span> WKBWriter<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkb_w<span class=\"o\">.</span>write_hex<span class=\"p\">(</span>pnt<span class=\"p\">)</span>\n<span class=\"go\">&#39;0101000000000000000000F03F000000000000F03F&#39;</span>\n</code></pre></div>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.WKBWriter.byteorder\">\n<span class=\"sig-name descname\">byteorder</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.WKBWriter.byteorder\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Cette propriété peut être définie pour changer l’ordre des octets de la représentation 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>Valeur <code class=\"docutils literal notranslate\">byteorder</code></p></th>\n<th class=\"head\"><p>Description</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>0</p></td>\n<td><p>Gros-boutiste (big endian, compatible avec les systèmes RISC)</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>1</p></td>\n<td><p>Petit-boutiste (little endian, compatible avec les systèmes x86)</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.geos</span> <span class=\"kn\">import</span> Point<span class=\"p\">,</span> WKBWriter\n<span class=\"gp\">&gt;&gt;&gt; </span>wkb_w <span class=\"o\">=</span> WKBWriter<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>pnt <span class=\"o\">=</span> Point<span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkb_w<span class=\"o\">.</span>write_hex<span class=\"p\">(</span>pnt<span class=\"p\">)</span>\n<span class=\"go\">&#39;0101000000000000000000F03F000000000000F03F&#39;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkb_w<span class=\"o\">.</span>byteorder <span class=\"o\">=</span> <span class=\"mi\">0</span>\n<span class=\"go\">&#39;00000000013FF00000000000003FF0000000000000&#39;</span>\n</code></pre></div>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.WKBWriter.outdim\">\n<span class=\"sig-name descname\">outdim</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.WKBWriter.outdim\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Cette propriété peut être définie pour changer les dimensions du résultat de la représentation géométrique. En d’autres termes, si vous avez un objet 3D, définir cette valeur à 3 permet d’inclure la dimension Z dans le format WKB.</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>Valeur <code class=\"docutils literal notranslate\">outdim</code></p></th>\n<th class=\"head\"><p>Description</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>2</p></td>\n<td><p>Par défaut, produit du contenu WKB en 2D.</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>3</p></td>\n<td><p>Produit du contenu WKB en 3D.</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.geos</span> <span class=\"kn\">import</span> Point<span class=\"p\">,</span> WKBWriter\n<span class=\"gp\">&gt;&gt;&gt; </span>wkb_w <span class=\"o\">=</span> WKBWriter<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkb_w<span class=\"o\">.</span>outdim\n<span class=\"go\">2</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>pnt <span class=\"o\">=</span> Point<span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkb_w<span class=\"o\">.</span>write_hex<span class=\"p\">(</span>pnt<span class=\"p\">)</span> <span class=\"c1\"># By default, no Z value included:</span>\n<span class=\"go\">&#39;0101000000000000000000F03F000000000000F03F&#39;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkb_w<span class=\"o\">.</span>outdim <span class=\"o\">=</span> <span class=\"mi\">3</span> <span class=\"c1\"># Tell writer to include Z values</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkb_w<span class=\"o\">.</span>write_hex<span class=\"p\">(</span>pnt<span class=\"p\">)</span>\n<span class=\"go\">&#39;0101000080000000000000F03F000000000000F03F000000000000F03F&#39;</span>\n</code></pre></div>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.WKBWriter.srid\">\n<span class=\"sig-name descname\">srid</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.WKBWriter.srid\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Définissez cette propriété avec une valeur booléenne pour indiquer si le code SRID de l’objet géométrique doit être inclus dans la représentation WKB. 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.geos</span> <span class=\"kn\">import</span> Point<span class=\"p\">,</span> WKBWriter\n<span class=\"gp\">&gt;&gt;&gt; </span>wkb_w <span class=\"o\">=</span> WKBWriter<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>pnt <span class=\"o\">=</span> Point<span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> srid<span class=\"o\">=</span><span class=\"mi\">4326</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkb_w<span class=\"o\">.</span>write_hex<span class=\"p\">(</span>pnt<span class=\"p\">)</span> <span class=\"c1\"># By default, no SRID included:</span>\n<span class=\"go\">&#39;0101000000000000000000F03F000000000000F03F&#39;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkb_w<span class=\"o\">.</span>srid <span class=\"o\">=</span> <span class=\"kc\">True</span> <span class=\"c1\"># Tell writer to include SRID</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkb_w<span class=\"o\">.</span>write_hex<span class=\"p\">(</span>pnt<span class=\"p\">)</span>\n<span class=\"go\">&#39;0101000020E6100000000000000000F03F000000000000F03F&#39;</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.WKTWriter\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">WKTWriter</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">dim<span class=\"o\">=</span><span class=\"default_value\">2</span></em>, <em class=\"sig-param\">trim<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">precision<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.WKTWriter\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Cette classe permet de produire la représentation WKT d’un objet géométrique. Voir les attributs <a class=\"reference internal\" href=\"#django.contrib.gis.geos.WKBWriter.outdim\" title=\"django.contrib.gis.geos.WKBWriter.outdim\"><code class=\"xref py py-attr docutils literal notranslate\">WKBWriter.outdim</code></a>, <a class=\"reference internal\" href=\"#django.contrib.gis.geos.WKTWriter.trim\" title=\"django.contrib.gis.geos.WKTWriter.trim\"><code class=\"xref py py-attr docutils literal notranslate\">trim</code></a> et <a class=\"reference internal\" href=\"#django.contrib.gis.geos.WKTWriter.precision\" title=\"django.contrib.gis.geos.WKTWriter.precision\"><code class=\"xref py py-attr docutils literal notranslate\">precision</code></a> pour plus de détails sur les paramètres du constructeur.</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.WKTWriter.write\">\n<span class=\"sig-name descname\">write</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.geos.WKTWriter.write\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Renvoie la représentation WKT de l’objet géométrique. 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.geos</span> <span class=\"kn\">import</span> Point<span class=\"p\">,</span> WKTWriter\n<span class=\"gp\">&gt;&gt;&gt; </span>pnt <span class=\"o\">=</span> Point<span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkt_w <span class=\"o\">=</span> WKTWriter<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkt_w<span class=\"o\">.</span>write<span class=\"p\">(</span>pnt<span class=\"p\">)</span>\n<span class=\"go\">&#39;POINT (1.0000000000000000 1.0000000000000000)&#39;</span>\n</code></pre></div>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.WKTWriter.outdim\">\n<span class=\"sig-name descname\">outdim</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.WKTWriter.outdim\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Voir <a class=\"reference internal\" href=\"#django.contrib.gis.geos.WKBWriter.outdim\" title=\"django.contrib.gis.geos.WKBWriter.outdim\"><code class=\"xref py py-attr docutils literal notranslate\">WKBWriter.outdim</code></a>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.WKTWriter.trim\">\n<span class=\"sig-name descname\">trim</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.WKTWriter.trim\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Cette propriété est utilisée pour activer ou désactiver la suppression de décimales non nécessaires.</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.geos</span> <span class=\"kn\">import</span> Point<span class=\"p\">,</span> WKTWriter\n<span class=\"gp\">&gt;&gt;&gt; </span>pnt <span class=\"o\">=</span> Point<span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkt_w <span class=\"o\">=</span> WKTWriter<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkt_w<span class=\"o\">.</span>trim\n<span class=\"go\">False</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkt_w<span class=\"o\">.</span>write<span class=\"p\">(</span>pnt<span class=\"p\">)</span>\n<span class=\"go\">&#39;POINT (1.0000000000000000 1.0000000000000000)&#39;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkt_w<span class=\"o\">.</span>trim <span class=\"o\">=</span> <span class=\"kc\">True</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkt_w<span class=\"o\">.</span>write<span class=\"p\">(</span>pnt<span class=\"p\">)</span>\n<span class=\"go\">&#39;POINT (1 1)&#39;</span>\n</code></pre></div>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.WKTWriter.precision\">\n<span class=\"sig-name descname\">precision</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.WKTWriter.precision\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Cette propriété contrôle la précision de l’arrondi des coordonnées ; si elle vaut <code class=\"docutils literal notranslate\">None</code>, l’arrondi est désactivé.</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.geos</span> <span class=\"kn\">import</span> Point<span class=\"p\">,</span> WKTWriter\n<span class=\"gp\">&gt;&gt;&gt; </span>pnt <span class=\"o\">=</span> Point<span class=\"p\">(</span><span class=\"mf\">1.44</span><span class=\"p\">,</span> <span class=\"mf\">1.66</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkt_w <span class=\"o\">=</span> WKTWriter<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>wkt_w<span class=\"o\">.</span>precision<span class=\"p\">)</span>\n<span class=\"go\">None</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkt_w<span class=\"o\">.</span>write<span class=\"p\">(</span>pnt<span class=\"p\">)</span>\n<span class=\"go\">&#39;POINT (1.4399999999999999 1.6599999999999999)&#39;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkt_w<span class=\"o\">.</span>precision <span class=\"o\">=</span> <span class=\"mi\">0</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkt_w<span class=\"o\">.</span>write<span class=\"p\">(</span>pnt<span class=\"p\">)</span>\n<span class=\"go\">&#39;POINT (1 2)&#39;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkt_w<span class=\"o\">.</span>precision <span class=\"o\">=</span> <span class=\"mi\">1</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>wkt_w<span class=\"o\">.</span>write<span class=\"p\">(</span>pnt<span class=\"p\">)</span>\n<span class=\"go\">&#39;POINT (1.4 1.7)&#39;</span>\n</code></pre></div>\n</dd></dl>\n\n<p class=\"rubric\">Notes de bas de page</p>\n<aside class=\"footnote-list brackets\">\n<aside class=\"footnote brackets\" id=\"fnogc\" 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=\"https://postgis.net/docs/using_postgis_dbmanagement.html#EWKB_EWKT\">PostGIS EWKB, EWKT and Canonical Forms</a>, documentation de PostGIS au chap. 4.1.2.</p>\n</aside>\n</aside>\n</section>\n</section>\n<section id=\"settings\">\n<h2>Réglages<a class=\"heading-anchor\" href=\"#settings\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"geos-library-path\">\n<span id=\"std-setting-GEOS_LIBRARY_PATH\"></span><h3><code class=\"docutils literal notranslate\">GEOS_LIBRARY_PATH</code><a class=\"heading-anchor\" href=\"#geos-library-path\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Une chaîne indiquant l’emplacement de la bibliothèque GEOS C. Ce réglage n’est généralement nécessaire que si la bibliothèque GEOS C n’est pas à un emplacement standard (par ex. <code class=\"docutils literal notranslate\">/home/bob/lib/libgeos_c.so</code>).</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Le réglage doit contenir le chemin <em>complet</em> vers la bibliothèque partagée en <strong>C</strong> ; en d’autres termes, il faut indiquer <code class=\"docutils literal notranslate\">libgeos_c.so</code>, et non pas <code class=\"docutils literal notranslate\">libgeos.so</code>.</p>\n</aside>\n</section>\n</section>\n<section id=\"exceptions\">\n<h2>Exceptions<a class=\"heading-anchor\" href=\"#exceptions\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geos.GEOSException\">\n<em class=\"property\"><span class=\"k\">exception</span> </em><span class=\"sig-name descname\">GEOSException</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geos.GEOSException\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>L’exception GEOS de base, indiquant une erreur en lien avec GEOS.</p>\n</dd></dl>\n\n</section>","rootId":"module-django.contrib.gis.geos","toc":[{"title":"Contexte","anchor":"background","children":[{"title":"Qu’est-ce que GEOS ?","anchor":"what-is-geos","children":[]},{"title":"Fonctionnalités","anchor":"features","children":[]}]},{"title":"Tutoriel","anchor":"tutorial","children":[{"title":"Création d’un objet géométrique","anchor":"creating-a-geometry","children":[]},{"title":"Les objets géométriques sont « pythonesques »","anchor":"geometries-are-pythonic","children":[]}]},{"title":"Objets géométriques","anchor":"geometry-objects","children":[{"title":"GEOSGeometry","anchor":"geosgeometry","children":[{"title":"Propriétés","anchor":"properties","children":[]},{"title":"Propriétés en sortie","anchor":"output-properties","children":[]},{"title":"Méthodes de prédicats spatiaux","anchor":"spatial-predicate-methods","children":[]},{"title":"Méthodes topologiques","anchor":"topological-methods","children":[]},{"title":"Propriétés topologiques","anchor":"topological-properties","children":[]},{"title":"Autres propriétés et méthodes","anchor":"other-properties-methods","children":[]}]},{"title":"Point","anchor":"point","children":[]},{"title":"LineString","anchor":"linestring","children":[]},{"title":"LinearRing","anchor":"linearring","children":[]},{"title":"Polygon","anchor":"polygon","children":[]}]},{"title":"Collections géométriques","anchor":"geometry-collections","children":[{"title":"MultiPoint","anchor":"multipoint","children":[]},{"title":"MultiLineString","anchor":"multilinestring","children":[]},{"title":"MultiPolygon","anchor":"multipolygon","children":[]},{"title":"GeometryCollection","anchor":"geometrycollection","children":[]}]},{"title":"Objets géométriques préparés","anchor":"prepared-geometries","children":[{"title":"PreparedGeometry","anchor":"preparedgeometry","children":[]}]},{"title":"Fabrication d’objets géométriques","anchor":"geometry-factories","children":[]},{"title":"Objets d’entrées/sorties","anchor":"i-o-objects","children":[{"title":"Objets de lecture","anchor":"reader-objects","children":[]},{"title":"Objets d’écriture","anchor":"writer-objects","children":[]}]},{"title":"Réglages","anchor":"settings","children":[{"title":"GEOS_LIBRARY_PATH","anchor":"geos-library-path","children":[]}]},{"title":"Exceptions","anchor":"exceptions","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"Référence de l’API","url":"/fr/2.0/ref/"},{"docname":"ref/contrib/index","title":"Paquets contrib","url":"/fr/2.0/ref/contrib/"},{"docname":"ref/contrib/gis/index","title":"GeoDjango","url":"/fr/2.0/ref/contrib/gis/"}],"prev":{"docname":"ref/contrib/gis/measure","title":"Objets de mesure","url":"/fr/2.0/ref/contrib/gis/measure/"},"next":{"docname":"ref/contrib/gis/gdal","title":"API de GDAL","url":"/fr/2.0/ref/contrib/gis/gdal/"},"formats":{"html":"/fr/2.0/ref/contrib/gis/geos/","markdown":"/fr/2.0/ref/contrib/gis/geos.md","json":"/fr/2.0/ref/contrib/gis/geos.json"},"source":"https://github.com/django/django/blob/stable/2.0.x/docs/ref/contrib/gis/geos.txt","official":"https://docs.djangoproject.com/fr/2.0/ref/contrib/gis/geos/","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","zh-hans","fr","ja","id","pt-br","ko","es","el","pl"]}