2013-08-23 1 views
0

JSI RTree 구현 https://github.com/aled/jsi을 사용하여 응용 프로그램의 지리적 위치를 색인하려고합니다. 약 7M 항목으로로드 한 다음 매사 추세 츠 주와 코네티컷주의 경계 상자가있는 포함 방법을 사용하여 쿼리합니다. 다시 돌아온 결과는 실제로 해당 경계 상자에 없습니다. 이 사용자 오류 또는 RTree 구현의 버그입니까? 여기 JSI RTree 구현에서 "contains"메서드가 잘못된 결과를 제공합니까?

내 바운딩 박스 :

사각형 R = 새로운 Rectangle (-73.630F, 43.185F, -69.675F, 40.946F); -74.24565887, "위도": 많은 잘못된 결과의

일이 하나

"경도"반환 된 40.66231918

...하지만 그들 중 많은 사람들이 훨씬 더 상자 밖으로이다.

실수로 색인의 ID를 잘못된 데이터에 잘못 매핑하지 않았는지 확인했습니다.

몇 가지 초기 테스트를 수행했을 때 색인에 몇 가지 점을 추가하고 경계 상자로 쿼리 한 결과 정확한 결과를 발견했습니다. 그래서 나는 혼란 스럽다. 바라건대 누군가 조언을 해줄 수 있기를 바랍니다.

+0

RTree 코드를 디버깅 해 보셨습니까? 위 링크가 작동하지 않는 것 같습니다. –

+0

나는 그렇지 않다. 경계 사각형에 대한 비교를 반전하는 것과 같은 명백한 문제가 없었는지 확인하기 위해 코드를 읽었습니다. 아무도 말하지 않으면 나는 그것을 통해 아마 단계 것입니다. – mattx

답변

0

여기에서 jsi의 저자. 내 생각에 이것은 아마도 당신이 라이브러리를 사용하는 방식에 문제가 있다는 것입니다.

재생산 할 충분한 정보가있는 github에 문제가있는 경우 살펴 보겠습니다.