Реализация 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 с достаточным количеством информации для воспроизведения, я посмотрю.