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

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

Вот моя ограничивающая рамка:

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

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

«длина»: -74.24565887, «широта»: 40.66231918

...но многие из них намного далеки от стандартного.

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

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


person mattx    schedule 23.08.2013    source источник
comment
Вы пробовали отлаживать код RTree? Ваша ссылка выше, похоже, не работает, кстати.   -  person Has QUIT--Anony-Mousse    schedule 25.08.2013
comment
у меня нет. Я прочитал код, чтобы убедиться, что нет никаких очевидных проблем, таких как инвертирование сравнения с ограничивающим прямоугольником, и это нормально. Я, вероятно, пройдусь по нему, если больше некому будет что сказать.   -  person mattx    schedule 26.08.2013


Ответы (1)


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

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

person Aled    schedule 19.09.2013