gpt4 book ai didi

java - geoNear 返回不正确的距离

转载 作者:行者123 更新时间:2023-11-29 05:43:11 25 4
gpt4 key购买 nike

我在 Java 中使用 mongodb 的地理功能,我在运行命令“geoNear”时遇到以下问题:

给定:

  • 名为“GEOENTITIES”的集合,包含 GeoJSON 对象
  • 此集合使用 Java 代码(使用 Jongo)编制索引:

    collection.ensureIndex("{ coordinates : '2dsphere' }");
  • 存在坐标等于 [48.0, 9.0] 的文档(示例中名为“A”)

执行时:

{geoNear: 'GEOENTITIES', near: [48.0,9.1], spherical: true, num: 5, distanceMultiplier: 6371}

然后:

我有命令结果:

{ "dis" : 11.11949328574724 , "obj" : { "coordinates" : [ 48.0 , 9.0] , "_id" : { "$oid" : "51a62a5485878b1ceca38ab3"} , "name" : "Toto"}}

为什么距离是 11.11(公里),而计算的距离是 http://williams.best.vwh.net/gccalc.htm - 例如 - 是 7.46 ?我想我做错了什么,但看不出是什么,也许经验丰富的人可以提供帮助?

最佳答案

交换坐标。您需要(经度、纬度):

The default datum for an earth-like sphere in MongoDB 2.4 is WGS84. Coordinate-axis order is longitude, latitude.

http://docs.mongodb.org/manual/core/2dsphere/

关于java - geoNear 返回不正确的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16819231/

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