Skip to content
Updated Intersection Matrix Calculation (markdown) authored by eswiss's avatar eswiss
......@@ -243,4 +243,29 @@ If the order of the two geometries is reversed, the intersection matrix would be
**The dimension of the intersection of two geometries, both of which are dimension .two, is either .zero,.one, .two., or .false**
if a line segment from one polygon boundary crosses over a line segment of the boundary of the other polygon, then return .two. If one polygon is completely contained inside another polygon, but not completely contained inside a hole within the first polygon, return .two. If the boundaries of the two polygons overlap perfectly, return .two. If the boundaries of the two polygons overlap on any sub-segment, return .one. If the boundaries of the two polygons touch at one or more points, return .zero, else return .false.
\ No newline at end of file
If a line segment from one polygon boundary crosses over a line segment of the boundary of the other polygon, then return .two. If one polygon is completely contained inside another polygon, but not completely contained inside a hole within the first polygon, return .two. If the boundaries of the two polygons overlap perfectly, return .two. If the boundaries of the two polygons overlap on any sub-segment, return .one. If the boundaries of the two polygons touch at one or more points, return .zero, else return .false.
The IM for the two disjoint geometries of dimensions .two is FF2FF1212.
The IM for two Polygons that do intersect is
I ∩ I = 2, if the interiors overlap, else .false (Note this value cannot be 1 or 0.)
I ∩ B = 1, if the interior of one line segment of one Polygon is inside the second Polygon, else .false (Note this value cannot be 0.)
I ∩ E = 2, if the first Polygon is not a subset of the second Polygon, .else .false. (Note this value cannot be 1 or 0.)
B ∩ I = 1, if one line segment of the boundary of the first Polygon is inside the second Polygon, else .false (Note this value cannot be 0.)
B ∩ B = 1, if line segments from each Polygon overlap, else 0, if the boundaries of the Polygons touch at one or more points, else .false
B ∩ E = 1, if the first Polygon is not a subset of the second Polygon, else .false (Note this value cannot be 0.)
E ∩ I = 2, if the second Polygon is not a subset of the first Polygon, .else .false. (Note this value cannot be 1 or 0.)
E ∩ B = 1, if the second Polygon is not a subset of the first Polygon, else .false (Note this value cannot be 0.)
E ∩ E = 2
TBD:
The IM for a MultiPolygon and a Polygon, in that order, that do intersect is
I ∩ I = 2, if the interiors overlap, else .false (Note this value cannot be 1 or 0.)
I ∩ B = 1, if the interior of one line segment of one Polygon is inside the second Polygon, else .false (Note this value cannot be 0.)
I ∩ E = 2, if the first Polygon is not a subset of the second Polygon, .else .false. (Note this value cannot be 1 or 0.)
B ∩ I = 1, if one line segment of the boundary of the first Polygon is inside the second Polygon, else .false (Note this value cannot be 0.)
B ∩ B = 1, if line segments from each Polygon overlap, else 0, if the boundaries of the Polygons touch at one or more points, else .false
B ∩ E = 1, if the first Polygon is not a subset of the second Polygon, else .false (Note this value cannot be 0.)
E ∩ I = 2, if the second Polygon is not a subset of the first Polygon, .else .false. (Note this value cannot be 1 or 0.)
E ∩ B = 1, if the second Polygon is not a subset of the first Polygon, else .false (Note this value cannot be 0.)
E ∩ E = 2
\ No newline at end of file