2016-05-12 2 views
0

Я довольно новичок в DocumentDB, у меня есть опыт работы с MongoDB.DocumentDB Пространственный запрос - Нечетный результат

Это мой простой документ:

{ 
"id": "747941cfb829_1453640096710", 
"geometry": { 
    "type": "Polygon", 
    "coordinates": [ 
    [ 
     [ 
     0, 
     0 
     ], 
     [ 
     10, 
     10 
     ], 
     [ 
     10, 
     0 
     ], 
     [ 
     0, 
     0 
     ] 
    ] 
    ] 
}, 
"name": "name", 
"_rid": "Px12AM4QPgBsAAAAAAAAAA==", 
"_self": "dbs/Px12AA==/colls/Px12AM4QPgA=/docs/Px12AM4QPgBsAAAAAAAAAA==/", 
"_etag": "\"07006019-0000-0000-0000-573395f50000\"", 
"_attachments": "attachments/", 
"_ts": 1462998499} 

И это мой запрос:

SELECT * FROM root r WHERE ST_WITHIN({'type':'Point','coordinates':[-122.02625, 37.4718]}, r.geometry) 

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

Благодаря

ответ

0

Вы указали свой полигон по часовой стрелке, который локализован, интерпретируется как все вне этого многоугольника. Если вы измените его против часовой стрелки (показано ниже), вы получите ожидаемые результаты.

{ 
    "id": "747941cfb829_1453640096710", 
    "geometry": { 
    "type": "Polygon", 
    "coordinates": [ 
     [ 
     [ 
      0, 
      0 
     ], 
     [ 
      10, 
      0 
     ], 
     [ 
      10, 
      10 
     ], 
     [ 
      0, 
      0 
     ] 
     ] 
    ] 
    }, 
    "name": "name" 
} 
+0

Это действительно работало, спасибо! –

Смежные вопросы