Skip to content
Updated Intersection Matrix Calculation (markdown) authored by eswiss's avatar eswiss
...@@ -187,7 +187,7 @@ I ∩ B = .false ...@@ -187,7 +187,7 @@ I ∩ B = .false
I ∩ E = 2 I ∩ E = 2
B ∩ I = 1, if one line segment of the boundary of the Polygon overlaps one line segment from the LinearRing, else 0, if the interior of the LinearRing touches the Polygon at most at a set of points, else .false B ∩ I = 1, if one line segment of the boundary of the Polygon overlaps one line segment from the LinearRing, else 0, if the interior of the LinearRing touches the Polygon at most at a set of points, else .false
B ∩ B = .false B ∩ B = .false
B ∩ E = 1, if the boundary of the Polygon is not the same as the LinearRing, else .false B ∩ E = 1, if the boundary of the Polygon is not the same as the LinearRing, else .false (Note this value cannot be 0.)
E ∩ I = 1, if part of one line segment of the LinearRing lies outside of the Polygon, else .false (Note this value cannot be 0.) E ∩ I = 1, if part of one line segment of the LinearRing lies outside of the Polygon, else .false (Note this value cannot be 0.)
E ∩ B = .false E ∩ B = .false
E ∩ E = 2 E ∩ E = 2
...@@ -217,6 +217,18 @@ E ∩ B = 0, if at least one endpoint of the LineString lies outside of the Mult ...@@ -217,6 +217,18 @@ E ∩ B = 0, if at least one endpoint of the LineString lies outside of the Mult
E ∩ E = 2 E ∩ E = 2
If the order of the two geometries is reversed, the intersection matrix would be the transpose of the above. If the order of the two geometries is reversed, the intersection matrix would be the transpose of the above.
The IM for a MultiPolygon and a LinearRing, in that order, that do intersect is
I ∩ I = 1, if at least one line segment of the LinearRing enters the interior of the MultiPolygon, else .false (Note this value cannot be 0.)
I ∩ B = .false
I ∩ E = 2
B ∩ I = 1, if one line segment of the boundary of the MultiPolygon overlaps one line segment from the LinearRing, else 0, if the interior of the LinearRing touches the MultiPolygon at most at a set of points, else .false
B ∩ B = .false
B ∩ E = 1, if the boundary of the MultiPolygon does not completely contain the LinearRing, else .false (Note this value cannot be 0.)
E ∩ I = 1, if part of one line segment of the LinearRing lies outside of the MultiPolygon, else .false (Note this value cannot be 0.)
E ∩ B = .false
E ∩ E = 2
If the order of the two geometries is reversed, the intersection matrix would be the transpose of the above.
**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