relate static method
Test if the two geometries are related using a custom relation.
You can test for a custom spatial relationship by defining your own relation. For example, you can create a relation that tests if two geometries intersect and touch.
The Dimensionally Extended 9 Intersection Model (DE-9IM) matrix relation (encoded as a string) is a custom spatial relationship type used to test the relationship of two geometries. See Custom spatial relationships for more information about the DE-9IM model and how the relationship string patterns are constructed.
For example, each of the following DE-9IM string codes are valid for testing whether a polygon geometry completely contains a line geometry: "TTTFFTFFT" (Boolean), "T*****FF*" (ignore irrelevant intersections), or "102FFFF" (dimension form). Each returns the same result.
Supports true curves.
Parameters:
geometry1
— A geometry object.geometry2
— Another geometry object.relation
— The DE-9IM string to be evaluated. This must be nine characters long and only contain the characters TF*012.
Return Value: True if the two geometries have the given relationship, false otherwise.
Implementation
static bool relate({
required Geometry geometry1,
required Geometry geometry2,
required String relation,
}) {
_initializeArcGISEnvironmentIfNeeded();
final coreRelation = _CString(relation);
return _withThrowingErrorHandler((errorHandler) {
return runtimecore.RT_GeometryEngine_relate(
geometry1._handle,
geometry2._handle,
coreRelation.bytes,
errorHandler,
);
});
}