首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Documentdb -返回空行的GeoSpatial

Documentdb -返回空行的GeoSpatial
EN

Stack Overflow用户
提问于 2016-11-01 09:12:44
回答 1查看 239关注 0票数 0

ST_WITHIN没有给出结果,总是返回零条记录。

下面是一个例子:

代码语言:javascript
复制
select *
FROM Areas a
WHERE ST_WITHIN({'type': 'Point', 'coordinates':[31.9, -4.8]}, a.location)

预期上述查询应返回一条记录。

我的数据库条目是

代码语言:javascript
复制
{
  "id": "MyDesignatedLocation",
  "location": {
    "type": "Polygon",
    "coordinates": [
      [
        [
          31.8,
          -5
        ],
        [
          32,
          -5
        ],
        [
          32,
          -4.7
        ],
        [
          31.8,
          -4.7
        ],
        [
          31.8,
          -5
        ]
      ]
    ]
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-01 16:37:12

默认情况下,DocumentDB只返回索引的路径数据类型组合的结果。根据您的描述,看起来您没有包含用于空间索引的多边形(在投影中,结果将通过扫描返回)。

为了返回结果,请将索引策略更改为包含多边形数据类型上的空间索引(参见下面的示例索引策略)。这里有更多详细信息:https://azure.microsoft.com/en-us/documentation/articles/documentdb-geospatial/

代码语言:javascript
复制
{    
   "automatic":true,
   "indexingMode":"Consistent",
   "includedPaths":[
      {
         "path":"/*",
         "indexes":[
            {
               "kind":"Range",
               "dataType":"String",
               "precision":-1
            },
            {
               "kind":"Range",
               "dataType":"Number",
               "precision":-1
            },
            {
               "kind":"Spatial",
               "dataType":"Point"
            },
            {
               "kind":"Spatial",
               "dataType":"Polygon"
            }                
         ]
      }
   ],
   "excludedPaths":[
   ]
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40357029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档