2016-06-29 3 views
2

여기에서 내가 풀려고하는 문제가 있습니다.Cloudant에서의 거리 계산

클라이언트는 Node.js 앱에서 관리하는 API를 통해 들어오는 현재 위치를 전송합니다. Cloudant 데이터베이스는 좌표 목록 (수천)을 저장합니다.

얻을 수있는 최적의 방법이 될 것입니다 무엇 A) 클라이언트의 위치

의 X 킬로미터 반경 내에 C) 모든 좌표 및 b)는 고객의 위치에서 그 좌표의 각 거리의 목록

저장된 좌표에 대한 지형 공간 인덱스가 이미 생성되었습니다.

속도와 효율성이 중요하지만 때로는 이러한 특성이 반대 일 수 있습니다. 가능하다면 커스텀 코드 대신 Cloudant 내에서 네이티브 함수를 사용하는 것을 선호합니다. 이미 cloudant에서 일부 빌드 전 지형 공간 물건이 같은

답변

1

사이트에 보면, 보이는 : 과거 언젠가 https://docs.cloudant.com/geo.html#geospatial-indexing

,이 조금 다른했다. 나는 수색 색인으로 그것을했다 : https://docs.cloudant.com/search.html 이 색인은 위 사기를 & lng 낼 것입니다. 그런 다음 일부 검색 지점에서 25 마일 이내에있는 문서를 찾으려면 [search_lat-25miles, search_lat + 25miles]의 경도와 [search_lng-25miles, search_lat + 25miles]의 lng를 묶는 lucene 쿼리를 작성할 수 있습니다. 이 방법을 사용하여 원시 lat & lng을 사용하여이 작업을 수행 할 수있었습니다. 클라우드는 지형 공간 검색을 좀 더 직관적으로 만들기위한 새로운 기능을 가지고있는 것처럼 보입니다.

+0

Cloudant Search는 주어진 지점으로부터의 거리를 반환하려는 경우 이동하는 방법입니다. [Cloudant Geo] (https://docs.cloudant.com/geo.html)는 불규칙한 다각형으로 쿼리 할 수 ​​있다는 점에서보다 유연한 인덱스이지만 db는 해당 거리 정보를 응답에 추가 할 수 없습니다. 다음은 자습서입니다. https://examples.cloudant.com/simplegeo_places/_design/geo/search.html – Raj