公告:所有在
2025 年 4 月 15 日之前注册使用 Earth Engine 的非商业项目都必须
验证是否符合非商业性质的资格条件,才能继续使用 Earth Engine。
ee.Geometry.MultiPolygon.distance
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
返回两个几何图形之间的最短距离。
用法 | 返回 |
---|
MultiPolygon.distance(right, maxError, proj, spherical) | 浮点数 |
参数 | 类型 | 详细信息 |
---|
this:left | 几何图形 | 用作运算的左操作数的几何图形。 |
right | 几何图形 | 用作运算的右运算数的几何图形。 |
maxError | ErrorMargin,默认值:null | 执行任何必要的重新投影时允许的最大误差量。 |
proj | 投影,默认值:null | 用于执行操作的投影。如果未指定,系统将在球形坐标系中执行操作,并且线性距离将以球面上的米为单位。 |
spherical | 布尔值,默认值:false | 如果为 true,则在单位球面上执行计算。如果为 false,则计算将采用椭圆形,并考虑地球扁平化。如果指定了 proj,则忽略此字段。默认值为 false。 |
示例
Code Editor (JavaScript)
// Define a MultiPolygon object.
var multiPolygon = ee.Geometry.MultiPolygon(
[[[[-122.092, 37.424],
[-122.086, 37.418],
[-122.079, 37.425],
[-122.085, 37.423]]],
[[[-122.081, 37.417],
[-122.086, 37.421],
[-122.089, 37.416]]]]);
// Define other inputs.
var inputGeom = ee.Geometry.Point(-122.090, 37.423);
// Apply the distance method to the MultiPolygon object.
var multiPolygonDistance = multiPolygon.distance({'right': inputGeom, 'maxError': 1});
// Print the result to the console.
print('multiPolygon.distance(...) =', multiPolygonDistance);
// Display relevant geometries on the map.
Map.setCenter(-122.085, 37.422, 15);
Map.addLayer(multiPolygon,
{'color': 'black'},
'Geometry [black]: multiPolygon');
Map.addLayer(inputGeom,
{'color': 'blue'},
'Parameter [blue]: inputGeom');
Python 设置
如需了解 Python API 以及如何使用 geemap
进行交互式开发,请参阅
Python 环境页面。
import ee
import geemap.core as geemap
Colab (Python)
# Define a MultiPolygon object.
multipolygon = ee.Geometry.MultiPolygon([
[[
[-122.092, 37.424],
[-122.086, 37.418],
[-122.079, 37.425],
[-122.085, 37.423],
]],
[[[-122.081, 37.417], [-122.086, 37.421], [-122.089, 37.416]]],
])
# Define other inputs.
input_geom = ee.Geometry.Point(-122.090, 37.423)
# Apply the distance method to the MultiPolygon object.
multipolygon_distance = multipolygon.distance(right=input_geom, maxError=1)
# Print the result.
display('multipolygon.distance(...) =', multipolygon_distance)
# Display relevant geometries on the map.
m = geemap.Map()
m.set_center(-122.085, 37.422, 15)
m.add_layer(
multipolygon, {'color': 'black'}, 'Geometry [black]: multipolygon'
)
m.add_layer(input_geom, {'color': 'blue'}, 'Parameter [blue]: input_geom')
m
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-25。
[null,null,["最后更新时间 (UTC):2025-07-25。"],[[["\u003cp\u003e\u003ccode\u003edistance()\u003c/code\u003e calculates the minimum distance between a MultiPolygon and another geometry.\u003c/p\u003e\n"],["\u003cp\u003eThe function returns the distance as a float, potentially in meters on the sphere depending on the projection used.\u003c/p\u003e\n"],["\u003cp\u003eOptional parameters include \u003ccode\u003emaxError\u003c/code\u003e for reprojection tolerance and \u003ccode\u003eproj\u003c/code\u003e to specify the projection for the calculation.\u003c/p\u003e\n"],["\u003cp\u003eThe distance is computed from the boundary of the MultiPolygon to the nearest point on the other geometry.\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` (whether to use a spherical or elliptical model). The method returns a float representing the distance. Examples in JavaScript and Python demonstrate calculating the distance between a MultiPolygon and a Point, and how to display the result in a map.\n"],null,["# ee.Geometry.MultiPolygon.distance\n\nReturns the minimum distance between two geometries.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|-------------------------------------------------------------------------|---------|\n| MultiPolygon.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 MultiPolygon object.\nvar multiPolygon = ee.Geometry.MultiPolygon(\n [[[[-122.092, 37.424],\n [-122.086, 37.418],\n [-122.079, 37.425],\n [-122.085, 37.423]]],\n [[[-122.081, 37.417],\n [-122.086, 37.421],\n [-122.089, 37.416]]]]);\n\n// Define other inputs.\nvar inputGeom = ee.Geometry.Point(-122.090, 37.423);\n\n// Apply the distance method to the MultiPolygon object.\nvar multiPolygonDistance = multiPolygon.distance({'right': inputGeom, 'maxError': 1});\n\n// Print the result to the console.\nprint('multiPolygon.distance(...) =', multiPolygonDistance);\n\n// Display relevant geometries on the map.\nMap.setCenter(-122.085, 37.422, 15);\nMap.addLayer(multiPolygon,\n {'color': 'black'},\n 'Geometry [black]: multiPolygon');\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 MultiPolygon object.\nmultipolygon = ee.Geometry.MultiPolygon([\n [[\n [-122.092, 37.424],\n [-122.086, 37.418],\n [-122.079, 37.425],\n [-122.085, 37.423],\n ]],\n [[[-122.081, 37.417], [-122.086, 37.421], [-122.089, 37.416]]],\n])\n\n# Define other inputs.\ninput_geom = ee.Geometry.Point(-122.090, 37.423)\n\n# Apply the distance method to the MultiPolygon object.\nmultipolygon_distance = multipolygon.distance(right=input_geom, maxError=1)\n\n# Print the result.\ndisplay('multipolygon.distance(...) =', multipolygon_distance)\n\n# Display relevant geometries on the map.\nm = geemap.Map()\nm.set_center(-122.085, 37.422, 15)\nm.add_layer(\n multipolygon, {'color': 'black'}, 'Geometry [black]: multipolygon'\n)\nm.add_layer(input_geom, {'color': 'blue'}, 'Parameter [blue]: input_geom')\nm\n```"]]