1
我在我的MongoDB集合有如下記錄在什麼單位pymongo geo2d彙總結果返回
/* 1 */
{
"_id" : ObjectId("58ecf141624bc0798ee5882d"),
"username" : "user.sthlm",
"location" : [
18.0686,
59.3293
]
}
/* 2 */
{
"_id" : ObjectId("58ecf141624bc0798ee5882e"),
"username" : "user.malmo",
"location" : [
13.0038,
55.605
]
}
/* 3 */
{
"_id" : ObjectId("58ecf141624bc0798ee5882f"),
"username" : "user.la",
"location" : [
-118.2437,
34.0522
]
}
「位置」是一個「2dsphere」類型,它是爲了[經度,緯度]
現在我使用如下一個pymongo查詢以一個給定的點
(斯德哥爾摩座標) 經度= 18.0686 緯度之間檢索距離= 59.3293
for doc in self.users.aggregate([{"$geoNear": {"near": [longitude, latitude],
"distanceField":"distance",
"distanceMultiplier": 1.0,
"num": int(count),
"spherical": True}}]):
的結果如下
{
"distance": 0,
"username": "user.sthlm"
},
{
"distance": 0.08048218816530191,
"username": "user.malmo"
},
{
"distance": 1.393869662777678,
"username": "user.la"
}
在查詢響應斯德哥爾摩和LA之間的距離重新調整爲1.393869662777678。我不太確定它在哪個單位。
從谷歌地圖,座標之間的距離是8,875公里或5,515英里和1.3938不符合任何法案。從mongoDB文檔中,我指的是結果不是以弧度返回的。所以我想知道從我的查詢響應中引用什麼。
感謝
它的工作原理。我可以知道你是如何抵達6371的? – slysid
https://www.google.com/search?q=convert+radians+to+ kilometer –