@@ -179,8 +179,10 @@ module LibSpatialIndex
179179 minvalues:: Vector{Float64} ,
180180 maxvalues:: Vector{Float64}
181181 )
182+ length (minvalues) == rtree. ndim || throw (DimensionMismatch (" Minimum values must have same length as RTree dimensions" ))
183+ length (maxvalues) == rtree. ndim || throw (DimensionMismatch (" Maximum values must have same length as RTree dimensions" ))
182184 C. Index_InsertData (rtree. index, Int64 (id), pointer (minvalues),
183- pointer (maxvalues), UInt32 (length (minvalues) ), Ptr {UInt8} (0 ), Cint (0 )
185+ pointer (maxvalues), UInt32 (rtree . ndim ), Ptr {UInt8} (0 ), Cint (0 )
184186 )
185187 end
186188 function insert! (rtree:: RTree , id:: Integer , extent:: GI.Extent )
@@ -213,10 +215,13 @@ module LibSpatialIndex
213215 minvalues:: Vector{Float64} ,
214216 maxvalues:: Vector{Float64}
215217 )
218+ length (minvalues) == rtree. ndim || throw (DimensionMismatch (" Minimum values must have same length as RTree dimensions" ))
219+ length (maxvalues) == rtree. ndim || throw (DimensionMismatch (" Maximum values must have same length as RTree dimensions" ))
220+
216221 items = Ref {Ptr{Int64}} ()
217222 nresults = Ref {UInt64} ()
218223 result = C. Index_Intersects_id (rtree. index, pointer (minvalues),
219- pointer (maxvalues), UInt32 (length (minvalues) ), items, nresults
224+ pointer (maxvalues), UInt32 (rtree . ndim ), items, nresults
220225 )
221226 _checkresult (result, " Index_Intersects_id: Failed to evaluate" )
222227 unsafe_wrap (Array, items[], nresults[])
@@ -260,10 +265,13 @@ module LibSpatialIndex
260265 maxvalues:: Vector{Float64} ,
261266 k:: Integer
262267 )
268+ length (minvalues) == rtree. ndim || throw (DimensionMismatch (" Minimum values must have same length as RTree dimensions" ))
269+ length (maxvalues) == rtree. ndim || throw (DimensionMismatch (" Maximum values must have same length as RTree dimensions" ))
270+
263271 items = Ref {Ptr{Int64}} ()
264272 nresults = Ref {UInt64} (k)
265273 result = C. Index_NearestNeighbors_id (rtree. index, pointer (minvalues),
266- pointer (maxvalues), UInt32 (length (minvalues) ), items, nresults)
274+ pointer (maxvalues), UInt32 (rtree . ndim ), items, nresults)
267275 _checkresult (result, " Index_NearestNeighbors_id: Failed to evaluate" )
268276 unsafe_wrap (Array, items[], nresults[])
269277 end
0 commit comments