@@ -302,4 +302,64 @@ class RTreeTest extends AnyFunSuite {
302
302
RTreeEntry (- 814.5254f ,- 227.29942f ,- 683.1148f ,- 222.56693f ,207150 ))
303
303
RTree (entries, 4 ).entries.toSet == entries.toSet
304
304
}
305
+
306
+ test(" issue 292" ) {
307
+ import SphericalEarth ._
308
+ val entries = List (
309
+ RTreeEntry (- 21.69785f ,21.64581f ,- 21.69785f ,21.64581f ," BWGNZ" ),
310
+ RTreeEntry (- 18.36536f ,21.84219f ,- 18.36536f ,21.84219f ," BWSWX" ),
311
+ RTreeEntry (- 21.66667f ,22.05f ,- 21.66667f ,22.05f ," BWSUN" ),
312
+ RTreeEntry (- 19.98333f ,23.41667f ,- 19.98333f ,23.41667f ," BWMUB" ),
313
+ RTreeEntry (- 23.9988f ,21.77962f ,- 23.9988f ,21.77962f ," BWHUK" ),
314
+ RTreeEntry (- 26.05f ,22.45f ,- 26.05f ,22.45f ," BWTBY" ),
315
+ RTreeEntry (- 24.60167f ,24.72806f ,- 24.60167f ,24.72806f ," BWJWA" ),
316
+ RTreeEntry (- 25.22435f ,25.67728f ,- 25.22435f ,25.67728f ," BWLOQ" ),
317
+ RTreeEntry (- 19.16422f ,23.75201f ,- 19.16422f ,23.75201f ," BWKHW" ),
318
+ RTreeEntry (- 17.80165f ,25.16024f ,- 17.80165f ,25.16024f ," BWBBK" ),
319
+ RTreeEntry (- 21.3115f ,25.37642f ,- 21.3115f ,25.37642f ," BWORP" ),
320
+ RTreeEntry (- 21.41494f ,25.59263f ,- 21.41494f ,25.59263f ," BWLET" ),
321
+ RTreeEntry (- 24.62694f ,25.86556f ,- 24.62694f ,25.86556f ," BWMGS" ),
322
+ RTreeEntry (- 24.87158f ,25.86989f ,- 24.87158f ,25.86989f ," BWRSA" ),
323
+ RTreeEntry (- 24.65451f ,25.90859f ,- 24.65451f ,25.90859f ," BWGBE" ),
324
+ RTreeEntry (- 24.66667f ,25.91667f ,- 24.66667f ,25.91667f ," BWGAB" ),
325
+ RTreeEntry (- 22.38754f ,26.71077f ,- 22.38754f ,26.71077f ," BWSER" ),
326
+ RTreeEntry (- 23.10275f ,26.83411f ,- 23.10275f ,26.83411f ," BWMAH" ),
327
+ RTreeEntry (- 22.54605f ,27.12507f ,- 22.54605f ,27.12507f ," BWPAL" ),
328
+ RTreeEntry (- 21.97895f ,27.84296f ,- 21.97895f ,27.84296f ," BWPKW" ),
329
+ RTreeEntry (- 21.17f ,27.50778f ,- 21.17f ,27.50778f ," BWFRW" ))
330
+ val tree = RTree (entries, 4 )
331
+ tree.toString == """ RTreeNode(-26.05,21.64581,-17.80165,27.84296)
332
+ | RTreeNode(-26.05,21.64581,-17.80165,25.91667)
333
+ | RTreeNode(-21.69785,21.64581,-18.36536,23.41667)
334
+ | RTreeEntry(-21.69785,21.64581,-21.69785,21.64581,BWGNZ)
335
+ | RTreeEntry(-18.36536,21.84219,-18.36536,21.84219,BWSWX)
336
+ | RTreeEntry(-21.66667,22.05,-21.66667,22.05,BWSUN)
337
+ | RTreeEntry(-19.98333,23.41667,-19.98333,23.41667,BWMUB)
338
+ | RTreeNode(-26.05,21.77962,-23.9988,25.67728)
339
+ | RTreeEntry(-23.9988,21.77962,-23.9988,21.77962,BWHUK)
340
+ | RTreeEntry(-26.05,22.45,-26.05,22.45,BWTBY)
341
+ | RTreeEntry(-24.60167,24.72806,-24.60167,24.72806,BWJWA)
342
+ | RTreeEntry(-25.22435,25.67728,-25.22435,25.67728,BWLOQ)
343
+ | RTreeNode(-21.41494,23.75201,-17.80165,25.59263)
344
+ | RTreeEntry(-19.16422,23.75201,-19.16422,23.75201,BWKHW)
345
+ | RTreeEntry(-17.80165,25.16024,-17.80165,25.16024,BWBBK)
346
+ | RTreeEntry(-21.3115,25.37642,-21.3115,25.37642,BWORP)
347
+ | RTreeEntry(-21.41494,25.59263,-21.41494,25.59263,BWLET)
348
+ | RTreeNode(-24.87158,25.86556,-24.62694,25.91667)
349
+ | RTreeEntry(-24.62694,25.86556,-24.62694,25.86556,BWMGS)
350
+ | RTreeEntry(-24.87158,25.86989,-24.87158,25.86989,BWRSA)
351
+ | RTreeEntry(-24.65451,25.90859,-24.65451,25.90859,BWGBE)
352
+ | RTreeEntry(-24.66667,25.91667,-24.66667,25.91667,BWGAB)
353
+ | RTreeNode(-23.10275,26.71077,-21.17,27.84296)
354
+ | RTreeNode(-23.10275,26.71077,-21.97895,27.84296)
355
+ | RTreeEntry(-22.38754,26.71077,-22.38754,26.71077,BWSER)
356
+ | RTreeEntry(-23.10275,26.83411,-23.10275,26.83411,BWMAH)
357
+ | RTreeEntry(-22.54605,27.12507,-22.54605,27.12507,BWPAL)
358
+ | RTreeEntry(-21.97895,27.84296,-21.97895,27.84296,BWPKW)
359
+ | RTreeNode(-21.17,27.50778,-21.17,27.50778)
360
+ | RTreeEntry(-21.17,27.50778,-21.17,27.50778,BWFRW)
361
+ |""" .stripMargin
362
+ tree.nearestOption(24.65527f , 25.91904f , 50.0f ) == Some (RTreeEntry (- 24.65451f ,25.90859f ,- 24.65451f ,25.90859f ," BWGBE" ))
363
+ }
364
+
305
365
}
0 commit comments