首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >寻找具有半径的具有重叠地质点的地质点

寻找具有半径的具有重叠地质点的地质点
EN

Stack Overflow用户
提问于 2020-05-04 11:29:55
回答 1查看 64关注 0票数 0

如你所见,我有

具有一定半径的3 GeoPoint A,B,C

1 GeoPoint K,

我想找到所有半径重叠的GeoPoint

所以答案应该是B,C。

那么,如何才能做到这一点呢?

目前我正在使用Mongodb。但是任何其他的数据库也是可以的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-04 12:22:39

这个问题是基于意见的,正如“任何其他数据库都没问题”这句话一样。但要记录在案,在ES中这样做的方法如下:

代码语言:javascript
复制
PUT circles
{
  "mappings": {
    "properties": {
      "location": {
        "type": "geo_shape",
        "strategy": "recursive"
      }
    }
  }
}

PUT circles/_doc/A
{
  "location": {
    "type": "circle",
    "coordinates": [
      16.34817123413086,
      48.20968893477074
    ],
    "radius": "2km"
  }
}

PUT circles/_doc/B
{
  "location": {
    "type": "circle",
    "coordinates": [
      16.374435424804688,
      48.20122291334052
    ],
    "radius": "3km"
  }
}

PUT circles/_doc/C
{
  "location": {
    "type": "circle",
    "coordinates": [
      16.386451721191406,
      48.21586595914765
    ],
    "radius": "4km"
  }
}

GET circles/_search
{
  "query": {
    "geo_shape": {
      "location": {
        "shape": {
          "type": "point",
          "coordinates": [
            16.386795043945312,
            48.208773756674425
          ]
        },
        "relation": "intersects"
      }
    }
  }
}

屈服

代码语言:javascript
复制
[
  {
    "_index":"circles",
    "_type":"_doc",
    "_id":"B",
    "_score":1.0,
    "_source":{

    }
  },
  {
    "_index":"circles",
    "_type":"_doc",
    "_id":"C",
    "_score":1.0,
    "_source":{

    }
  }
]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61591195

复制
相关文章

相似问题

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