{"title":"测量对象","version":"5.2","locale":"zh-hans","docname":"ref/contrib/gis/measure","url":"/zh-hans/5.2/ref/contrib/gis/measure/","canonical":"https://djangodocs.dev/zh-hans/5.2/ref/contrib/gis/measure/","summary":"django.contrib.gis.measure 模块包含了方便表示距离和面积单位的对象。 [ 1 ] 具体来说，它实现了两个对象， Distance 和 Area —— 这两个对象都可以通过分别使用 D 和 A 的便捷别名来访问。 例如 Link to this heading #…","html":"<span id=\"measurement-objects\"></span><h1>测量对象<a class=\"heading-anchor\" href=\"#module-django.contrib.gis.measure\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p><a class=\"reference internal\" href=\"#module-django.contrib.gis.measure\" title=\"django.contrib.gis.measure: GeoDjango's distance and area measurement objects.\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.measure</span></code></a> 模块包含了方便表示距离和面积单位的对象。<a class=\"footnote-reference brackets\" href=\"#id3\" id=\"id1\" role=\"doc-noteref\"><span class=\"fn-bracket\">[</span>1<span class=\"fn-bracket\">]</span></a> 具体来说，它实现了两个对象，<a class=\"reference internal\" href=\"#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=\"#django.contrib.gis.measure.Area\" title=\"django.contrib.gis.measure.Area\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Area</span></code></a> —— 这两个对象都可以通过分别使用 <a class=\"reference internal\" href=\"#django.contrib.gis.measure.D\" title=\"django.contrib.gis.measure.D\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">D</span></code></a> 和 <a class=\"reference internal\" href=\"#django.contrib.gis.measure.A\" title=\"django.contrib.gis.measure.A\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">A</span></code></a> 的便捷别名来访问。</p>\n<section id=\"example\">\n<h2>例如<a class=\"heading-anchor\" href=\"#example\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>可以使用指示单位上下文的关键字参数来实例化 <a class=\"reference internal\" href=\"#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\">km</span></code>）和英里（<code class=\"docutils literal notranslate\"><span class=\"pre\">mi</span></code>）来实例化两个不同的距离对象：</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.measure</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">D</span><span class=\"p\">,</span> <span class=\"n\">Distance</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">d1</span> <span class=\"o\">=</span> <span class=\"n\">Distance</span><span class=\"p\">(</span><span class=\"n\">km</span><span class=\"o\">=</span><span class=\"mi\">5</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\">d1</span><span class=\"p\">)</span>\n<span class=\"go\">5.0 km</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">d2</span> <span class=\"o\">=</span> <span class=\"n\">D</span><span class=\"p\">(</span><span class=\"n\">mi</span><span class=\"o\">=</span><span class=\"mi\">5</span><span class=\"p\">)</span>  <span class=\"c1\"># `D` is an alias for `Distance`</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">d2</span><span class=\"p\">)</span>\n<span class=\"go\">5.0 mi</span>\n</code></pre></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=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">d1</span><span class=\"o\">.</span><span class=\"n\">mi</span><span class=\"p\">)</span>  <span class=\"c1\"># Converting 5 kilometers to miles</span>\n<span class=\"go\">3.10685596119</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">d2</span><span class=\"o\">.</span><span class=\"n\">km</span><span class=\"p\">)</span>  <span class=\"c1\"># Converting 5 miles to kilometers</span>\n<span class=\"go\">8.04672</span>\n</code></pre></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=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">d1</span> <span class=\"o\">+</span> <span class=\"n\">d2</span><span class=\"p\">)</span>  <span class=\"c1\"># Adding 5 miles to 5 kilometers</span>\n<span class=\"go\">13.04672 km</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">d2</span> <span class=\"o\">-</span> <span class=\"n\">d1</span><span class=\"p\">)</span>  <span class=\"c1\"># Subtracting 5 kilometers from 5 miles</span>\n<span class=\"go\">1.89314403881 mi</span>\n</code></pre></div>\n<p>两个 <a class=\"reference internal\" href=\"#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=\"#django.contrib.gis.measure.Area\" title=\"django.contrib.gis.measure.Area\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Area</span></code></a> 对象，它使用单位的平方：</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\">a</span> <span class=\"o\">=</span> <span class=\"n\">d1</span> <span class=\"o\">*</span> <span class=\"n\">d2</span>  <span class=\"c1\"># Returns an Area object.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">a</span><span class=\"p\">)</span>\n<span class=\"go\">40.2336 sq_km</span>\n</code></pre></div>\n<p>要确定单位的属性缩写是什么，可以使用 <code class=\"docutils literal notranslate\"><span class=\"pre\">unit_attname</span></code> 类方法：</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=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">Distance</span><span class=\"o\">.</span><span class=\"n\">unit_attname</span><span class=\"p\">(</span><span class=\"s2\">&quot;US Survey Foot&quot;</span><span class=\"p\">))</span>\n<span class=\"go\">survey_ft</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">Distance</span><span class=\"o\">.</span><span class=\"n\">unit_attname</span><span class=\"p\">(</span><span class=\"s2\">&quot;centimeter&quot;</span><span class=\"p\">))</span>\n<span class=\"go\">cm</span>\n</code></pre></div>\n</section>\n<section id=\"supported-units\">\n<span id=\"id2\"></span><h2>支持的单位<a class=\"heading-anchor\" href=\"#supported-units\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\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\">km</span></code></p></td>\n<td><p>Kilometre, Kilometer</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">mi</span></code></p></td>\n<td><p>Mile</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">m</span></code></p></td>\n<td><p>Meter, Metre</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">yd</span></code></p></td>\n<td><p>Yard</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ft</span></code></p></td>\n<td><p>Foot, Foot (International)</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">survey_ft</span></code></p></td>\n<td><p>U.S. Foot, US survey foot</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">inch</span></code></p></td>\n<td><p>Inches</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">cm</span></code></p></td>\n<td><p>Centimeter</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">mm</span></code></p></td>\n<td><p>Millimetre, Millimeter</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">um</span></code></p></td>\n<td><p>Micrometer, Micrometre</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">british_ft</span></code></p></td>\n<td><p>British foot (Sears 1922)</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">british_yd</span></code></p></td>\n<td><p>British yard (Sears 1922)</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">british_chain_sears</span></code></p></td>\n<td><p>British chain (Sears 1922)</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">indian_yd</span></code></p></td>\n<td><p>Indian yard, Yard (Indian)</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">sears_yd</span></code></p></td>\n<td><p>Yard (Sears)</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">clarke_ft</span></code></p></td>\n<td><p>Clarke's Foot</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">chain</span></code></p></td>\n<td><p>Chain</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">chain_benoit</span></code></p></td>\n<td><p>Chain (Benoit)</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">chain_sears</span></code></p></td>\n<td><p>Chain (Sears)</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">british_chain_benoit</span></code></p></td>\n<td><p>British chain (Benoit 1895 B)</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">british_chain_sears_truncated</span></code></p></td>\n<td><p>British chain (Sears 1922 truncated)</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">gold_coast_ft</span></code></p></td>\n<td><p>Gold Coast foot</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">link</span></code></p></td>\n<td><p>链接</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">link_benoit</span></code></p></td>\n<td><p>Link (Benoit)</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">link_sears</span></code></p></td>\n<td><p>Link (Sears)</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">clarke_link</span></code></p></td>\n<td><p>Clarke's link</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">fathom</span></code></p></td>\n<td><p>Fathom</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">rod</span></code></p></td>\n<td><p>Rod</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">furlong</span></code></p></td>\n<td><p>Furlong, Furrow Long</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">nm</span></code></p></td>\n<td><p>Nautical Mile</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">nm_uk</span></code></p></td>\n<td><p>Nautical Mile (UK)</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">german_m</span></code></p></td>\n<td><p>German legal metre</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p><a class=\"reference internal\" href=\"#django.contrib.gis.measure.Area\" title=\"django.contrib.gis.measure.Area\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Area</span></code></a> 的属性与 <a class=\"reference internal\" href=\"#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\">sq_</span></code> 为前缀（面积单位是平方单位）。例如，<code class=\"docutils literal notranslate\"><span class=\"pre\">Area(sq_m=2)</span></code> 创建一个表示两平方米的 <a class=\"reference internal\" href=\"#django.contrib.gis.measure.Area\" title=\"django.contrib.gis.measure.Area\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Area</span></code></a> 对象。</p>\n</aside>\n<p>除了带有 <code class=\"docutils literal notranslate\"><span class=\"pre\">sq_</span></code> 前缀的单位外，以下单位也支持 <a class=\"reference internal\" href=\"#django.contrib.gis.measure.Area\" title=\"django.contrib.gis.measure.Area\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Area</span></code></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\">ha</span></code></p></td>\n<td><p>公顷</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n<aside class=\"version-note version-changed\" data-version=\"5.1\">\n<p class=\"version-note-title\">Changed in Django 5.1</p><p>增加了对 <code class=\"docutils literal notranslate\"><span class=\"pre\">ha</span></code> 单位的支持。</p>\n</aside>\n</section>\n<section id=\"measurement-api\">\n<h2>测量 API<a class=\"heading-anchor\" href=\"#measurement-api\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"distance\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">Distance</span></code><a class=\"heading-anchor\" href=\"#distance\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.measure.Distance\">\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\">Distance</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.measure.Distance\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>要初始化一个距离对象，请传递一个关键字，该关键字对应于所需的 <a class=\"reference internal\" href=\"#supported-units\"><span class=\"std std-ref\">单位属性名称</span></a> 并设置所需的值。例如，以下代码创建一个表示 5 英里的距离对象：</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\">dist</span> <span class=\"o\">=</span> <span class=\"n\">Distance</span><span class=\"p\">(</span><span class=\"n\">mi</span><span class=\"o\">=</span><span class=\"mi\">5</span><span class=\"p\">)</span>\n</code></pre></div>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.measure.Distance.__getattr__\">\n<span class=\"sig-name descname\"><span class=\"pre\">__getattr__</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">unit_att</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.measure.Distance.__getattr__\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\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=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">dist</span><span class=\"o\">.</span><span class=\"n\">km</span><span class=\"p\">)</span>\n<span class=\"go\">8.04672</span>\n</code></pre></div>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.measure.Distance.unit_attname\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">classmethod</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">unit_attname</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">unit_name</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.measure.Distance.unit_attname\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\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\">Distance</span><span class=\"o\">.</span><span class=\"n\">unit_attname</span><span class=\"p\">(</span><span class=\"s2\">&quot;Mile&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&#39;mi&#39;</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.measure.D\">\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\">D</span></span><a class=\"heading-anchor\" href=\"#django.contrib.gis.measure.D\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><a class=\"reference internal\" href=\"#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> 类的别名。</p>\n</dd></dl>\n\n</section>\n<section id=\"area\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">Area</span></code><a class=\"heading-anchor\" href=\"#area\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.measure.Area\">\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\">Area</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.measure.Area\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>要初始化一个面积对象，请传入一个与所需的 <a class=\"reference internal\" href=\"#supported-units\"><span class=\"std std-ref\">单位属性名称</span></a> 对应的关键字，并设置所需的值。例如，以下代码创建了一个表示 5 平方英里的面积对象：</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\">a</span> <span class=\"o\">=</span> <span class=\"n\">Area</span><span class=\"p\">(</span><span class=\"n\">sq_mi</span><span class=\"o\">=</span><span class=\"mi\">5</span><span class=\"p\">)</span>\n</code></pre></div>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.measure.Area.__getattr__\">\n<span class=\"sig-name descname\"><span class=\"pre\">__getattr__</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">unit_att</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.measure.Area.__getattr__\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\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=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">a</span><span class=\"o\">.</span><span class=\"n\">sq_km</span><span class=\"p\">)</span>\n<span class=\"go\">12.949940551680001</span>\n</code></pre></div>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.measure.Area.unit_attname\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">classmethod</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">unit_attname</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">unit_name</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.measure.Area.unit_attname\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\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\">Area</span><span class=\"o\">.</span><span class=\"n\">unit_attname</span><span class=\"p\">(</span><span class=\"s2\">&quot;Kilometer&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&#39;sq_km&#39;</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.measure.A\">\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\">A</span></span><a class=\"heading-anchor\" href=\"#django.contrib.gis.measure.A\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><a class=\"reference internal\" href=\"#django.contrib.gis.measure.Area\" title=\"django.contrib.gis.measure.Area\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Area</span></code></a> 类的别名。</p>\n</dd></dl>\n\n<p class=\"rubric\">脚注</p>\n<aside class=\"footnote-list brackets\">\n<aside class=\"footnote brackets\" id=\"id3\" role=\"doc-footnote\">\n<span class=\"label\"><span class=\"fn-bracket\">[</span><a role=\"doc-backlink\" href=\"#id1\">1</a><span class=\"fn-bracket\">]</span></span>\n<p><a class=\"reference external\" href=\"https://koordinates.com/\">Robert Coup</a> 是度量对象的初始作者，受到了 <a class=\"reference external\" href=\"https://github.com/geopy/geopy/\">geopy</a> 中 Brian Beck 的工作以及 Geoff Biggs 在机器人领域的维度单位方面的博士研究的启发。</p>\n</aside>\n</aside>\n</section>\n</section>","rootId":"module-django.contrib.gis.measure","toc":[{"title":"例如","anchor":"example","children":[]},{"title":"支持的单位","anchor":"supported-units","children":[]},{"title":"测量 API","anchor":"measurement-api","children":[{"title":"Distance","anchor":"distance","children":[]},{"title":"Area","anchor":"area","children":[]}]}],"breadcrumbs":[{"docname":"ref/index","title":"API 参考","url":"/zh-hans/5.2/ref/"},{"docname":"ref/contrib/index","title":"contrib 包","url":"/zh-hans/5.2/ref/contrib/"},{"docname":"ref/contrib/gis/index","title":"GeoDjango","url":"/zh-hans/5.2/ref/contrib/gis/"}],"prev":{"docname":"ref/contrib/gis/functions","title":"地理数据库函数","url":"/zh-hans/5.2/ref/contrib/gis/functions/"},"next":{"docname":"ref/contrib/gis/geos","title":"GEOS API","url":"/zh-hans/5.2/ref/contrib/gis/geos/"},"formats":{"html":"/zh-hans/5.2/ref/contrib/gis/measure/","markdown":"/zh-hans/5.2/ref/contrib/gis/measure.md","json":"/zh-hans/5.2/ref/contrib/gis/measure.json"},"source":"https://github.com/django/django/blob/stable/5.2.x/docs/ref/contrib/gis/measure.txt","official":"https://docs.djangoproject.com/zh-hans/5.2/ref/contrib/gis/measure/","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"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}