2017-01-05 10 views
0

아는대로 couchbase는 지형 공간 데이터를 지원하지만이 방법을 잘 모르겠습니다.Couchbase 지리 공간 경계 상자 쿼리

N1QL SELECT couchbase 문을 사용하여 경계 상자 안에있는 요소를 쿼리 할 수 ​​있다면 누구에게 알리십니까? 그렇다면 SELECT 문은 다음 json의 요소에 대한 경계 상자를 사용하여 쿼리하는 것과 어떻게 다릅니 까?

{ 
    "type": "Feature", 
    "properties": { 
    "name": "Bermuda Triangle", 
    "area": 1150180 
    }, 
    "geometry": { 
    "type": "Polygon", 
    "coordinates": [ 
     [ 
     [-64.73, 32.31], 
     [-80.19, 25.76], 
     [-66.09, 18.43], 
     [-64.73, 32.31] 
     ] 
    ] 
    } 
} 


{ 
    "type": "Feature", 
    "properties": { 
    "name": "Flemish Diamond", 
    "area": 2947 
    }, 
    "geometry": { 
    "type": "Polygon", 
    "coordinates": [ 
     [ 
     [3.55, 51.08], 
     [4.36, 50.73], 
     [4.84, 50.85], 
     [4.45, 51.30], 
     [3.55, 51.08] 
     ] 
    ] 
    } 
} 


{ 
    "type": "Feature", 
    "properties": { 
    "name": "Research Triangle", 
    "area": 252 
    }, 
    "geometry": { 
    "type": "Polygon", 
    "coordinates": [ 
     [ 
     [-78.93, 36.00], 
     [-78.67, 35.78], 
     [-79.04, 35.90], 
     [-78.93, 36.00] 
     ] 
    ] 
    } 
} 

답변

1

Couchbase 지형 공간 쿼리는 N1QL 쿼리가 아닌 지형 공간 뷰를 통해서만 지원됩니다.

좌표에 대한 지형 공간보기를 작성하고 Views API를 통해 조회해야합니다.

당신은 카우치베이스 서버 문서의 지리 공간 뷰에 대한 자세한 정보를 볼 수 있습니다

: 그것은 기술적으로 N1QL를 사용하여 지리 공간 쿼리를 모방하는 것이 가능하지만이 공간 인덱스에 의해 발생할 것이다 백업되지 않을 것이다입니다 https://developer.couchbase.com/documentation/server/current/indexes/querying-using-spatial-views.html

을 상당한 성능 저하 - 특히 여러분이 제공 한 것과 같은 폴리곤 데이터의 경우. 여기에서 포인트 데이터로 수행하는 방법에 대한 도움말을 볼 수 있습니다. https://dzone.com/articles/speed-up-spatial-search-in-couchbase-n1ql