intersections static method
Calculates the intersection of two geometries.
The returned collection contains one geometry of each dimension for which there are intersections. For example, if both inputs are polylines, the collection contains at most two geometries: the first a multipoint containing the points at which the lines cross, and the second a polyline containing the lines of overlap. If a crossing point lies within a line of overlap, only the line of overlap is present. The result set is not self-intersecting. If there are no crossing points or there are no lines of overlap, the respective geometry is not present in the returned collection. If the input geometries do not intersect, the resulting collection is empty. The table below shows, for each combination of pairs of input geometry types, the types of geometry that are contained within the returned collection if there are intersections of that type.
Input type | Point/Multipoint | Polyline | Polygon/Envelope |
---|---|---|---|
Point/Multipoint | Multipoint | Multipoint | Multipoint |
Polyline | Multipoint | Multipoint, Polyline | Multipoint, Polyline |
Polygon/Envelope | Multipoint | Multipoint, Polyline | Multipoint, Polyline, Polygon |
Supports true curves.
Parameters:
geometry1
— A geometry object.geometry2
— Another geometry object.
Return Value: A collection of geometry objects that represent the intersection of the given geometries.
Implementation
static List<Geometry> intersections({
required Geometry geometry1,
required Geometry geometry2,
}) {
_initializeArcGISEnvironmentIfNeeded();
final arrayHandle = _withThrowingErrorHandler((errorHandler) {
return runtimecore.RT_GeometryEngine_intersections(
geometry1._handle,
geometry2._handle,
errorHandler,
);
});
return arrayHandle.toList();
}