公告:所有在
2025 年 4 月 15 日之前注册使用 Earth Engine 的非商业项目都必须
验证是否符合非商业性质的资格条件,才能继续使用 Earth Engine。
ee.Geometry.closestPoint
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
返回右侧输入中与左侧输入最接近的点。如果任一输入为空,则返回 null。如果两个输入都是无界限的,则返回任意点。如果一个输入是无界的,则返回有界输入中的任意点。
用法 | 返回 |
---|
Geometry.closestPoint(right, maxError, proj) | 对象 |
参数 | 类型 | 详细信息 |
---|
此:left | 几何图形 | 用作运算左操作数的几何图形。 |
right | 几何图形 | 用作相应运算的右操作数的几何图形。 |
maxError | ErrorMargin,默认值:null | 执行任何必要的重新投影时可容忍的最大误差量。 |
proj | 投影,默认值:null | 执行操作的投影。如果未指定,则操作将在球面坐标系中执行,并且球面上的直线距离将以米为单位。 |
示例
代码编辑器 (JavaScript)
// Define a Geometry object.
var geometry = ee.Geometry({
'type': 'Polygon',
'coordinates':
[[[-122.081, 37.417],
[-122.086, 37.421],
[-122.084, 37.418],
[-122.089, 37.416]]]
});
// Define other inputs.
var inputGeom = ee.Geometry.Polygon(
[[[-122.068, 37.418],
[-122.068, 37.416],
[-122.064, 37.416],
[-122.064, 37.418]]]);
// Apply the closestPoints method to the Geometry objects.
var closestPoints = ee.Dictionary(geometry.closestPoints({'right': inputGeom, 'maxError': 1}));
// Print the result to the console.
print('geometry.closestPoints(...) =', closestPoints);
// There is also a one-sided API for convenience.
var closestPointOnInputGeom = geometry.closestPoint({'right': inputGeom, 'maxError': 1});
print('geometry.closestPoint(...) =', closestPointOnInputGeom);
// Display relevant geometries on the map.
Map.setCenter(-122.085, 37.422, 15);
Map.addLayer(geometry,
{'color': 'black'},
'Geometry [black]: geometry');
Map.addLayer(inputGeom,
{'color': 'blue'},
'Parameter [blue]: inputGeom');
Map.addLayer(closestPoints.getGeometry('left'),
{'color': 'red'},
'Result [red]: closestPointOnLeft');
Map.addLayer(closestPoints.getGeometry('right'),
{'color': 'red'},
'Result [red]: closestPointOnRight');
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-26。
[null,null,["最后更新时间 (UTC):2025-07-26。"],[[["\u003cp\u003e\u003ccode\u003eclosestPoint()\u003c/code\u003e returns the nearest point on the right geometry to the left geometry, returning null if either input is empty.\u003c/p\u003e\n"],["\u003cp\u003eIf only one input is unbounded, an arbitrary point in the bounded input is returned, and if both are unbounded, an arbitrary point is returned.\u003c/p\u003e\n"],["\u003cp\u003eIt accepts an optional \u003ccode\u003emaxError\u003c/code\u003e for reprojection and an optional \u003ccode\u003eproj\u003c/code\u003e to define the projection for the operation, defaulting to spherical coordinates in meters if unspecified.\u003c/p\u003e\n"],["\u003cp\u003eThere is also a one-sided API: \u003ccode\u003eclosestPointOnInputGeom\u003c/code\u003e that returns a feature representing the closest point only on the input geometry.\u003c/p\u003e\n"]]],[],null,["# ee.Geometry.closestPoint\n\nReturns the point on the right input that is nearest to the left input. If either input is empty, null is returned. If both inputs are unbounded, an arbitrary point is returned. If one input is unbounded, an arbitrary point in the bounded input is returned.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|---------------------------------------------------------|---------|\n| Geometry.closestPoint`(right, `*maxError* `, `*proj*`)` | Object |\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\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// Define a Geometry object.\nvar geometry = ee.Geometry({\n 'type': 'Polygon',\n 'coordinates':\n [[[-122.081, 37.417],\n [-122.086, 37.421],\n [-122.084, 37.418],\n [-122.089, 37.416]]]\n});\n\n// Define other inputs.\nvar inputGeom = ee.Geometry.Polygon(\n [[[-122.068, 37.418],\n [-122.068, 37.416],\n [-122.064, 37.416],\n [-122.064, 37.418]]]);\n\n// Apply the closestPoints method to the Geometry objects.\nvar closestPoints = ee.Dictionary(geometry.closestPoints({'right': inputGeom, 'maxError': 1}));\n\n// Print the result to the console.\nprint('geometry.closestPoints(...) =', closestPoints);\n\n// There is also a one-sided API for convenience.\nvar closestPointOnInputGeom = geometry.closestPoint({'right': inputGeom, 'maxError': 1});\nprint('geometry.closestPoint(...) =', closestPointOnInputGeom);\n\n// Display relevant geometries on the map.\nMap.setCenter(-122.085, 37.422, 15);\nMap.addLayer(geometry,\n {'color': 'black'},\n 'Geometry [black]: geometry');\nMap.addLayer(inputGeom,\n {'color': 'blue'},\n 'Parameter [blue]: inputGeom');\nMap.addLayer(closestPoints.getGeometry('left'),\n {'color': 'red'},\n 'Result [red]: closestPointOnLeft');\nMap.addLayer(closestPoints.getGeometry('right'),\n {'color': 'red'},\n 'Result [red]: closestPointOnRight');\n```"]]