Skip to content

Commit 531359b

Browse files
authored
Add rectangletrait dispatch for Extent. (#383)
1 parent 769c3e1 commit 531359b

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

src/methods/geom_relations/common.jl

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,18 @@ for f in (:coveredby, :crosses, :disjoint, :overlaps, :touches, :within)
1010
$_f(::GI.FeatureTrait, g1, ::GI.FeatureTrait, g2; kw...) = $f(GI.geometry(g1), GI.geometry(g2); kw...)
1111

1212
# Extent forwarding
13+
$_f(t1::GI.FeatureTrait, f1, ::GI.RectangleTrait, e::Extents.Extent; kw...) =
14+
$_f(t1, f1, GI.PolygonTrait(), extent_to_polygon(e); kw...)
15+
$_f(::GI.RectangleTrait, e1::Extents.Extent, t2::GI.FeatureTrait, f2; kw...) =
16+
$_f(GI.PolygonTrait(), extent_to_polygon(e1), t2, f2; kw...)
17+
$_f(t1::GI.AbstractGeometryTrait, g1, ::GI.RectangleTrait, e::Extents.Extent; kw...) =
18+
$_f(t1, g1, GI.PolygonTrait(), extent_to_polygon(e); kw...)
19+
$_f(::GI.RectangleTrait, e1::Extents.Extent, t2::GI.AbstractGeometryTrait, g2; kw...) =
20+
$_f(GI.PolygonTrait(), extent_to_polygon(e1), t2, g2; kw...)
21+
$_f(::GI.RectangleTrait, e1::Extents.Extent, ::GI.RectangleTrait, e2::Extents.Extent; kw...) =
22+
Extents.$f(e1, e2)
23+
24+
# Backwards compatibility for when Extent traits were Nothing
1325
$_f(t1::GI.FeatureTrait, f1, ::Nothing, e::Extents.Extent; kw...) =
1426
$_f(t1, f1, GI.PolygonTrait(), extent_to_polygon(e); kw...)
1527
$_f(::Nothing, e1::Extents.Extent, t2::GI.FeatureTrait, f2; kw...) =
@@ -19,10 +31,10 @@ for f in (:coveredby, :crosses, :disjoint, :overlaps, :touches, :within)
1931
$_f(::Nothing, e1::Extents.Extent, t2::GI.AbstractGeometryTrait, g2; kw...) =
2032
$_f(GI.PolygonTrait(), extent_to_polygon(e1), t2, g2; kw...)
2133
$_f(::Nothing, e1::Extents.Extent, ::Nothing, e2::Extents.Extent; kw...) =
22-
Extents.$f(e1, e2)
23-
24-
# Table rows ? or error
25-
$_f(::Nothing, g1, ::GI.FeatureTrait, f2; kw...) = $f(_geometry_or_error(g1; kw...), f2)
34+
Extents.$f(e1, e2)
35+
36+
# Table rows ? or error
37+
$_f(::Nothing, g1, ::GI.FeatureTrait, f2; kw...) = $f(_geometry_or_error(g1; kw...), f2)
2638
$_f(::GI.FeatureTrait, f1, ::Nothing, g2; kw...) = $f(f1, _geometry_or_error(g2; kw...))
2739
$_f(::Nothing, g1, ::GI.AbstractGeometryTrait, g2; kw...) = $f(_geometry_or_error(g1; kw...), g2)
2840
$_f(::GI.AbstractGeometryTrait, g1, ::Nothing, g2; kw...) = $f(g1, _geometry_or_error(g2; kw...))

0 commit comments

Comments
 (0)