公告:凡是在
2025 年 4 月 15 日前註冊使用 Earth Engine 的非商業專案,都必須
驗證非商業用途資格,才能繼續存取 Earth Engine。
ee.Geometry.Polygon.distance
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
傳回兩個幾何圖形之間的最短距離。
用量 | 傳回 |
---|
Polygon.distance(right, maxError, proj, spherical) | 浮點值 |
引數 | 類型 | 詳細資料 |
---|
this:left | 幾何圖形 | 用於做為運算左運算元的幾何圖形。 |
right | 幾何圖形 | 用於做為運算右運算元的幾何圖形。 |
maxError | ErrorMargin,預設值:空值 | 執行任何必要的重新投影作業時,可容許的最大誤差值。 |
proj | 投影,預設值:null | 要執行作業的投影。如未指定,系統會在球面座標系統中執行這項作業,而線性距離會以球面上的公尺為單位。 |
spherical | 布林值,預設值為 false | 如果為 true,系統會在單位球上執行計算。如果設為 false,計算結果會是橢圓形,並考量地球扁平度。如果指定 proj,則會略過這項設定。預設值為 false。 |
範例
程式碼編輯器 (JavaScript)
// Define a Polygon object.
var polygon = ee.Geometry.Polygon(
[[[-122.092, 37.424],
[-122.086, 37.418],
[-122.079, 37.425],
[-122.085, 37.423]]]);
// Define other inputs.
var inputGeom = ee.Geometry.Point(-122.090, 37.423);
// Apply the distance method to the Polygon object.
var polygonDistance = polygon.distance({'right': inputGeom, 'maxError': 1});
// Print the result to the console.
print('polygon.distance(...) =', polygonDistance);
// Display relevant geometries on the map.
Map.setCenter(-122.085, 37.422, 15);
Map.addLayer(polygon,
{'color': 'black'},
'Geometry [black]: polygon');
Map.addLayer(inputGeom,
{'color': 'blue'},
'Parameter [blue]: inputGeom');
Python 設定
請參閱「
Python 環境」頁面,瞭解 Python API 和如何使用 geemap
進行互動式開發。
import ee
import geemap.core as geemap
Colab (Python)
# Define a Polygon object.
polygon = ee.Geometry.Polygon([[
[-122.092, 37.424],
[-122.086, 37.418],
[-122.079, 37.425],
[-122.085, 37.423],
]])
# Define other inputs.
input_geom = ee.Geometry.Point(-122.090, 37.423)
# Apply the distance method to the Polygon object.
polygon_distance = polygon.distance(right=input_geom, maxError=1)
# Print the result.
display('polygon.distance(...) =', polygon_distance)
# Display relevant geometries on the map.
m = geemap.Map()
m.set_center(-122.085, 37.422, 15)
m.add_layer(polygon, {'color': 'black'}, 'Geometry [black]: polygon')
m.add_layer(input_geom, {'color': 'blue'}, 'Parameter [blue]: input_geom')
m
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-07-25 (世界標準時間)。
[null,null,["上次更新時間:2025-07-25 (世界標準時間)。"],[[["\u003cp\u003eCalculates the minimum distance between two geometries, with one being a polygon.\u003c/p\u003e\n"],["\u003cp\u003eReturns the distance as a float value, representing the shortest distance between the geometries.\u003c/p\u003e\n"],["\u003cp\u003eOptionally allows specifying the projection and maximum error for reprojection during the calculation.\u003c/p\u003e\n"],["\u003cp\u003eIf a projection isn't specified, the calculation is performed using spherical coordinates, and distances are in meters on the sphere.\u003c/p\u003e\n"]]],["The `distance` method calculates the minimum distance between two geometries (`left` and `right`). It accepts optional arguments: `maxError` (tolerated error during reprojection), `proj` (projection for the operation), and `spherical` (spherical or elliptical calculation when `proj` is unspecified). The method returns a float value. The example shows how to use the function, by creating two geometries, one of type Polygon and the other Point, and obtain the minimum distance between them.\n"],null,["# ee.Geometry.Polygon.distance\n\nReturns the minimum distance between two geometries.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|--------------------------------------------------------------------|---------|\n| Polygon.distance`(right, `*maxError* `, `*proj* `, `*spherical*`)` | Float |\n\n| Argument | Type | Details |\n|--------------|----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| this: `left` | Geometry | The geometry used as the left operand of the operation. |\n| `right` | Geometry | The geometry used as the right operand of the operation. |\n| `maxError` | ErrorMargin, default: null | The maximum amount of error tolerated when performing any necessary reprojection. |\n| `proj` | Projection, default: null | The projection in which to perform the operation. If not specified, the operation will be performed in a spherical coordinate system, and linear distances will be in meters on the sphere. |\n| `spherical` | Boolean, default: false | If true, the calculation will be done on the unit sphere. If false, the calculation will be elliptical, taking earth flattening into account. Ignored if proj is specified. Default is false. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// Define a Polygon object.\nvar polygon = ee.Geometry.Polygon(\n [[[-122.092, 37.424],\n [-122.086, 37.418],\n [-122.079, 37.425],\n [-122.085, 37.423]]]);\n\n// Define other inputs.\nvar inputGeom = ee.Geometry.Point(-122.090, 37.423);\n\n// Apply the distance method to the Polygon object.\nvar polygonDistance = polygon.distance({'right': inputGeom, 'maxError': 1});\n\n// Print the result to the console.\nprint('polygon.distance(...) =', polygonDistance);\n\n// Display relevant geometries on the map.\nMap.setCenter(-122.085, 37.422, 15);\nMap.addLayer(polygon,\n {'color': 'black'},\n 'Geometry [black]: polygon');\nMap.addLayer(inputGeom,\n {'color': 'blue'},\n 'Parameter [blue]: inputGeom');\n```\nPython setup\n\nSee the [Python Environment](/earth-engine/guides/python_install) page for information on the Python API and using\n`geemap` for interactive development. \n\n```python\nimport ee\nimport geemap.core as geemap\n```\n\n### Colab (Python)\n\n```python\n# Define a Polygon object.\npolygon = ee.Geometry.Polygon([[\n [-122.092, 37.424],\n [-122.086, 37.418],\n [-122.079, 37.425],\n [-122.085, 37.423],\n]])\n\n# Define other inputs.\ninput_geom = ee.Geometry.Point(-122.090, 37.423)\n\n# Apply the distance method to the Polygon object.\npolygon_distance = polygon.distance(right=input_geom, maxError=1)\n\n# Print the result.\ndisplay('polygon.distance(...) =', polygon_distance)\n\n# Display relevant geometries on the map.\nm = geemap.Map()\nm.set_center(-122.085, 37.422, 15)\nm.add_layer(polygon, {'color': 'black'}, 'Geometry [black]: polygon')\nm.add_layer(input_geom, {'color': 'blue'}, 'Parameter [blue]: input_geom')\nm\n```"]]