【发布时间】:2014-06-16 12:49:46
【问题描述】:
我有一个包含许多多边形坐标的集合,它们代表不同的区域。 我的目标是我将在 mongodb 查询中发送纬度、经度和半径,该查询应该返回落在圆形区域内的多边形坐标。
多边形坐标:
{
"_id" : "300",
"name" : "MeKesler",
"centroid" : [
0,
0
],
"type" : "cnbd_id",
"coords" : [
[
39.8620784017,
-86.14614844330004
],
[
39.8625395793,
-86.15442037579999
],
[
39.8593030353,
-86.156373024
],
[
39.8586935926,
-86.15669488909998
],
[
39.8534225112,
-86.15854024890001
],
[
39.850391456,
-86.1589050293
],
[
39.8511657057,
-86.1479830742
],
[
39.8511986523,
-86.14598751070002
],
[
39.856881704,
-86.14605188370001
],
[
39.8575241063,
-86.14605188370001
],
[
39.8620784017,
-86.14614844330004
]
]
}
我的查询:
db.collection.find({
"coords" : {
"$within" : {
"$center" : [
[ 39.863110, -86.168456],
2/69.1
]
}
}
})
有人可以帮忙吗?
【问题讨论】:
-
我不认识您的多边形定义的语法。它应该是geojson吗? “cnbd_id”是什么意思?
-
这是我的整个文档,它是一个 geoJson。 “cnbd_id”是其中一种类型。 “coords”是一个包含所有多边形坐标的数组。
标签: mongodb