gpt4 book ai didi

node.js - 查找点是否位于指定的多边形MongoDB

转载 作者:可可西里 更新时间:2023-11-01 09:15:05 26 4
gpt4 key购买 nike

我有以下 mongoDB 文档,它通过“GPS”字段表示当前车辆位置

{
"_id" : ObjectId("565564e2f3e3f5bd2bdfad18"),
"vehicleId" : 6521,
"time" : 1448389800,
"GPS" : "18.55419790592852,73.80579963326454",
"readings" : {
"RPM" : {
"value" : 1000
},
"Speed" : {
"value" : 40
}
}
}

我需要找出这个条目是否落在坐标指定的多边形内:

{lat: 18.554321, lng: 73.805231},
{lat: 18.553838, lng: 73.804936},
{lat: 18.553584, lng: 73.806524},
{lat: 18.554240, lng: 73.806546},
{lat: 18.554321, lng: 73.805231}

通过引用文档中存在的 GPS 字段。

我尝试了以下查询,但没有得到任何结果:

db.data26.find(
{
"GPS": {
$geoWithin: {
$geometry: {
type : "Polygon" ,
coordinates: [ [ [ 73.805231, 18.554321 ], [ 73.804936, 18.553838 ], [ 73.806524, 18.553584 ], [ 73.806546, 18.554240 ], [ 73.805231, 18.554321 ] ] ]
}
}
}
}
);

任何帮助将不胜感激

最佳答案

您的 GPS 字段值为字符串

"GPS" : "18.55419790592852, 73.80579963326454"

也许为了使用 geoWithin,您的 GPS 应该是一个具有正确顺序的数组,它是 [long, lat],如下所示:[73.80579963326454, 18.55419790592852]

关于node.js - 查找点是否位于指定的多边形MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33911777/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com