From 5b5bcaa12bedacb18cf5ee6f3025f74d6927e823 Mon Sep 17 00:00:00 2001 From: Rafael Schouten Date: Mon, 24 Feb 2025 22:45:11 +0100 Subject: [PATCH] handle no extent in query --- src/SortTileRecursiveTree.jl | 7 +++++-- test/runtests.jl | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/SortTileRecursiveTree.jl b/src/SortTileRecursiveTree.jl index 8112f75..3f11026 100644 --- a/src/SortTileRecursiveTree.jl +++ b/src/SortTileRecursiveTree.jl @@ -134,8 +134,11 @@ function query(tree::STRtree, extent::Extent) query!(query_result, tree.rootnode, extent) return unique(sort!(query_result)) end - -query(tree::STRtree, geom) = query(tree, GI.extent(geom)) +function query(tree::STRtree, geom) + ext = GI.extent(geom) + isnothing(ext) && throw(ArgumentError("No Extent found in object $geom")) + return query(tree, ext) +end """recursively query the nodes until a leaf node is reached""" function query!(query_result::Vector{Int}, node::STRNode, extent::Extent) diff --git a/test/runtests.jl b/test/runtests.jl index cdad0bb..a0ae4fc 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -15,6 +15,7 @@ import GeoInterface as GI @test query(tree, Extent(X=(0, 1.5), Y=(0, 1.5))) == [1] @test query(tree, Extent(X=(0, 0.5), Y=(0, 0.5))) == [] + @test_throws ArgumentError query(tree, 1) end @testset "Many points" begin