{"title":"GIS QuerySet API リファレンス","version":"5.0","locale":"ja","docname":"ref/contrib/gis/geoquerysets","url":"/ja/5.0/ref/contrib/gis/geoquerysets/","canonical":"https://djangodocs.dev/ja/5.0/ref/contrib/gis/geoquerysets/","summary":"空間のルックアップ (Spatial Lookup) Link to this heading # このセクションの空間ルックアップは GeometryField と RasterField 用です。 導入については、 空間ルックアップの概要…","html":"<h1>GIS QuerySet API リファレンス<a class=\"heading-anchor\" href=\"#gis-queryset-api-reference\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<section id=\"spatial-lookups\">\n<span id=\"id1\"></span><h2>空間のルックアップ (Spatial Lookup)<a class=\"heading-anchor\" href=\"#spatial-lookups\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>このセクションの空間ルックアップは <a class=\"reference internal\" href=\"/ja/5.0/ref/contrib/gis/model-api/#django.contrib.gis.db.models.GeometryField\" title=\"django.contrib.gis.db.models.GeometryField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">GeometryField</span></code></a> と <a class=\"reference internal\" href=\"/ja/5.0/ref/contrib/gis/model-api/#django.contrib.gis.db.models.RasterField\" title=\"django.contrib.gis.db.models.RasterField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">RasterField</span></code></a> 用です。</p>\n<p>導入については、 <a class=\"reference internal\" href=\"/ja/5.0/ref/contrib/gis/db-api/#spatial-lookups-intro\"><span class=\"std std-ref\">空間ルックアップの概要</span></a> を参照してください。特定の空間バックエンドと互換性のあるルックアップの概要については、 <a class=\"reference internal\" href=\"/ja/5.0/ref/contrib/gis/db-api/#spatial-lookup-compatibility\"><span class=\"std std-ref\">空間ルックアップの互換表</span></a> を参照してください。</p>\n<section id=\"lookups-with-rasters\">\n<h3>ラスターのルックアップ<a class=\"heading-anchor\" href=\"#lookups-with-rasters\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>以下のリファレンスにあるすべての例は地理情報フィールドおよび入力に対して提供されていますが、ルックアップはラスタの両側で同じように使用できます。ルックアップがラスター入力をサポートしていない場合、入力は <a class=\"reference external\" href=\"https://postgis.net/docs/RT_ST_Polygon.html\">ST_Polygon</a> 関数を使用して必要に応じて自動的にジオメトリに変換されます。 <a class=\"reference internal\" href=\"/ja/5.0/ref/contrib/gis/db-api/#spatial-lookup-raster\"><span class=\"std std-ref\">ラスタルックアップの概要</span></a> も参照してください。</p>\n<p>ルックアップで使用されるデータベース演算子は、以下の 3 つのカテゴリに分類できます:</p>\n<ul class=\"simple\">\n<li><p>ネイティブラスターサポート (<code class=\"docutils literal notranslate\"><span class=\"pre\">N</span></code>): この演算子は、参照先としてラスターをネイティブに受け入れ、ラスター入力をジオメトリ入力と混在させることができます。</p></li>\n<li><p>双方向ラスターサポート <code class=\"docutils literal notranslate\"><span class=\"pre\">B</span></code>: このオペレータは、ルックアップの両側がラスター入力を受け取る場合のみ、ラスターをサポートします。異なるルックアップの場合は、ラスターデータは自動的にジオメトリに変換されます。</p></li>\n<li><p>ジオメトリ変換サポート <code class=\"docutils literal notranslate\"><span class=\"pre\">C</span></code> 。ルックアップはネイティブのラスターをサポートしていないため、すべてのラスターデータは自動的にジオメトリに変換されます。</p></li>\n</ul>\n<p>以下の例は、さまざまなタイプのラスターサポートにおけるルックアップに相当する SQL を示しています。同じパターンがすべての空間ルックアップに適用されます。</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>ケース</p></th>\n<th class=\"head\"><p>ルックアップ</p></th>\n<th class=\"head\"><p>等価なSQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>N, B</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">rast__contains=rst</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Contains(rast,</span> <span class=\"pre\">rst)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>N, B</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">rast__1__contains=(rst,</span> <span class=\"pre\">2)</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Contains(rast,</span> <span class=\"pre\">1,</span> <span class=\"pre\">rst,</span> <span class=\"pre\">2)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>B, C</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">rast__contains=geom</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Contains(ST_Polygon(rast),</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>B, C</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">rast__1__contains=geom</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Contains(ST_Polygon(rast,</span> <span class=\"pre\">1),</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>B, C</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">poly__contains=rst</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Contains(poly,</span> <span class=\"pre\">ST_Polygon(rst))</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>B, C</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">poly__contains=(rst,</span> <span class=\"pre\">1)</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Contains(poly,</span> <span class=\"pre\">ST_Polygon(rst,</span> <span class=\"pre\">1))</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>C</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">rast__crosses=rst</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Crosses(ST_Polygon(rast),</span> <span class=\"pre\">ST_Polygon(rst))</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>C</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">rast__1__crosses=(rst,</span> <span class=\"pre\">2)</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Crosses(ST_Polygon(rast,</span> <span class=\"pre\">1),</span> <span class=\"pre\">ST_Polygon(rst,</span> <span class=\"pre\">2))</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>C</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">rast__crosses=geom</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Crosses(ST_Polygon(rast),</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>C</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">poly__crosses=rst</span></code></p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Crosses(poly,</span> <span class=\"pre\">ST_Polygon(rst))</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<p>ラスターを使った空間ルックアップは、PostGISバックエンド (この節ではPGRasterと表記) のみでサポートされています。</p>\n</section>\n<section id=\"bbcontains\">\n<span id=\"std-fieldlookup-bbcontains\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">bbcontains</span></code><a class=\"heading-anchor\" href=\"#bbcontains\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Geometry_Contain.html\">PostGIS</a>, MariaDB, MySQL, SpatiaLite, PGRaster (Native)</p>\n<p>ジオメトリまたはラスタフィールドのバウンディングボックスが、ルックアップジオメトリのバウンディングボックスを完全に含むかどうかをテストします。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__bbcontains</span><span class=\"o\">=</span><span class=\"n\">geom</span><span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>バックエンド</p></th>\n<th class=\"head\"><p>等価なSQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">poly</span> <span class=\"pre\">~</span> <span class=\"pre\">geom</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>MariaDB</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">MBRContains(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>MySQL</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">MBRContains(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">MbrContains(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"bboverlaps\">\n<span id=\"std-fieldlookup-bboverlaps\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">bboverlaps</span></code><a class=\"heading-anchor\" href=\"#bboverlaps\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/geometry_overlaps.html\">PostGIS</a>, MariaDB, MySQL, SpatiaLite, PGRaster (Native)</p>\n<p>ジオメトリフィールドのバウンディングボックスが、ルックアップジオメトリのバウンディングボックスと重なるかどうかをテストします。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__bboverlaps</span><span class=\"o\">=</span><span class=\"n\">geom</span><span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>バックエンド</p></th>\n<th class=\"head\"><p>等価なSQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">poly</span> <span class=\"pre\">&amp;&amp;</span> <span class=\"pre\">geom</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>MariaDB</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">MBROverlaps(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>MySQL</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">MBROverlaps(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">MbrOverlaps(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"contained\">\n<span id=\"std-fieldlookup-contained\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">contained</span></code><a class=\"heading-anchor\" href=\"#contained\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Geometry_Contained.html\">PostGIS</a>, MariaDB, MySQL, SpatiaLite, PGRaster (Native)</p>\n<p>ジオメトリフィールドのバウンディングボックスがルックアップジオメトリのバウンディングボックスに完全に含まれるかどうかをテストします。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__contained</span><span class=\"o\">=</span><span class=\"n\">geom</span><span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>バックエンド</p></th>\n<th class=\"head\"><p>等価なSQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">poly</span> <span class=\"pre\">&#64;</span> <span class=\"pre\">geom</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>MariaDB</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">MBRWithin(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>MySQL</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">MBRWithin(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">MbrWithin(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"contains\">\n<span id=\"std-fieldlookup-gis-contains\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">contains</span></code><a class=\"heading-anchor\" href=\"#contains\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Contains.html\">PostGIS</a>, Oracle, MariaDB, MySQL, SpatiaLite, PGRaster (Bilateral)</p>\n<p>ジオメトリフィールドにルックアップ ジオメトリが含まれているかどうかを調べます。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__contains</span><span class=\"o\">=</span><span class=\"n\">geom</span><span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>バックエンド</p></th>\n<th class=\"head\"><p>等価なSQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Contains(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SDO_CONTAINS(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>MariaDB</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Contains(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>MySQL</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Contains(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Contains(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"contains-properly\">\n<span id=\"std-fieldlookup-contains_properly\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">contains_properly</span></code><a class=\"heading-anchor\" href=\"#contains-properly\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_ContainsProperly.html\">PostGIS</a>, PGRaster (Bilateral)</p>\n<p>ルックアップ ジオメトリがジオメトリ フィールドの内部と交差し、境界 (または外部) と交差しない場合に true を返します。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__contains_properly</span><span class=\"o\">=</span><span class=\"n\">geom</span><span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>バックエンド</p></th>\n<th class=\"head\"><p>等価なSQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_ContainsProperly(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"coveredby\">\n<span id=\"std-fieldlookup-coveredby\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">coveredby</span></code><a class=\"heading-anchor\" href=\"#coveredby\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_CoveredBy.html\">PostGIS</a>, Oracle, PGRaster (Bilateral), SpatiaLite</p>\n<p>ジオメトリフィールドのどのポイントもルックアップジオメトリの外側にないかどうかをテストします。 <a class=\"footnote-reference brackets\" href=\"#fncovers\" id=\"id2\" role=\"doc-noteref\"><span class=\"fn-bracket\">[</span>3<span class=\"fn-bracket\">]</span></a></p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__coveredby</span><span class=\"o\">=</span><span class=\"n\">geom</span><span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>バックエンド</p></th>\n<th class=\"head\"><p>等価なSQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_CoveredBy(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SDO_COVEREDBY(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">CoveredBy(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"covers\">\n<span id=\"std-fieldlookup-covers\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">covers</span></code><a class=\"heading-anchor\" href=\"#covers\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Covers.html\">PostGIS</a>, Oracle, PGRaster (Bilateral), SpatiaLite</p>\n<p>ルックアップされたジオメトリ内のどのポイントも、ジオメトリフィールドの外にないかどうかテストします。 <a class=\"footnote-reference brackets\" href=\"#fncovers\" id=\"id3\" role=\"doc-noteref\"><span class=\"fn-bracket\">[</span>3<span class=\"fn-bracket\">]</span></a></p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__covers</span><span class=\"o\">=</span><span class=\"n\">geom</span><span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>バックエンド</p></th>\n<th class=\"head\"><p>等価なSQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Covers(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SDO_COVERS(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Covers(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"crosses\">\n<span id=\"std-fieldlookup-crosses\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">crosses</span></code><a class=\"heading-anchor\" href=\"#crosses\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Crosses.html\">PostGIS</a>, MariaDB, MySQL, SpatiaLite, PGRaster (Conversion)</p>\n<p>ジオメトリフィールドがルックアップジオメトリと空間的に交差しているかをテストします。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__crosses</span><span class=\"o\">=</span><span class=\"n\">geom</span><span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>バックエンド</p></th>\n<th class=\"head\"><p>等価なSQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Crosses(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>MariaDB</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Crosses(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>MySQL</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Crosses(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Crosses(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"disjoint\">\n<span id=\"std-fieldlookup-disjoint\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">disjoint</span></code><a class=\"heading-anchor\" href=\"#disjoint\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Disjoint.html\">PostGIS</a>, Oracle, MariaDB, MySQL, SpatiaLite, PGRaster (Bilateral)</p>\n<p>ジオメトリフィールドがルックアップジオメトリから空間的に分離しているかどうかをテストします。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__disjoint</span><span class=\"o\">=</span><span class=\"n\">geom</span><span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>バックエンド</p></th>\n<th class=\"head\"><p>等価なSQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Disjoint(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SDO_GEOM.RELATE(poly,</span> <span class=\"pre\">'DISJOINT',</span> <span class=\"pre\">geom,</span> <span class=\"pre\">0.05)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>MariaDB</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Disjoint(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>MySQL</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Disjoint(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Disjoint(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"equals\">\n<span id=\"std-fieldlookup-equals\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">equals</span></code><a class=\"heading-anchor\" href=\"#equals\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Equals.html\">PostGIS</a>, Oracle, MariaDB, MySQL, SpatiaLite, PGRaster (Conversion)</p>\n<p>ジオメトリフィールドがルックアップジオメトリと空間的に等しいかどうかをテストします。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__equals</span><span class=\"o\">=</span><span class=\"n\">geom</span><span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>バックエンド</p></th>\n<th class=\"head\"><p>等価なSQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Equals(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SDO_EQUAL(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>MariaDB</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Equals(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>MySQL</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Equals(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Equals(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"exact-same-as\">\n<span id=\"std-fieldlookup-same_as\"></span><span id=\"std-fieldlookup-exact-noindex\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">exact</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">same_as</span></code><a class=\"heading-anchor\" href=\"#exact-same-as\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Geometry_Same.html\">PostGIS</a>, Oracle, MariaDB, MySQL, SpatiaLite, PGRaster (Bilateral)</p>\n<p>ジオメトリフィールドがルックアップジオメトリと &quot;等しい&quot; かどうかをテストします。Oracle、MySQL、SpatiaLite では空間的な等しさをテストし、PostGIS ではバウンディングボックスの等しさをテストします。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly</span><span class=\"o\">=</span><span class=\"n\">geom</span><span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>バックエンド</p></th>\n<th class=\"head\"><p>等価なSQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">poly</span> <span class=\"pre\">~=</span> <span class=\"pre\">geom</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SDO_EQUAL(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>MariaDB</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Equals(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>MySQL</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Equals(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Equals(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"intersects\">\n<span id=\"std-fieldlookup-intersects\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">intersects</span></code><a class=\"heading-anchor\" href=\"#intersects\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Intersects.html\">PostGIS</a>, Oracle, MariaDB, MySQL, SpatiaLite, PGRaster (Bilateral)</p>\n<p>ジオメトリフィールドがルックアップジオメトリと空間的に交差しているかどうかをテストします。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__intersects</span><span class=\"o\">=</span><span class=\"n\">geom</span><span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>バックエンド</p></th>\n<th class=\"head\"><p>等価なSQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Intersects(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SDO_OVERLAPBDYINTERSECT(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>MariaDB</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Intersects(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>MySQL</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Intersects(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Intersects(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"isempty\">\n<span id=\"std-fieldlookup-isempty\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">isempty</span></code><a class=\"heading-anchor\" href=\"#isempty\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<aside class=\"version-note version-added\" data-version=\"4.2\">\n<p class=\"version-note-title\">New in Django 4.2</p></aside>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_IsEmpty.html\">PostGIS</a></p>\n<p>ジオメトリが空かどうかをテストします。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__isempty</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n</code></pre></div>\n</section>\n<section id=\"isvalid\">\n<span id=\"std-fieldlookup-isvalid\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">isvalid</span></code><a class=\"heading-anchor\" href=\"#isvalid\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: MySQL, <a class=\"reference external\" href=\"https://postgis.net/docs/ST_IsValid.html\">PostGIS</a>, Oracle, SpatiaLite</p>\n<p>ジオメトリが有効かどうかをテストします。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__isvalid</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>バックエンド</p></th>\n<th class=\"head\"><p>等価なSQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>MySQL, PostGIS, SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_IsValid(poly)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(poly,</span> <span class=\"pre\">0.05)</span> <span class=\"pre\">=</span> <span class=\"pre\">'TRUE'</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"overlaps\">\n<span id=\"std-fieldlookup-overlaps\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">overlaps</span></code><a class=\"heading-anchor\" href=\"#overlaps\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Overlaps.html\">PostGIS</a>, Oracle, MariaDB, MySQL, SpatiaLite, PGRaster (Bilateral)</p>\n<p>ジオメトリフィールドがルックアップ ジオメトリと空間的に重なっているかどうかをテストします。</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>バックエンド</p></th>\n<th class=\"head\"><p>等価なSQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Overlaps(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SDO_OVERLAPS(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>MariaDB</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Overlaps(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>MySQL</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Overlaps(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Overlaps(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"relate\">\n<span id=\"std-fieldlookup-relate\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">relate</span></code><a class=\"heading-anchor\" href=\"#relate\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Relate.html\">PostGIS</a>, MariaDB, Oracle, SpatiaLite, PGRaster (Conversion)</p>\n<p>ジオメトリフィールドが指定されたパターンの値によって空間的に関連しているかをテストします。このルックアップには <code class=\"docutils literal notranslate\"><span class=\"pre\">(geom,</span> <span class=\"pre\">pattern)</span></code> というタプルパラメータが必要であり、<code class=\"docutils literal notranslate\"><span class=\"pre\">pattern</span></code> の形式は空間バックエンドによって異なります。</p>\n<section id=\"mariadb-postgis-and-spatialite\">\n<h4>MariaDB, PostGIS, SpatiaLite<a class=\"heading-anchor\" href=\"#mariadb-postgis-and-spatialite\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>これらの空間バックエンドでは、交差パターンは9文字からなる文字列で、ジオメトリフィールドとルックアップジオメトリの内部、境界、外部の交差を定義します。交差パターン行列では、次の文字のみを使用できます: <code class=\"docutils literal notranslate\"><span class=\"pre\">1</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">2</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">T</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">F</span></code>、または <code class=\"docutils literal notranslate\"><span class=\"pre\">*</span></code>。このルックアップタイプを使用すると、ユーザーはDE-9IMモデルに一致する特定のジオメトリのリレーションシップを「微調整」できます。 <a class=\"footnote-reference brackets\" href=\"#fnde9im\" id=\"id4\" role=\"doc-noteref\"><span class=\"fn-bracket\">[</span>1<span class=\"fn-bracket\">]</span></a></p>\n<p>ジオメトリの例:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"c1\"># A tuple lookup parameter is used to specify the geometry and</span>\n<span class=\"c1\"># the intersection pattern (the pattern here is for &#39;contains&#39;).</span>\n<span class=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__relate</span><span class=\"o\">=</span><span class=\"p\">(</span><span class=\"n\">geom</span><span class=\"p\">,</span> <span class=\"s2\">&quot;T*T***FF*&quot;</span><span class=\"p\">))</span>\n</code></pre></div>\n<p>PostGIS と MariaDB では下記の SQL と同等です:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</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=\"SQL code\"><code><span class=\"k\">SELECT</span><span class=\"w\"> </span><span class=\"p\">...</span><span class=\"w\"> </span><span class=\"k\">WHERE</span><span class=\"w\"> </span><span class=\"n\">ST_Relate</span><span class=\"p\">(</span><span class=\"n\">poly</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"n\">geom</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s1\">&#39;T*T***FF*&#39;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>SpatiaLite では下記の SQL と同等です:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</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=\"SQL code\"><code><span class=\"k\">SELECT</span><span class=\"w\"> </span><span class=\"p\">...</span><span class=\"w\"> </span><span class=\"k\">WHERE</span><span class=\"w\"> </span><span class=\"n\">Relate</span><span class=\"p\">(</span><span class=\"n\">poly</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"n\">geom</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s1\">&#39;T*T***FF*&#39;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>ラスターの例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__relate</span><span class=\"o\">=</span><span class=\"p\">(</span><span class=\"n\">rast</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"s2\">&quot;T*T***FF*&quot;</span><span class=\"p\">))</span>\n<span class=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">rast__2__relate</span><span class=\"o\">=</span><span class=\"p\">(</span><span class=\"n\">rast</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"s2\">&quot;T*T***FF*&quot;</span><span class=\"p\">))</span>\n</code></pre></div>\n<p>PostGIS では下記の SQL と同等です:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</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=\"SQL code\"><code><span class=\"k\">SELECT</span><span class=\"w\"> </span><span class=\"p\">...</span><span class=\"w\"> </span><span class=\"k\">WHERE</span><span class=\"w\"> </span><span class=\"n\">ST_Relate</span><span class=\"p\">(</span><span class=\"n\">poly</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"n\">ST_Polygon</span><span class=\"p\">(</span><span class=\"n\">rast</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"p\">),</span><span class=\"w\"> </span><span class=\"s1\">&#39;T*T***FF*&#39;</span><span class=\"p\">)</span>\n<span class=\"k\">SELECT</span><span class=\"w\"> </span><span class=\"p\">...</span><span class=\"w\"> </span><span class=\"k\">WHERE</span><span class=\"w\"> </span><span class=\"n\">ST_Relate</span><span class=\"p\">(</span><span class=\"n\">ST_Polygon</span><span class=\"p\">(</span><span class=\"n\">rast</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"mi\">2</span><span class=\"p\">),</span><span class=\"w\"> </span><span class=\"n\">ST_Polygon</span><span class=\"p\">(</span><span class=\"n\">rast</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"p\">),</span><span class=\"w\"> </span><span class=\"s1\">&#39;T*T***FF*&#39;</span><span class=\"p\">)</span>\n</code></pre></div>\n</section>\n<section id=\"oracle\">\n<h4>Oracle<a class=\"heading-anchor\" href=\"#oracle\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>ここで、リレーションパターンは9つのリレーション文字列のうち少なくとも1つで構成されます: <code class=\"docutils literal notranslate\"><span class=\"pre\">TOUCH</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">OVERLAPBDYDISJOINT</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">OVERLAPBDYINTERSECT</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">EQUAL</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">INSIDE</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">COVEREDBY</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">CONTAINS</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">COVERS</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">ON</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">ANYINTERACT</span></code> 。複数の文字列を論理論理演算子 OR で結合することもできます。 <a class=\"footnote-reference brackets\" href=\"#fnsdorelate\" id=\"id5\" role=\"doc-noteref\"><span class=\"fn-bracket\">[</span>2<span class=\"fn-bracket\">]</span></a> リレーション文字列は大文字小文字を区別しません。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__relate</span><span class=\"o\">=</span><span class=\"p\">(</span><span class=\"n\">geom</span><span class=\"p\">,</span> <span class=\"s2\">&quot;anyinteract&quot;</span><span class=\"p\">))</span>\n</code></pre></div>\n<p>Oracle では下記の SQL と同等です:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</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=\"SQL code\"><code><span class=\"k\">SELECT</span><span class=\"w\"> </span><span class=\"p\">...</span><span class=\"w\"> </span><span class=\"k\">WHERE</span><span class=\"w\"> </span><span class=\"n\">SDO_RELATE</span><span class=\"p\">(</span><span class=\"n\">poly</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"n\">geom</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s1\">&#39;anyinteract&#39;</span><span class=\"p\">)</span>\n</code></pre></div>\n</section>\n</section>\n<section id=\"touches\">\n<span id=\"std-fieldlookup-touches\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">touches</span></code><a class=\"heading-anchor\" href=\"#touches\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Touches.html\">PostGIS</a>, Oracle, MariaDB, MySQL, SpatiaLite</p>\n<p>ジオメトリ フィールドがルックアップ ジオメトリに空間的に接しているかどうかをテストします。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__touches</span><span class=\"o\">=</span><span class=\"n\">geom</span><span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>バックエンド</p></th>\n<th class=\"head\"><p>等価なSQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Touches(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>MariaDB</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Touches(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>MySQL</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Touches(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SDO_TOUCH(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Touches(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"within\">\n<span id=\"std-fieldlookup-within\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">within</span></code><a class=\"heading-anchor\" href=\"#within\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Within.html\">PostGIS</a>, Oracle, MariaDB, MySQL, SpatiaLite, PGRaster (Bilateral)</p>\n<p>ジオメトリフィールドが空間的にルックアップジオメトリ内にあるかどうかをテストします。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__within</span><span class=\"o\">=</span><span class=\"n\">geom</span><span class=\"p\">)</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>バックエンド</p></th>\n<th class=\"head\"><p>等価なSQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Within(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>MariaDB</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Within(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>MySQL</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Within(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SDO_INSIDE(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Within(poly,</span> <span class=\"pre\">geom)</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"left\">\n<span id=\"std-fieldlookup-left\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">left</span></code><a class=\"heading-anchor\" href=\"#left\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Geometry_Left.html\">PostGIS</a>, PGRaster (Conversion)</p>\n<p>ジオメトリフィールドのバウンディングボックスが、ルックアップ ジオメトリのバウンディングボックスよりも厳密に左側にあるかどうかをテストします。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__left</span><span class=\"o\">=</span><span class=\"n\">geom</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>PostGIS では下記の SQL と同等です:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</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=\"SQL code\"><code><span class=\"k\">SELECT</span><span class=\"w\"> </span><span class=\"p\">...</span><span class=\"w\"> </span><span class=\"k\">WHERE</span><span class=\"w\"> </span><span class=\"n\">poly</span><span class=\"w\"> </span><span class=\"o\">&lt;&lt;</span><span class=\"w\"> </span><span class=\"n\">geom</span>\n</code></pre></div>\n</section>\n<section id=\"right\">\n<span id=\"std-fieldlookup-right\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">right</span></code><a class=\"heading-anchor\" href=\"#right\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Geometry_Right.html\">PostGIS</a>, PGRaster (Conversion)</p>\n<p>ジオメトリフィールドのバウンディングボックスが、ルックアップ ジオメトリのバウンディングボックスの厳密に右側にあるかどうかをテストします。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__right</span><span class=\"o\">=</span><span class=\"n\">geom</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>PostGIS では下記の SQL と同等です:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</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=\"SQL code\"><code><span class=\"k\">SELECT</span><span class=\"w\"> </span><span class=\"p\">...</span><span class=\"w\"> </span><span class=\"k\">WHERE</span><span class=\"w\"> </span><span class=\"n\">poly</span><span class=\"w\"> </span><span class=\"o\">&gt;&gt;</span><span class=\"w\"> </span><span class=\"n\">geom</span>\n</code></pre></div>\n</section>\n<section id=\"overlaps-left\">\n<span id=\"std-fieldlookup-overlaps_left\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">overlaps_left</span></code><a class=\"heading-anchor\" href=\"#overlaps-left\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Geometry_Overleft.html\">PostGIS</a>, PGRaster (Bilateral)</p>\n<p>ジオメトリフィールドのバウンディングボックスが、ルックアップ ジオメトリのバウンディングボックスと重なるか、または左にあるかどうかをテストします。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__overlaps_left</span><span class=\"o\">=</span><span class=\"n\">geom</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>PostGIS では下記の SQL と同等です:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</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=\"SQL code\"><code><span class=\"k\">SELECT</span><span class=\"w\"> </span><span class=\"p\">...</span><span class=\"w\"> </span><span class=\"k\">WHERE</span><span class=\"w\"> </span><span class=\"n\">poly</span><span class=\"w\"> </span><span class=\"o\">&amp;&lt;</span><span class=\"w\"> </span><span class=\"n\">geom</span>\n</code></pre></div>\n</section>\n<section id=\"overlaps-right\">\n<span id=\"std-fieldlookup-overlaps_right\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">overlaps_right</span></code><a class=\"heading-anchor\" href=\"#overlaps-right\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Geometry_Overright.html\">PostGIS</a>, PGRaster (Bilateral)</p>\n<p>ジオメトリフィールドのバウンディングボックスが、ルックアップ ジオメトリのバウンディングボックスと重なっているか、または右側にあるかどうかをテストします。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__overlaps_right</span><span class=\"o\">=</span><span class=\"n\">geom</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>PostGIS では下記の SQL と同等です:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</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=\"SQL code\"><code><span class=\"k\">SELECT</span><span class=\"w\"> </span><span class=\"p\">...</span><span class=\"w\"> </span><span class=\"k\">WHERE</span><span class=\"w\"> </span><span class=\"n\">poly</span><span class=\"w\"> </span><span class=\"o\">&amp;&gt;</span><span class=\"w\"> </span><span class=\"n\">geom</span>\n</code></pre></div>\n</section>\n<section id=\"overlaps-above\">\n<span id=\"std-fieldlookup-overlaps_above\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">overlaps_above</span></code><a class=\"heading-anchor\" href=\"#overlaps-above\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Geometry_Overabove.html\">PostGIS</a>, PGRaster (Conversion)</p>\n<p>ジオメトリフィールドのバウンディングボックスがルックアップジオメトリのバウンディングボックスと重なっているか、または上にあるかどうかをテストします。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__overlaps_above</span><span class=\"o\">=</span><span class=\"n\">geom</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>PostGIS では下記の SQL と同等です:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</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=\"SQL code\"><code><span class=\"k\">SELECT</span><span class=\"w\"> </span><span class=\"p\">...</span><span class=\"w\"> </span><span class=\"k\">WHERE</span><span class=\"w\"> </span><span class=\"n\">poly</span><span class=\"w\"> </span><span class=\"o\">|&amp;&gt;</span><span class=\"w\"> </span><span class=\"n\">geom</span>\n</code></pre></div>\n</section>\n<section id=\"overlaps-below\">\n<span id=\"std-fieldlookup-overlaps_below\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">overlaps_below</span></code><a class=\"heading-anchor\" href=\"#overlaps-below\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Geometry_Overbelow.html\">PostGIS</a>, PGRaster (Conversion)</p>\n<p>ジオメトリフィールドのバウンディングボックスがルックアップジオメトリのバウンディングボックスと重なっているか、または下にあるかどうかをテストします。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__overlaps_below</span><span class=\"o\">=</span><span class=\"n\">geom</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>PostGIS では下記の SQL と同等です:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</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=\"SQL code\"><code><span class=\"k\">SELECT</span><span class=\"w\"> </span><span class=\"p\">...</span><span class=\"w\"> </span><span class=\"k\">WHERE</span><span class=\"w\"> </span><span class=\"n\">poly</span><span class=\"w\"> </span><span class=\"o\">&amp;&lt;|</span><span class=\"w\"> </span><span class=\"n\">geom</span>\n</code></pre></div>\n</section>\n<section id=\"strictly-above\">\n<span id=\"std-fieldlookup-strictly_above\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">strictly_above</span></code><a class=\"heading-anchor\" href=\"#strictly-above\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Geometry_Above.html\">PostGIS</a>, PGRaster (Conversion)</p>\n<p>ジオメトリフィールドのバウンディングボックスが、ルックアップジオメトリのバウンディングボックスの厳密に上にあるかどうかをテストします。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__strictly_above</span><span class=\"o\">=</span><span class=\"n\">geom</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>PostGIS では下記の SQL と同等です:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</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=\"SQL code\"><code><span class=\"k\">SELECT</span><span class=\"w\"> </span><span class=\"p\">...</span><span class=\"w\"> </span><span class=\"k\">WHERE</span><span class=\"w\"> </span><span class=\"n\">poly</span><span class=\"w\"> </span><span class=\"o\">|&gt;&gt;</span><span class=\"w\"> </span><span class=\"n\">geom</span>\n</code></pre></div>\n</section>\n<section id=\"strictly-below\">\n<span id=\"std-fieldlookup-strictly_below\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">strictly_below</span></code><a class=\"heading-anchor\" href=\"#strictly-below\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Geometry_Below.html\">PostGIS</a>, PGRaster (Conversion)</p>\n<p>ジオメトリフィールドのバウンディングボックスが、ルックアップジオメトリのバウンディングボックスの厳密に下にあるかどうかをテストします。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__strictly_below</span><span class=\"o\">=</span><span class=\"n\">geom</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>PostGIS では下記の SQL と同等です:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</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=\"SQL code\"><code><span class=\"k\">SELECT</span><span class=\"w\"> </span><span class=\"p\">...</span><span class=\"w\"> </span><span class=\"k\">WHERE</span><span class=\"w\"> </span><span class=\"n\">poly</span><span class=\"w\"> </span><span class=\"o\">&lt;&lt;|</span><span class=\"w\"> </span><span class=\"n\">geom</span>\n</code></pre></div>\n</section>\n</section>\n<section id=\"distance-lookups\">\n<span id=\"id6\"></span><h2>距離ルックアップ<a class=\"heading-anchor\" href=\"#distance-lookups\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p><em>利用可能なDB</em>: PostGIS, Oracle, MariaDB, MySQL, SpatiaLite, PGRaster (Native)</p>\n<p>距離クエリの概要については <a class=\"reference internal\" href=\"/ja/5.0/ref/contrib/gis/db-api/#distance-queries\"><span class=\"std std-ref\">距離クエリの概要</span></a> を参照してください。</p>\n<p>距離ルックアップは次の形式を取ります:</p>\n<div class=\"code-block\" data-language=\"text\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Text</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=\"Text code\"><code>&lt;field&gt;__&lt;distance lookup&gt;=(&lt;geometry/raster&gt;, &lt;distance value&gt;[, &quot;spheroid&quot;])\n&lt;field&gt;__&lt;distance lookup&gt;=(&lt;raster&gt;, &lt;band_index&gt;, &lt;distance value&gt;[, &quot;spheroid&quot;])\n&lt;field&gt;__&lt;band_index&gt;__&lt;distance lookup&gt;=(&lt;raster&gt;, &lt;band_index&gt;, &lt;distance value&gt;[, &quot;spheroid&quot;])\n</code></pre></div>\n<p>距離ルックアップに渡される値はタプルであり、最初の2つの値は必須で、それぞれ、距離の計算対象のジオメトリと距離値 (フィールドの単位での数値、 <a class=\"reference internal\" href=\"/ja/5.0/ref/contrib/gis/measure/#django.contrib.gis.measure.Distance\" title=\"django.contrib.gis.measure.Distance\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Distance</span></code></a> オブジェクト、または <a class=\"reference internal\" href=\"/ja/5.0/ref/models/expressions/\"><span class=\"doc\">クエリ式</span></a>) です。ルックアップにバンドインデックスを渡すには、2番目のエントリがバンドインデックスである3値タプルを使用します。</p>\n<p><a class=\"reference internal\" href=\"#std-fieldlookup-dwithin\"><code class=\"xref std std-lookup docutils literal notranslate\"><span class=\"pre\">dwithin</span></code></a> を除くすべての距離ルックアップには、オプションの要素として <code class=\"docutils literal notranslate\"><span class=\"pre\">'spheroid'</span></code> を含めることができます。これにより、測地座標系を持つフィールドにおいてより精度の高い回転楕円体距離計算関数を使用できます。</p>\n<p>PostgreSQLでは、 <code class=\"docutils literal notranslate\"><span class=\"pre\">'spheroid'</span></code> オプションは <a class=\"reference external\" href=\"https://postgis.net/docs/ST_DistanceSphere.html\">ST_DistanceSphere</a> の代わりに <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Distance_Spheroid.html\">ST_DistanceSpheroid</a> を使用します。投影座標系では、より単純な <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Distance.html\">ST_Distance</a> 関数を使用します。ラスタは回転楕円体ベースのルックアップ用にジオメトリに変換されます。</p>\n<section id=\"distance-gt\">\n<span id=\"std-fieldlookup-distance_gt\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">distance_gt</span></code><a class=\"heading-anchor\" href=\"#distance-gt\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>指定された距離値よりも、ルックアップジオメトリからジオメトリフィールドへの距離が大きいモデルを返します。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__distance_gt</span><span class=\"o\">=</span><span class=\"p\">(</span><span class=\"n\">geom</span><span class=\"p\">,</span> <span class=\"n\">D</span><span class=\"p\">(</span><span class=\"n\">m</span><span class=\"o\">=</span><span class=\"mi\">5</span><span class=\"p\">)))</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>バックエンド</p></th>\n<th class=\"head\"><p>等価なSQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Distance/ST_Distance_Sphere(poly,</span> <span class=\"pre\">geom)</span> <span class=\"pre\">&gt;</span> <span class=\"pre\">5</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>MariaDB</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Distance(poly,</span> <span class=\"pre\">geom)</span> <span class=\"pre\">&gt;</span> <span class=\"pre\">5</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>MySQL</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Distance(poly,</span> <span class=\"pre\">geom)</span> <span class=\"pre\">&gt;</span> <span class=\"pre\">5</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SDO_GEOM.SDO_DISTANCE(poly,</span> <span class=\"pre\">geom,</span> <span class=\"pre\">0.05)</span> <span class=\"pre\">&gt;</span> <span class=\"pre\">5</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Distance(poly,</span> <span class=\"pre\">geom)</span> <span class=\"pre\">&gt;</span> <span class=\"pre\">5</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"distance-gte\">\n<span id=\"std-fieldlookup-distance_gte\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">distance_gte</span></code><a class=\"heading-anchor\" href=\"#distance-gte\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>ルックアップしたジオメトリからジオメトリフィールドまでの距離が、指定した距離の値以上であるモデルを返します。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__distance_gte</span><span class=\"o\">=</span><span class=\"p\">(</span><span class=\"n\">geom</span><span class=\"p\">,</span> <span class=\"n\">D</span><span class=\"p\">(</span><span class=\"n\">m</span><span class=\"o\">=</span><span class=\"mi\">5</span><span class=\"p\">)))</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>バックエンド</p></th>\n<th class=\"head\"><p>等価なSQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Distance/ST_Distance_Sphere(poly,</span> <span class=\"pre\">geom)</span> <span class=\"pre\">&gt;=</span> <span class=\"pre\">5</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>MariaDB</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Distance(poly,</span> <span class=\"pre\">geom)</span> <span class=\"pre\">&gt;=</span> <span class=\"pre\">5</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>MySQL</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Distance(poly,</span> <span class=\"pre\">geom)</span> <span class=\"pre\">&gt;=</span> <span class=\"pre\">5</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SDO_GEOM.SDO_DISTANCE(poly,</span> <span class=\"pre\">geom,</span> <span class=\"pre\">0.05)</span> <span class=\"pre\">&gt;=</span> <span class=\"pre\">5</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Distance(poly,</span> <span class=\"pre\">geom)</span> <span class=\"pre\">&gt;=</span> <span class=\"pre\">5</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"distance-lt\">\n<span id=\"std-fieldlookup-distance_lt\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">distance_lt</span></code><a class=\"heading-anchor\" href=\"#distance-lt\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>ルックアップしたジオメトリからジオメトリフィールドまでの距離が、指定した距離の値よりも小さいモデルを返します。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__distance_lt</span><span class=\"o\">=</span><span class=\"p\">(</span><span class=\"n\">geom</span><span class=\"p\">,</span> <span class=\"n\">D</span><span class=\"p\">(</span><span class=\"n\">m</span><span class=\"o\">=</span><span class=\"mi\">5</span><span class=\"p\">)))</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>バックエンド</p></th>\n<th class=\"head\"><p>等価なSQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Distance/ST_Distance_Sphere(poly,</span> <span class=\"pre\">geom)</span> <span class=\"pre\">&lt;</span> <span class=\"pre\">5</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>MariaDB</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Distance(poly,</span> <span class=\"pre\">geom)</span> <span class=\"pre\">&lt;</span> <span class=\"pre\">5</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>MySQL</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Distance(poly,</span> <span class=\"pre\">geom)</span> <span class=\"pre\">&lt;</span> <span class=\"pre\">5</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SDO_GEOM.SDO_DISTANCE(poly,</span> <span class=\"pre\">geom,</span> <span class=\"pre\">0.05)</span> <span class=\"pre\">&lt;</span> <span class=\"pre\">5</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Distance(poly,</span> <span class=\"pre\">geom)</span> <span class=\"pre\">&lt;</span> <span class=\"pre\">5</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"distance-lte\">\n<span id=\"std-fieldlookup-distance_lte\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">distance_lte</span></code><a class=\"heading-anchor\" href=\"#distance-lte\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>ルックアップされたジオメトリからジオメトリフィールドまでの距離が、指定された距離の値以下であるモデルを返します。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__distance_lte</span><span class=\"o\">=</span><span class=\"p\">(</span><span class=\"n\">geom</span><span class=\"p\">,</span> <span class=\"n\">D</span><span class=\"p\">(</span><span class=\"n\">m</span><span class=\"o\">=</span><span class=\"mi\">5</span><span class=\"p\">)))</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>バックエンド</p></th>\n<th class=\"head\"><p>等価なSQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Distance/ST_Distance_Sphere(poly,</span> <span class=\"pre\">geom)</span> <span class=\"pre\">&lt;=</span> <span class=\"pre\">5</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>MariaDB</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Distance(poly,</span> <span class=\"pre\">geom)</span> <span class=\"pre\">&lt;=</span> <span class=\"pre\">5</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>MySQL</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_Distance(poly,</span> <span class=\"pre\">geom)</span> <span class=\"pre\">&lt;=</span> <span class=\"pre\">5</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SDO_GEOM.SDO_DISTANCE(poly,</span> <span class=\"pre\">geom,</span> <span class=\"pre\">0.05)</span> <span class=\"pre\">&lt;=</span> <span class=\"pre\">5</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Distance(poly,</span> <span class=\"pre\">geom)</span> <span class=\"pre\">&lt;=</span> <span class=\"pre\">5</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"dwithin\">\n<span id=\"std-fieldlookup-dwithin\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">dwithin</span></code><a class=\"heading-anchor\" href=\"#dwithin\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>ルックアップしたジオメトリからジオメトリフィールドまでの距離が、指定した距離以内のモデルを返します。 <a class=\"reference internal\" href=\"/ja/5.0/ref/contrib/gis/measure/#django.contrib.gis.measure.Distance\" title=\"django.contrib.gis.measure.Distance\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Distance</span></code></a> オブジェクトを指定できるのは、対象となるジオメトリが投影システムの場合のみであることに注意してください。地理ジオメトリの場合は、ジオメトリフィールドの単位を使用する必要があります (例えば <code class=\"docutils literal notranslate\"><span class=\"pre\">WGS84</span></code> の場合は度)。</p>\n<p>実装例:</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=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__dwithin</span><span class=\"o\">=</span><span class=\"p\">(</span><span class=\"n\">geom</span><span class=\"p\">,</span> <span class=\"n\">D</span><span class=\"p\">(</span><span class=\"n\">m</span><span class=\"o\">=</span><span class=\"mi\">5</span><span class=\"p\">)))</span>\n</code></pre></div>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>バックエンド</p></th>\n<th class=\"head\"><p>等価なSQL</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>PostGIS</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ST_DWithin(poly,</span> <span class=\"pre\">geom,</span> <span class=\"pre\">5)</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Oracle</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SDO_WITHIN_DISTANCE(poly,</span> <span class=\"pre\">geom,</span> <span class=\"pre\">5)</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>SpatiaLite</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">PtDistWithin(poly,</span> <span class=\"pre\">geom,</span> <span class=\"pre\">5)</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"aggregate-functions\">\n<span id=\"gis-aggregation-functions\"></span><h3>集計関数<a class=\"heading-anchor\" href=\"#aggregate-functions\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Django はいくつかの GIS 固有の集計関数を提供しています。これらの集計関数の使い方の詳細については、 <a class=\"reference internal\" href=\"/ja/5.0/topics/db/aggregation/\"><span class=\"doc\">集計に関するトピックガイド</span></a> を参照してください。</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>キーワード引数</p></th>\n<th class=\"head\"><p>説明</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">tolerance</span></code></p></td>\n<td><p>このキーワードはOracle専用です。<code class=\"docutils literal notranslate\"><span class=\"pre\">SDOAGGRTYPE</span></code> プロシージャで使用される許容値のためのものです。詳細は <a class=\"reference external\" href=\"https://docs.oracle.com/en/database/oracle/oracle-database/21/spatl/spatial-concepts.html#GUID-CE10AB14-D5EA-43BA-A647-DAC9EEF41EE6\">Oracle documentation</a> を参照してください。</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<p>例:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.gis.db.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">Extent</span><span class=\"p\">,</span> <span class=\"n\">Union</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">WorldBorder</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">aggregate</span><span class=\"p\">(</span><span class=\"n\">Extent</span><span class=\"p\">(</span><span class=\"s2\">&quot;mpoly&quot;</span><span class=\"p\">),</span> <span class=\"n\">Union</span><span class=\"p\">(</span><span class=\"s2\">&quot;mpoly&quot;</span><span class=\"p\">))</span>\n</code></pre></div>\n<section id=\"collect\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">Collect</span></code><a class=\"heading-anchor\" href=\"#collect\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.Collect\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Collect</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">geo_field</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">filter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.Collect\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Collect.html\">PostGIS</a>, SpatiaLite</p>\n<p>ジオメトリ列から <code class=\"docutils literal notranslate\"><span class=\"pre\">GEOMETRYCOLLECTION</span></code> または <code class=\"docutils literal notranslate\"><span class=\"pre\">MULTI</span></code> ジオメトリオブジェクトを返します。これは <a class=\"reference internal\" href=\"#django.contrib.gis.db.models.Union\" title=\"django.contrib.gis.db.models.Union\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Union</span></code></a> 集計の簡略版に似ていますが、ジオメトリをコレクションまたはマルチオブジェクトにまとめ、境界の解消を気にしないため、ユニオンを実行するよりも数桁高速です。</p>\n<aside class=\"version-note version-changed\" data-version=\"5.0\">\n<p class=\"version-note-title\">Changed in Django 5.0</p><p><code class=\"docutils literal notranslate\"><span class=\"pre\">filter</span></code> 引数のサポートが追加されました。</p>\n</aside>\n</section>\n<section id=\"extent\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">Extent</span></code><a class=\"heading-anchor\" href=\"#extent\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.Extent\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Extent</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">geo_field</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">filter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.Extent\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Extent.html\">PostGIS</a>, Oracle, SpatiaLite</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code> 内のすべての <code class=\"docutils literal notranslate\"><span class=\"pre\">geo_field</span></code> の範囲を表す、左下の座標と右上の座標からなる4値タプルを返します。</p>\n<p>例:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">qs</span> <span class=\"o\">=</span> <span class=\"n\">City</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">name__in</span><span class=\"o\">=</span><span class=\"p\">(</span><span class=\"s2\">&quot;Houston&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Dallas&quot;</span><span class=\"p\">))</span><span class=\"o\">.</span><span class=\"n\">aggregate</span><span class=\"p\">(</span><span class=\"n\">Extent</span><span class=\"p\">(</span><span class=\"s2\">&quot;poly&quot;</span><span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">qs</span><span class=\"p\">[</span><span class=\"s2\">&quot;poly__extent&quot;</span><span class=\"p\">])</span>\n<span class=\"go\">(-96.8016128540039, 29.7633724212646, -95.3631439208984, 32.782058715820)</span>\n</code></pre></div>\n<aside class=\"version-note version-changed\" data-version=\"5.0\">\n<p class=\"version-note-title\">Changed in Django 5.0</p><p><code class=\"docutils literal notranslate\"><span class=\"pre\">filter</span></code> 引数のサポートが追加されました。</p>\n</aside>\n</section>\n<section id=\"extent3d\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">Extent3D</span></code><a class=\"heading-anchor\" href=\"#extent3d\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.Extent3D\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Extent3D</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">geo_field</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">filter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.Extent3D\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_3DExtent.html\">PostGIS</a></p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code> 内のすべての <code class=\"docutils literal notranslate\"><span class=\"pre\">geo_field</span></code> の 3D 範囲を、左下の座標と右上の座標 (それぞれ x、y、z 座標を持つ) からなる 6 要素のタプルとして返します。</p>\n<p>例:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">qs</span> <span class=\"o\">=</span> <span class=\"n\">City</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">name__in</span><span class=\"o\">=</span><span class=\"p\">(</span><span class=\"s2\">&quot;Houston&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Dallas&quot;</span><span class=\"p\">))</span><span class=\"o\">.</span><span class=\"n\">aggregate</span><span class=\"p\">(</span><span class=\"n\">Extent3D</span><span class=\"p\">(</span><span class=\"s2\">&quot;poly&quot;</span><span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">qs</span><span class=\"p\">[</span><span class=\"s2\">&quot;poly__extent3d&quot;</span><span class=\"p\">])</span>\n<span class=\"go\">(-96.8016128540039, 29.7633724212646, 0, -95.3631439208984, 32.782058715820, 0)</span>\n</code></pre></div>\n<aside class=\"version-note version-changed\" data-version=\"5.0\">\n<p class=\"version-note-title\">Changed in Django 5.0</p><p><code class=\"docutils literal notranslate\"><span class=\"pre\">filter</span></code> 引数のサポートが追加されました。</p>\n</aside>\n</section>\n<section id=\"makeline\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">MakeLine</span></code><a class=\"heading-anchor\" href=\"#makeline\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.MakeLine\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">MakeLine</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">geo_field</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">filter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.MakeLine\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_MakeLine.html\">PostGIS</a>, SpatiaLite</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code> 内のポイントフィールドジオメトリから構築された <code class=\"docutils literal notranslate\"><span class=\"pre\">LineString</span></code> を返します。現在、クエリセットの順序は意味がありません。</p>\n<p>例:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">qs</span> <span class=\"o\">=</span> <span class=\"n\">City</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">name__in</span><span class=\"o\">=</span><span class=\"p\">(</span><span class=\"s2\">&quot;Houston&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Dallas&quot;</span><span class=\"p\">))</span><span class=\"o\">.</span><span class=\"n\">aggregate</span><span class=\"p\">(</span><span class=\"n\">MakeLine</span><span class=\"p\">(</span><span class=\"s2\">&quot;poly&quot;</span><span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">qs</span><span class=\"p\">[</span><span class=\"s2\">&quot;poly__makeline&quot;</span><span class=\"p\">])</span>\n<span class=\"go\">LINESTRING (-95.3631510000000020 29.7633739999999989, -96.8016109999999941 32.7820570000000018)</span>\n</code></pre></div>\n<aside class=\"version-note version-changed\" data-version=\"5.0\">\n<p class=\"version-note-title\">Changed in Django 5.0</p><p><code class=\"docutils literal notranslate\"><span class=\"pre\">filter</span></code> 引数のサポートが追加されました。</p>\n</aside>\n</section>\n<section id=\"union\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">Union</span></code><a class=\"heading-anchor\" href=\"#union\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.db.models.Union\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Union</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">geo_field</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">filter</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.db.models.Union\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>利用可能なDB</em>: <a class=\"reference external\" href=\"https://postgis.net/docs/ST_Union.html\">PostGIS</a>, Oracle, SpatiaLite</p>\n<p>このメソッドは、クエリセット内のすべてのジオメトリの結合を含む <a class=\"reference internal\" href=\"/ja/5.0/ref/contrib/gis/geos/#django.contrib.gis.geos.GEOSGeometry\" title=\"django.contrib.gis.geos.GEOSGeometry\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">GEOSGeometry</span></code></a> オブジェクトを返します。大きなクエリセットでは、<code class=\"docutils literal notranslate\"><span class=\"pre\">Union</span></code> を使用すると処理が集中し、かなりの時間がかかる可能性があることに注意してください。</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">注釈</p>\n<p>もしこの方法を使った計算に時間がかかりすぎる場合は、代わりに <a class=\"reference internal\" href=\"#django.contrib.gis.db.models.Collect\" title=\"django.contrib.gis.db.models.Collect\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Collect</span></code></a> を使用することを検討してください。</p>\n</aside>\n<p>例:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">u</span> <span class=\"o\">=</span> <span class=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">aggregate</span><span class=\"p\">(</span><span class=\"n\">Union</span><span class=\"p\">(</span><span class=\"n\">poly</span><span class=\"p\">))</span>  <span class=\"c1\"># This may take a long time.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">u</span> <span class=\"o\">=</span> <span class=\"n\">Zipcode</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">poly__within</span><span class=\"o\">=</span><span class=\"n\">bbox</span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">aggregate</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"n\">Union</span><span class=\"p\">(</span><span class=\"n\">poly</span><span class=\"p\">)</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>  <span class=\"c1\"># A more sensible approach.</span>\n</code></pre></div>\n<aside class=\"version-note version-changed\" data-version=\"5.0\">\n<p class=\"version-note-title\">Changed in Django 5.0</p><p><code class=\"docutils literal notranslate\"><span class=\"pre\">filter</span></code> 引数のサポートが追加されました。</p>\n</aside>\n<p class=\"rubric\">脚注</p>\n<aside class=\"footnote-list brackets\">\n<aside class=\"footnote brackets\" id=\"fnde9im\" role=\"doc-footnote\">\n<span class=\"label\"><span class=\"fn-bracket\">[</span><a role=\"doc-backlink\" href=\"#id4\">1</a><span class=\"fn-bracket\">]</span></span>\n<p><em>参考</em> <a class=\"reference external\" href=\"https://portal.ogc.org/files/?artifact_id=829\">OpenGIS Simple Feature Specification For SQL</a>, at Ch. 2.1.13.2, p. 2-13 (The Dimensionally Extended Nine-Intersection Model).</p>\n</aside>\n<aside class=\"footnote brackets\" id=\"fnsdorelate\" role=\"doc-footnote\">\n<span class=\"label\"><span class=\"fn-bracket\">[</span><a role=\"doc-backlink\" href=\"#id5\">2</a><span class=\"fn-bracket\">]</span></span>\n<p><em>参考</em> Oracle Spatial and Graph Developer's Guide の <a class=\"reference external\" href=\"https://docs.oracle.com/en/database/oracle/oracle-database/18/spatl/spatial-operators-reference.html#GUID-97C17C18-F05E-49B4-BE11-E89B972E2A02\">SDO_RELATE documentation</a> 。</p>\n</aside>\n<aside class=\"footnote brackets\" id=\"fncovers\" role=\"doc-footnote\">\n<span class=\"label\"><span class=\"fn-bracket\">[</span>3<span class=\"fn-bracket\">]</span></span>\n<span class=\"backrefs\">(<a role=\"doc-backlink\" href=\"#id2\">1</a>,<a role=\"doc-backlink\" href=\"#id3\">2</a>)</span>\n<p>この処理の説明については、PostGIS 開発者の Martin Davis による <a class=\"reference external\" href=\"https://lin-ear-th-inking.blogspot.com/2007/06/subtleties-of-ogc-covers-spatial.html\">Quirks of the &quot;Contains&quot; Spatial Predicate</a> を参照してください。</p>\n</aside>\n</aside>\n</section>\n</section>\n</section>","rootId":"gis-queryset-api-reference","toc":[{"title":"空間のルックアップ (Spatial Lookup)","anchor":"spatial-lookups","children":[{"title":"ラスターのルックアップ","anchor":"lookups-with-rasters","children":[]},{"title":"bbcontains","anchor":"bbcontains","children":[]},{"title":"bboverlaps","anchor":"bboverlaps","children":[]},{"title":"contained","anchor":"contained","children":[]},{"title":"contains","anchor":"contains","children":[]},{"title":"contains_properly","anchor":"contains-properly","children":[]},{"title":"coveredby","anchor":"coveredby","children":[]},{"title":"covers","anchor":"covers","children":[]},{"title":"crosses","anchor":"crosses","children":[]},{"title":"disjoint","anchor":"disjoint","children":[]},{"title":"equals","anchor":"equals","children":[]},{"title":"exact, same_as","anchor":"exact-same-as","children":[]},{"title":"intersects","anchor":"intersects","children":[]},{"title":"isempty","anchor":"isempty","children":[]},{"title":"isvalid","anchor":"isvalid","children":[]},{"title":"overlaps","anchor":"overlaps","children":[]},{"title":"relate","anchor":"relate","children":[{"title":"MariaDB, PostGIS, SpatiaLite","anchor":"mariadb-postgis-and-spatialite","children":[]},{"title":"Oracle","anchor":"oracle","children":[]}]},{"title":"touches","anchor":"touches","children":[]},{"title":"within","anchor":"within","children":[]},{"title":"left","anchor":"left","children":[]},{"title":"right","anchor":"right","children":[]},{"title":"overlaps_left","anchor":"overlaps-left","children":[]},{"title":"overlaps_right","anchor":"overlaps-right","children":[]},{"title":"overlaps_above","anchor":"overlaps-above","children":[]},{"title":"overlaps_below","anchor":"overlaps-below","children":[]},{"title":"strictly_above","anchor":"strictly-above","children":[]},{"title":"strictly_below","anchor":"strictly-below","children":[]}]},{"title":"距離ルックアップ","anchor":"distance-lookups","children":[{"title":"distance_gt","anchor":"distance-gt","children":[]},{"title":"distance_gte","anchor":"distance-gte","children":[]},{"title":"distance_lt","anchor":"distance-lt","children":[]},{"title":"distance_lte","anchor":"distance-lte","children":[]},{"title":"dwithin","anchor":"dwithin","children":[]},{"title":"集計関数","anchor":"aggregate-functions","children":[{"title":"Collect","anchor":"collect","children":[]},{"title":"Extent","anchor":"extent","children":[]},{"title":"Extent3D","anchor":"extent3d","children":[]},{"title":"MakeLine","anchor":"makeline","children":[]},{"title":"Union","anchor":"union","children":[]}]}]}],"breadcrumbs":[{"docname":"ref/index","title":"API リファレンス","url":"/ja/5.0/ref/"},{"docname":"ref/contrib/index","title":"contrib パッケージ","url":"/ja/5.0/ref/contrib/"},{"docname":"ref/contrib/gis/index","title":"GeoDjango","url":"/ja/5.0/ref/contrib/gis/"}],"prev":{"docname":"ref/contrib/gis/forms-api","title":"GeoDjango フォーム API","url":"/ja/5.0/ref/contrib/gis/forms-api/"},"next":{"docname":"ref/contrib/gis/functions","title":"地理情報データベース関数","url":"/ja/5.0/ref/contrib/gis/functions/"},"formats":{"html":"/ja/5.0/ref/contrib/gis/geoquerysets/","markdown":"/ja/5.0/ref/contrib/gis/geoquerysets.md","json":"/ja/5.0/ref/contrib/gis/geoquerysets.json"},"source":"https://github.com/django/django/blob/stable/5.0.x/docs/ref/contrib/gis/geoquerysets.txt","official":"https://docs.djangoproject.com/ja/5.0/ref/contrib/gis/geoquerysets/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}