方法概述
名称 | 返回类型 | 描述 | 对象 | |
---|---|---|---|---|
Polygon|Polygon[] | 更多信息 在输入几何图形周围的指定距离处创建平面(或欧氏)缓冲区面。 | 更多信息 | geometryEngine | |
Geometry | 更多信息 按包络计算目标几何图形的裁剪几何图形。 | 更多信息 | geometryEngine | |
布尔值 | 更多信息 指示一个几何图形是否包含另一个几何图形。 | 更多信息 | geometryEngine | |
Geometry|Geometry[] | 更多信息 计算一个或多个几何形状的凸面船体。 | 更多信息 | geometryEngine | |
布尔值 | 更多信息 指示一个几何图形是否与另一个几何图形相交。 | 更多信息 | geometryEngine | |
Geometry[] | 更多信息 将输入折线或多边形与切割折线相交的位置拆分。 | 更多信息 | geometryEngine | |
Geometry | 更多信息 通过在现有顶点之间绘制点来致密化几何图形。 | 更多信息 | geometryEngine | |
Geometry|Geometry[] | 更多信息 创建两个几何图形的差异。 | 更多信息 | geometryEngine | |
布尔值 | 更多信息 指示一个几何图形是否与另一个几何图形不相交(不以任何方式相交)。 | 更多信息 | geometryEngine | |
整数 | 更多信息 计算两个几何图形之间的最短平面距离。 | 更多信息 | geometryEngine | |
布尔值 | 更多信息 指示两个几何图形是否相等。 | 更多信息 | geometryEngine | |
SpatialReferenceInfo | 更多信息 返回一个对象,其中包含有关输入空间参考的其他信息。 | 更多信息 | geometryEngine | |
Geometry | 更多信息 在水平轴上翻转几何图形。 | 更多信息 | geometryEngine | |
Geometry | 更多信息 在垂直轴上翻转几何图形。 | 更多信息 | geometryEngine | |
Geometry | 更多信息 对游标中的几何图形执行概化操作。 | 更多信息 | geometryEngine | |
整数 | 更多信息 计算输入几何图形的面积。 | 更多信息 | geometryEngine | |
Polygon|Polygon[] | 更多信息 在输入几何图形周围的指定距离处创建流地缓冲区面。 | 更多信息 | geometryEngine | |
Geometry | 更多信息 返回输入几何图形的测地线致密化版本。 | 更多信息 | geometryEngine | |
整数 | 更多信息 计算输入几何图形的长度。 | 更多信息 | geometryEngine | |
Geometry|Geometry[] | 更多信息 从两个几何之间的交点创建新几何。 | 更多信息 | geometryEngine | |
布尔值 | 更多信息 指示一个几何图形是否与另一个几何图形相交。 | 更多信息 | geometryEngine | |
布尔值 | 更多信息 指示给定的几何图形在拓扑上是否简单。 | 更多信息 | geometryEngine | |
NearestPointResult | 更多信息 查找最接近指定点的几何图形的坐标。 | 更多信息 | geometryEngine | |
NearestPointResult | 更多信息 在几何上查找最靠近指定点的顶点。 | 更多信息 | geometryEngine | |
NearestPointResult[] | 更多信息 查找距指定点的给定距离内的所有顶点,从最近点到最远点排序,并将它们作为对象数组返回。 | 更多信息 | geometryEngine | |
Geometry|Geometry[] | 更多信息 偏移操作创建的几何图形是距输入折线或面的恒定平面距离。 | 更多信息 | geometryEngine | |
布尔值 | 更多信息 指示一个几何图形是否与另一个几何图形重叠。 | 更多信息 | geometryEngine | |
整数 | 更多信息 计算输入几何图形的面积。 | 更多信息 | geometryEngine | |
整数 | 更多信息 计算输入几何图形的长度。 | 更多信息 | geometryEngine | |
布尔值 | 更多信息 指示给定的 DE-9IM 关系对于两个几何图形是否为真。 | 更多信息 | geometryEngine | |
Geometry | 更多信息 将几何图形逆时针旋转指定的度数。 | 更多信息 | geometryEngine | |
Geometry | 更多信息 对几何执行简化操作,这将更改给定的几何图形,使其定义相对于其几何类型在拓扑上合法。 | 更多信息 | geometryEngine | |
Geometry|Geometry[] | 更多信息 创建两个几何图形的对称差。 | 更多信息 | geometryEngine | |
布尔值 | 更多信息 指示一个几何图形是否与另一个几何图形接触。 | 更多信息 | geometryEngine | |
Geometry | 更多信息 所有输入必须具有相同类型的几何,并且共享一个空间参考。 | 更多信息 | geometryEngine | |
布尔值 | 更多信息 指示一个几何图形是否在另一个几何图形中。 | 更多信息 | geometryEngine |
方法详情
-
在输入几何图形周围的指定距离处创建平面(或欧氏)缓冲区面。
GeometryEngine 有两种用于缓冲客户端几何图形的方法:buffer 和 geodesicBuffer。谨慎决定使用哪种方法。作为一般规则,使用测地线缓冲区的前提是几何空间参考为 WGS84(wkid:4326) 或 Web 墨卡托。仅在尝试使用除 Web 墨卡托以外的投影坐标系缓冲几何时才使用缓冲区(此方法)。如果您需要使用 WGS84 以外的地理坐标系(wkid: 4326),使用 geometryService.buffer()。
参数:缓冲区输入几何。
geometry
和distance
参数必须指定为两个数组或两个非数组。切勿将一个指定为数组,另一个指定为非数组。用于缓冲的指定距离。
geometry
和distance
参数必须指定为两个数组或两个非数组。切勿将一个指定为数组,另一个指定为非数组。当使用几何数组作为输入时,几何数组的长度不必等于distance
数组的长度。例如,如果您传递一个包含四个几何的数组:[g1, g2, g3, g4]
和一个距离为:[d1]
的数组,则所有四个几何图形都将由单个距离值缓冲。如果改为使用包含三个距离的数组:[d1, d2, d3]
,g1
会被d1
缓冲,g2
会被d2
缓存,g3
和g4
都会被d3
缓冲。几何数组的值将与距离数组中的值一一匹配,直到达到距离数组的最终值,在这种情况下,该值将应用于剩余的几何。unit LinearUnits可选距离的测量单位。默认为输入几何图形的单位。
unionResults Boolean可选默认值:false确定输出几何图形是否应并集为单个多边形。
返回:类型 说明 Polygon | Polygon[] 生成的缓冲区。如果将几何图形数组用作输入,则结果将为数组。如果将单个几何图形输入到函数中,则该多边形将是单个面。 - 另请参阅:
示例:// Buffer point by 1000 feet const ptBuff = geometryEngine.buffer(point, 1000, "feet");
-
clip(geometry, envelope){Geometry}
-
按包络计算目标几何图形的裁剪几何图形。
参数:geometry Geometry要修剪的几何图形。
envelope Extent用于剪辑的信封。
返回:类型 说明 Geometry 剪裁几何。 示例:// returns a new geometry of a polygon clipped by the views extent const clippedGeometry= geometryEngine.clip(boundaryPolygon, view.extent);
-
contains(containerGeometry, insideGeometry){Boolean}
-
指示一个几何图形是否包含另一个几何图形。
参数:containerGeometry Geometry测试几何与其他几何的“包含”关系。将此几何体视为
insideGeometry
的潜在“容器”。insideGeometry Geometry测试与
containerGeometry
的“内部”关系的几何。返回:类型 说明 布尔值 如果 containerGeometry
包含insideGeometry
,则返回true
。示例:// returns true or false for one geometry containing another const isContained = geometryEngine.contains(boundaryPolygon, point);
// returns true or false for one geometry containing another const isContained = geometryEngine.contains(extent, boundaryPolygon);
-
计算一个或多个几何形状的凸面船体。凸面船体是包围一组几何体或顶点的最小凸面。输入可以是单个几何图形(如折线)或任何几何图形类型的数组。船体通常是多边形,但在退化情况下也可以是折线或点。
参数:用于计算凸面船体的输入几何图形。如果指定了数组,则输入数组可以包含各种几何类型。提供数组时,输出也将是数组。
merge Boolean可选默认值:false指示是否将输出合并到单个几何图形(通常是多边形)中。
返回:类型 说明 Geometry | Geometry[] 返回输入几何图形的凸壳。这通常是一个多边形,但也可以是一条折线(如果输入是一组点或多段线形成一条直线)或一个点(在退化的情况下)。 示例:// returns the convex hull of a multipoint as a single polygon const hull = geometryEngine.convexHull(multipoint);
// returns the convex hull of an array of points as a single polygon const [ hull ] = geometryEngine.convexHull([ pointA, pointB, pointC ], true);
// returns the convex hull for each input line geometry as three polygons const hulls = geometryEngine.convexHull([ lineA, lineB, lineC ]);
// returns the convex hull for all input line geometries as a single polygon const [ hull ] = geometryEngine.convexHull([ lineA, lineB, lineC ], true);
// returns the convex hull for all input geometries as a single polygon const [ hull ] = geometryEngine.convexHull([ point, line, polygon ], true);
-
crosses(geometry1, geometry2){Boolean}
-
指示一个几何图形是否与另一个几何图形相交。
参数:geometry1 Geometry要交叉的几何图形。
geometry2 Geometry正在交叉的几何图形。
返回:类型 说明 布尔值 如果 geometry1
穿过geometry2
,则返回true
。示例:// returns true or false if a line crosses a polygon another const isCrossed = geometryEngine.crosses(boundaryPolygon, polyline);
-
将输入折线或多边形与切割折线相交的位置拆分。对于折线,所有左侧切割都在第一个几何图形中组合在一起。右切割和重合切割在第二个几何图形中分组,每个未定义的切割以及任何未切割的部分都作为单独的多段线输出。对于多边形,所有左侧切割都在第一个多边形中,所有右侧切割都在第二个多边形中,每个未定义的切割以及切割后的任何剩余部分都作为单独的多边形输出。如果没有返回切割,则数组将为空。只有在产生了左切或右切并且在切割后有剩余部分,或者切割被限定在刀具的左右两侧时,才会产生未定义的切割。
参数:geometry Geometry要切割的几何图形。
cutter Polyline用于切割几何图形的折线。
返回:类型 说明 Geometry[] 返回通过使用切割器切割输入几何体创建的几何体数组。 示例:// returns array of cut geometries const geometries = geometryEngine.cut(boundaryPolygon, polyline);
-
densify(geometry, maxSegmentLength, maxSegmentLengthUnit){Geometry}
-
通过在现有顶点之间绘制点来致密化几何图形。
参数:geometry Geometry要致密化的几何图形。
maxSegmentLength Number允许的最大段长度。必须是正值。
maxSegmentLengthUnit LinearUnits可选maxSegmentLength 的度量单位。默认为输入几何的单位。
返回:类型 说明 Geometry 致密几何。 示例:// Returns a densified geometry const geometry = geometryEngine.densify(boundaryPolygon, 25);
-
创建两个几何图形的差异。结果几何是
inputGeometry
不在subtractor
中的部分。subtractor
的维度必须等于或大于inputGeometry
的维度。参数:要从中减去的输入几何。
subtractor Geometry从 inputGeometry 中减去的几何图形。
返回:类型 说明 Geometry | Geometry[] 返回 inputGeometry 的几何减去减法器几何。 示例:// Creates a new geometry based on the // difference of the two const geometry = geometryEngine.difference(boundaryPolygon, buffers);
-
disjoint(geometry1, geometry2){Boolean}
-
指示一个几何图形是否与另一个几何图形不相交(不以任何方式相交)。
参数:geometry1 Geometry测试与其他几何的“不相交”关系的基础几何。
geometry2 Geometry测试与其他几何的“不相交”关系的比较几何。
返回:类型 说明 布尔值 如果 geometry1
和geometry2
不相交(不以任何方式相交),则返回true
。示例:// returns true if a geometry is not contained in another. // operates the opposite of contains const isDisjointed = geometryEngine.disjoint(polygon, boundaryPolygon);
-
distance(geometry1, geometry2, distanceUnit){Number}
-
计算两个几何图形之间的最短平面距离。距离以
distanceUnit
指定的线性单位报告,如果distanceUnit
为空,则以输入几何的 spatialReference 单位报告。要计算两点之间的测地线距离,首先使用两个兴趣点作为单条路径的起点和终点构造一条折线 。然后使用折线作为 geodesicLength() 方法的输入。
参数:geometry1 Geometry第一个输入几何。
geometry2 Geometry第二个输入几何。
distanceUnit LinearUnits可选返回值的计量单位。默认为输入几何图形的单位。
返回:类型 说明 整数 两个输入几何之间的距离。 示例:// returns numeric distance between two points const totalDistance = geometryEngine.distance(point1, point2, "feet");
-
equals(geometry1, geometry2){Boolean}
-
指示两个几何图形是否相等。
参数:geometry1 Geometry第一个输入几何。
geometry2 Geometry第二个输入几何。
返回:类型 说明 布尔值 如果两个输入几何图形相等,则返回 true
。示例:// returns true if two given geometries are equal const isEqual = geometryEngine.equals(line1, line2);
-
extendedSpatialReferenceInfo(spatialReference){SpatialReferenceInfo}
-
返回一个对象,其中包含有关输入空间参考的其他信息。
参数:spatialReference SpatialReference输入空间参考。
返回:类型 说明 SpatialReferenceInfo 解析为 SpatialReferenceInfo 对象。
-
flipHorizontal(geometry, flipOrigin){Geometry}
-
在水平轴上翻转几何图形。可以选择围绕一个点翻转。
参数:geometry Geometry要翻转的输入几何。
flipOrigin Point可选指向翻转几何图形。默认为几何体的质心。
返回:类型 说明 Geometry 翻转的几何体。 示例:// Returns a geometry flipped horizontally const geometry = geometryEngine.flipHorizontal(boundaryPolygon);
-
flipVertical(geometry, flipOrigin){Geometry}
-
在垂直轴上翻转几何图形。可以选择围绕一个点翻转。
参数:geometry Geometry要翻转的输入几何。
flipOrigin Point可选指向翻转几何图形。默认为几何体的质心。
返回:类型 说明 Geometry 翻转的几何体。 示例:// Returns a geometry flipped vertically const geometry = geometryEngine.flipVertical(boundaryPolygon);
-
generalize(geometry, maxDeviation, removeDegenerateParts, maxDeviationUnit){Geometry}
-
对游标中的几何图形执行概化操作。点和多点几何保持不变。包络线转换为多边形,然后进行概化。
参数:geometry Geometry要概化的输入几何图形。
maxDeviation Number从广义几何到原始几何允许的最大偏差。
removeDegenerateParts Boolean可选当为
true
时,几何的退化部分将从输出中删除(可能不适合绘制)。maxDeviationUnit LinearUnits可选最大偏差的测量单位。默认为输入几何的单位。
返回:类型 说明 Geometry 广义几何。 示例:// Returns a generalized geometry const geometry = geometryEngine.generalize(boundaryPolygon, 2.5, true, "miles");
-
geodesicArea(geometry, unit){Number}
-
计算输入几何图形的面积。与 planarArea() 不同,geodesicArea 在执行此计算时会考虑地球的曲率。因此,当使用空间参考为 WGS84(wkid:4326) 或 Web 墨卡托,最佳实践是使用 geodesicArea() 计算面积。如果输入几何具有 Web 墨卡托以外的投影坐标系,请改用 planarArea()。
此方法仅适用于 WGS84 (wkid: 4326) 和 Web 墨卡托 空间参考。
参数:geometry Polygon输入多边形。
unit ArealUnits可选返回值的计量单位。默认为输入几何图形的单位。
返回:类型 说明 整数 输入几何的区域。 示例:// Returns the numeric geodesic area of the given polygon const area = geometryEngine.geodesicArea(boundaryPolygon, "square-miles");
-
在输入几何图形周围的指定距离处创建流地缓冲区面。在计算距离时,此方法会考虑地球的曲率,从而在处理非常大的几何图形和/或在全球范围内空间变化的几何图形时提供高度准确的结果,其中一个投影坐标系无法准确绘制坐标和测量距离 对于所有几何形状。
此方法仅适用于 WGS84 (wkid: 4326) 和 Web 墨卡托 空间参考。通常,如果您的输入几何图形被分配了这两个空间参考之一,您应该始终使用 geodesicBuffer() 来获得这些几何图形的最准确结果。如果需要缓冲分配了Web Mercator 以外的投影坐标系,请改用 buffer()。如果输入几何具有 WGS84 以外的地理坐标系(wkid:4326),使用 geometryService.buffer()。
参数:缓冲区输入几何。
geometry
和distance
参数必须指定为两个数组或两个非数组。切勿将一个指定为数组,另一个指定为非数组。用于缓冲的指定距离。
geometry
和distance
参数必须指定为两个数组或两个非数组。切勿将一个指定为数组,另一个指定为非数组。当使用几何数组作为输入时,几何数组的长度不必等于distance
数组的长度。例如,如果您传递一个包含四个几何的数组:[g1, g2, g3, g4]
和一个距离的数组:[d1]
的数组,则所有四个几何图形都将由单个距离值缓冲。如果改为使用包含三个距离的数组:[d1, d2, d3]
,g1
会被d1
缓冲,g2
会被d2
缓存,g3
和g4
都会被d3
缓冲。几何数组的值将与距离数组中的值一一匹配,直到达到距离数组的最终值,在这种情况下,该值将应用于剩余的几何。unit LinearUnits可选距离的测量单位。默认为输入几何图形的单位。
unionResults Boolean可选默认值:false确定输出几何图形是否应并集为单个多边形。
返回:类型 说明 Polygon | Polygon[] 生成的缓冲区。如果将几何图形数组用作输入,则结果将为数组。如果将单个几何图形输入到函数中,则该多边形将是单个面。 示例:// point is a Point geometry const ptBuff = geometryEngine.geodesicBuffer(point, 1000, "kilometers"); // Buffer point by 1000km
-
geodesicDensify(geometry, maxSegmentLength, maxSegmentLengthUnit){Geometry}
-
返回输入几何图形的测地线致密化版本。使用此函数沿大圆绘制几何线条。
参数:要致密化的折线或多边形。
maxSegmentLength Number允许的最大分段长度(如果未提供
maxSegmentLengthUnit
,则以米为单位)。这必须是正值。maxSegmentLengthUnit LinearUnits可选maxSegmentLength
的度量单位。如果未提供,单位将默认为meters
。返回:类型 说明 Geometry 返回致密几何。 示例:// lineGeom is a line geometry const densifiedGeom = geometryEngine.geodesicDensify(lineGeom, 10000);
-
geodesicLength(geometry, unit){Number}
-
计算输入几何图形的长度。与 planarLength() 相反,测地线长度()在执行此计算时会考虑地球的曲率。因此,当使用空间参考为 WGS84(wkid:4326) 或 Web 墨卡托,最佳实践是使用 geodesicLength() 计算长度。如果输入几何具有 Web 墨卡托以外的投影坐标系,请改用 planarLength()。
此方法仅适用于 WGS84 (wkid: 4326) 和 Web 墨卡托 空间参考。
参数:geometry Geometry输入几何。
unit LinearUnits可选返回值的计量单位。默认为输入几何的单位。
返回:类型 说明 整数 输入几何的长度。 示例:// Returns the numeric geodesic length of the given line const length = geometryEngine.geodesicLength(riverGeometry, "miles");
-
从两个几何之间的交点创建新几何。如果输入几何具有不同的维度(即点 = 0;折线 = 1;多边形 = 2),则结果的维度将等于输入的最低维度下表描述了几何类型的各种组合的预期输出。请注意,
geometry1
和geometry2
在此操作中可以互换,并且如果翻转将返回相同的结果。几何 1 类型 几何 2 类型 结果几何类型 Polygon Polygon Polygon Polygon Polyline Polyline Polygon Point Point Polyline Polyline Polyline Polyline Point Point Point Point Point 请注意,两条相交的折线不会返回“点”几何图形。相反,此函数将返回两个几何图形之间相等的折线路径。
参数:输入几何图形或几何图形数组。
geometry2 Geometry要与几何相交的几何图形1。
返回:类型 说明 Geometry | Geometry[] 几何图形的交点。 示例:// Creates a new geometry from the intersection // of the two geometries const intersecting = geometryEngine.intersect(boundaryPolygon, buffers);
-
intersects(geometry1, geometry2){Boolean}
-
指示一个几何图形是否与另一个几何图形相交。
参数:geometry1 Geometry针对相交关系测试的几何图形与其他几何图形的关系。
geometry2 Geometry相交的几何图形。
返回:类型 说明 布尔值 如果输入几何图形彼此相交,则返回 true
。示例:// returns true if two given geometries intersect each other const isIntersecting = geometryEngine.intersects(boundaryPolygon, cityPolygon);
-
isSimple(geometry){Boolean}
-
指示给定的几何图形在拓扑上是否简单。在简化的几何中,不会出现多边形环或折线路径重叠,也不会发生自相交。
参数:geometry Geometry输入几何。
返回:类型 说明 布尔值 如果几何图形在拓扑上很简单,则返回 true
。示例:// returns true if given geometry is simple const simple = geometryEngine.isSimple(polyline);
-
nearestCoordinate(geometry, inputPoint){NearestPointResult}
-
查找最接近指定点的几何图形的坐标。
参数:geometry Geometry要考虑的几何图形。
inputPoint Point用于在几何中搜索最近坐标的点。
返回:类型 说明 NearestPointResult 返回包含最近坐标的对象。
-
nearestVertex(geometry, inputPoint){NearestPointResult}
-
在几何上查找最靠近指定点的顶点。
参数:geometry Geometry要考虑的几何图形。
inputPoint Point用于在几何中搜索最近折点的点。
返回:类型 说明 NearestPointResult 返回包含最近顶点的对象。 示例:// Finds the nearest vertex of the polygon to the input point const { coordinate, distance } = geometryEngine.nearestVertex(boundaryPolygon, point);
-
nearestVertices(geometry, inputPoint, searchRadius, maxVertexCountToReturn){NearestPointResult[]}
-
查找距指定点的给定距离内的所有顶点,从最近点到最远点排序,并将它们作为对象数组返回。
参数:geometry Geometry要考虑的几何图形。
inputPoint Point要从中测量的点。
searchRadius Number从输入点开始搜索的距离(以视图空间参考的单位计算)。
maxVertexCountToReturn Number要返回的最大顶点数。
返回:类型 说明 NearestPointResult[] 包含给定 searchRadius
内最近顶点的对象数组。示例:// Returns an array of the nearest vertices const nearest = geometryEngine.nearestVertices(boundaryPolygon, point, 500, 2);
-
偏移操作创建的几何图形是距输入折线或面的恒定平面距离。它类似于缓冲,但会产生片面结果。
参数:要偏移的几何图形。
offsetDistance Number要从输入几何图形偏移的平面距离。如果 offsetDistance > 0,则偏移几何体构造到定向输入几何的右侧,如果 offsetDistance = 0,则几何图形中没有变化,否则它将构造到左侧。对于简单多边形,外环的方向是顺时针的,对于内环,它是逆时针的。因此,简单多边形的“右侧”始终是其内部。
offsetUnit LinearUnits可选偏移距离的测量单位。默认为输入几何图形的单位。
joinType String可选联接类型。
可能值:"round"|"bevel"|"miter"|"square"
bevelRatio Number可选joinType = 'miter'
时适用; bevelRatio 乘以偏移距离,结果确定斜接偏移交叉点在斜切之前可以定位多远。flattenError Number可选joinType = 'round'
时适用; flattenError 确定结果段与真实圆弧相比的最大距离。该算法不会为每个轮连接生成超过大约 180 个顶点。返回:类型 说明 Geometry | Geometry[] 偏移几何。 示例:// Creates a new geometry offset from the provided geometry const offset = geometryEngine.offset(boundaryPolygon, 500, "meters", "round");
-
overlaps(geometry1, geometry2){Boolean}
-
指示一个几何图形是否与另一个几何图形重叠。
参数:geometry1 Geometry测试与其他几何的“重叠”关系的基础几何。
geometry2 Geometry测试几何与其他几何的“重叠”关系的比较几何。
返回:类型 说明 布尔值 如果两个输入几何图形重叠,则返回 true
。示例:// returns true if one geometry overlaps another, // but is not contained or disjointed const isOverlapping = geometryEngine.overlaps(polygon, boundaryPolygon);
-
planarArea(geometry, unit){Number}
-
计算输入几何图形的面积。与 geodesicArea() 不同,planeArea() 使用投影坐标执行此计算,并且不考虑地球的曲率。当使用空间参考为 WGS84(wkid: 4326) 或 Web 墨卡托,最佳实践是使用 geodesicArea() 计算面积。 如果输入几何具有 Web Mercator 以外的投影坐标系,请改用 planeArea()。
参数:geometry Polygon输入多边形。
unit ArealUnits可选返回值的计量单位。默认为输入几何图形的单位。
返回:类型 说明 整数 输入几何的区域。 示例:// Returns the numeric area of the given polygon const area = geometryEngine.planarArea(boundaryPolygon, "square-miles");
-
planarLength(geometry, unit){Number}
-
计算输入几何图形的长度。与 geodesicLength() 不同,planeLength() 使用投影坐标,并且在执行此计算时不考虑地球的曲率。因此,当使用空间参考为 WGS84(wkid:4326) 或 Web 墨卡托,最佳实践是使用 geodesicLength() 计算长度。如果输入几何具有 Web Mercator 以外的投影坐标系,请改用 planeLength()。
参数:geometry Geometry输入几何。
unit LinearUnits可选返回值的计量单位。默认为输入几何图形的单位。
返回:类型 说明 整数 输入几何的长度。 示例:// Returns the numeric length of the given line const length = geometryEngine.planarLength(riverGeometry, "miles");
-
relate(geometry1, geometry2, relation){Boolean}
-
指示给定的 DE-9IM 关系对于两个几何图形是否为真。
参数:geometry1 Geometry关系的第一个几何。
geometry2 Geometry关系的第二个几何。
relation String维度扩展 9 交叉模型 (DE-9IM)矩阵关系(编码为字符串),用于测试两个几何的关系。该字符串包含 DE-9IM 矩阵中表示的每个交叉点的测试结果。每个结果都是字符串的一个字符,可以表示为数字(返回的最大维度:
0
,1
,2
),布尔值 (T
或F
),或掩码字符(用于忽略结果:“*”)。例如,以下每个 DE-9IM 字符串代码都可用于测试多边形几何是否完全包含线几何:TTTFFTFFT
(布尔值)、“T******FF*”(忽略不相关的交叉点)或“102FF*FF*”(维度形式)。每个返回相同的结果。有关 DE-9IM 模型以及如何构造字符串代码的详细信息,请参阅本文。返回:类型 说明 布尔值 如果输入几何的关系是准确的,则返回 true
。示例:// returns true if the polygon geometry completely // contains the polyline based on the DE-9IM string const isRelated = geometryEngine.relate(polygon, polyline, "TTTFFTFFT");
-
rotate(geometry, angle, rotationOrigin){Geometry}
-
将几何图形逆时针旋转指定的度数。旋转围绕质心或给定的旋转点。
参数:geometry Geometry要旋转的几何图形。
angle Number以度为单位的旋转角度。
rotationOrigin Point可选指向旋转几何图形。默认为几何体的质心。
返回:类型 说明 Geometry 旋转的几何体。 示例:// Returns a geometry rotated by 45 degrees const geometry = geometryEngine.rotate(boundaryPolygon, 45);
-
simplify(geometry){Geometry}
-
对几何执行简化操作,这将更改给定的几何图形,使其定义相对于其几何类型在拓扑上合法。在简化操作结束时,多边形环或折线路径不会重叠,也不会发生自相交。
参数:geometry Geometry要简化的几何图形。
返回:类型 说明 Geometry 简化的几何。 示例:// Topologically simplifies a geometry const simplified = geometryEngine.simplify(polyline); console.log(geometryEngine.isSimple(simplified)); // true
-
创建两个几何图形的对称差。对称差异包括在任一集合中的部分,但不包括在两个集合中。
参数:XOR 操作中的 Geometry 实例之一。
rightGeometry GeometryXOR 操作中的 Geometry 实例之一。
返回:类型 说明 Geometry | Geometry[] 两种几何形状的对称差异。 示例:// Creates a new geometry based on the // symmetric difference of the two const geometry = geometryEngine.symmetricDifference(boundaryPolygon, buffers);
-
touches(geometry1, geometry2){Boolean}
-
指示一个几何图形是否与另一个几何图形接触。
参数:geometry1 Geometry用于测试与其他几何的“接触”关系的几何。
geometry2 Geometry要触摸的几何图形。
返回:类型 说明 布尔值 当为 true
时,geometry1
接触geometry2
。示例:// returns true if the line vertex touches the edge of the polygon const isTouching = geometryEngine.touches(polygon, line);
-
union(geometries){Geometry}
-
所有输入必须具有相同类型的几何,并且共享一个空间参考。
参数:要联合的几何数组。
返回:类型 说明 Geometry 几何图形的联合。 示例:// pt1 and pt2 are Point geometries to union together const union = geometryEngine.union([pt1, pt2]);
-
within(innerGeometry, outerGeometry){Boolean}
-
指示一个几何图形是否在另一个几何图形中。
参数:innerGeometry Geometry测试与其他几何的“内部”关系的基础几何。
outerGeometry Geometry为“包含”与其他几何的关系而测试的比较几何。
返回:类型 说明 布尔值 如果 innerGeometry
在outerGeometry
内,则返回true
。示例:// returns true if a geometry is completely within another const isWithin = geometryEngine.within(polygon, boundaryPolygon);
类型定义
-
面积测量单位。使用下面列出的可能值之一或任何面积单位的数字代码。
可能值:"acres"|"ares"|"hectares"|"square-feet"|"square-meters"|"square-yards"|"square-kilometers"|"square-miles"|Number
-
线性测量单位。使用下面列出的可能值之一或任何线性单位的数字代码。
可能值:"meters"|"feet"|"kilometers"|"miles"|"nautical-miles"|"yards"|Number
-
NearestPointResult
-
从 nearestCoordinate(), nearestVertex() 和 nearestVertices() 方法返回的对象。
-
SpatialReferenceInfo
-
extendedSpatialReferenceInfo() 方法的返回对象。