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 ...@@ -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** **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. 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
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