Реализация JSI RTree "содержит" метод, дающий неверные результаты?

Я пытаюсь использовать реализацию JSI RTree https://github.com/aled/jsi для индексации географических местоположений для моего приложения. Я загружаю в него около 7 миллионов записей, а затем запрашиваю его, используя метод contains с ограничивающим прямоугольником вокруг штатов Массачусетс и Коннектикут. Результаты, которые возвращаются, на самом деле не находятся в этой ограничительной рамке. Это ошибка пользователя или ошибка в реализации RTree?

Вот моя ограничительная рамка:

Rectangle r = новый прямоугольник (-73,630F,43,185F,-69,675F,40,946F);

один из многих неверных результатов был

"lon": -74.24565887, "lat": 40.66231918

... но многие из них намного дальше из коробки.

Я проверил, что я случайно не сопоставил идентификаторы в индексе с неправильными данными.

Когда я провел некоторое начальное тестирование, я добавил пару десятков точек к индексу и запросил его с помощью ограничительной рамки, и нашел результаты точными. Так что я в тупике. Надеюсь, у кого-то есть совет.

1 ответ

Автор JSI здесь. Сначала я думаю, что это, вероятно, проблема с тем, как вы используете библиотеку.

Если вы поднимете вопрос о github с достаточным количеством информации для воспроизведения, я посмотрю.

Другие вопросы по тегам