jjzjj

geospatial

全部标签

mongodb - 使用地理空间索引 mongodb mongomapper 查询源和目标

我的mongodb集合中有源字段和目标字段,名为Flight。这两个字段都按地理空间索引并以经纬度格式编写。我正在使用mongomapper从RailsController查询它。我想编写如下查询。Result=Flight.where(:source=>{'$near'=>location_src},:destination=>{'$near'=>location_dest})其中location_src和location_dest是经纬度格式的图形用户界面输入。但是,当我尝试通过编写Result.first或Result.all访问结果时,它说Mongo::OperationFai

mongodb - MongoDB 使用什么样的公式来计算地球球索引中的距离?

在MongoDB中,可以创建索引,用于在“2d”和“3d”空间中查找附近给定纬度和经度的文档。MongoDB使用什么样的公式来计算两个给定的纬度/经度对之间的距离?我想到的是:欧氏距离Haversine公式文森特公式 最佳答案 MongoDB(截至2.2)仅支持2-d地理空间索引,不支持3-d。个别位置使用geohash编码MongoDBB树索引之上的系统。在MongoDB1.8+中支持Sphericalcorrection对于使用十进制的查询。有twomaintypes距离计算:普通-EuclideanDistance.源代码引用

mongodb - 比较地理空间路径与 MongoDB

我正在开发一款移动应用程序,该应用程序可以定期跟踪用户的位置,让他能够在map上绘制旅行路径。我们想添加一个可选功能,告诉他该应用程序的其他用户在他查看的时间范围内有哪些类似的旅程,无论是今天的通勤还是上个月的旅行。我们将此称为“路径匹配”。数据目前以二进制格式记录到iOS和Android上应用程序的私有(private)存储目录​​中的文件中,可以轻松快速地扫描以读取位置。每个文件包含一天的位置,一般大小为80KB左右。为了能够实现路径匹配功能,我们显然需要开始将这些位置日志上传到我们运行PHP的服务器(当然需要用户许可)。有人推荐MongoDB是因为它的地理空间能力-但我有几个问题

javascript - 如何在 mongodb 的边界框中获取任何项目(点、线串、多边形)

我在查询匹配BoundingBox中的项目时遇到问题。如何匹配2dsphere(GEOJSON)类型的所有项目?在这种情况下,我只获得了Point类型的数据,但LineString类型的项目不会出现在结果中。模式定义如下例所示:/***Medialocationvalues(Point,LineString,Polygon)*@propertylocation*@type{Object}*/location:{"type":Object,"index":"2dsphere"},我有其中的项目:[{"_account":"52796da308d618090b000001","_id":"

通过 zip 进行 MongoDB 地理空间搜索

我正在使用MongoDB进行一些地理空间查询。我的邮政编码集合如下所示:{_id:"60661",city:"CHICAGO",state:"IL",loc:[-87.68,41.83]}添加二维索引后,我可以成功运行以下查询:db.zipcodes.find({loc:{$near:[-87.68,41.83],$maxDistance:5*(1/69)}})这将返回发送的经/纬度坐标5英里范围内的所有邮政编码。我将如何发送邮政编码而不是经/纬度位置?像这样:db.zipcodes.find({loc:{$near:"60661",$maxDistance:5*(1/69)}})谢谢

MongoDB:如何考虑多个字段按距离排序?

我有一个集合,用于存储有关医生的信息。每个医生都可以在私有(private)诊所和/或医院工作。该集合具有以下相关字段(在privatePractices.address.loc和hospitals.address.loc上都有地理空间索引):{"name":"myName","privatePractices":[{"_id":1,"address":{"loc":{"lng":2.1608502864837646,"lat":41.3943977355957}}},...],"hospitals":[{"_id":5,"address":{"loc":{"lng":2.819252

mongodb - 创建地理空间查询以查找彼此半径内的两个用户

我正在创建一个基于用户邻近度的匹配系统。基本思想是我在A点有用户A,在另一个B点有用户B。两个用户都有搜索过滤器,用于确定用户可以进行匹配的距离。此距离以公里为单位。无论如何,是否可以在单个普通查询中执行此操作(不使用聚合查询)?这是我到目前为止的查询varloc=userA.location;varrad=userA.radius;{$near:{$geometry:{type:"Point",coordinates:loc},$maxDistance:rad}}我如何考虑用户的B偏好?我打算存储一个基本上是他们偏好圈的几何形状,然后查看用户A是否在该圈内,但这似乎不对。

mongodb - 将 $near 与 $maxDistance 和 $and 一起用作 MongoDB 中的过滤器吗?

因此,如果我们像这样使用maxDistance运行GeoSpatialMongdoDB查询:db.getCollection('Places').aggregate([{"$geoNear":{"near":{"type":"Point","coordinates":[-0.1251485,51.5174914]},"spherical":true,"distanceField":"dist","maxDistance":2000,"query":{"field":"xxx"}}}}])我们得到以下结果作为示例:[PlaceA,PlaceB,PlaceC]然后,假设我们运行以下查询:d

mongodb - 内部结构的地理空间索引

我有一个集合名称locations,其数据结构如下:{"_id":ObjectId("4e95263f1783ae8487be26d4"),"name":"test1","location":{"coordinate":{"latitude":40.731987,"longitude":-73.999701},"address":"xxxxxxx"}}并希望针对location.coordinate字段进行地理查询。当我尝试添加索引时,我得到以下结果:$>db.locations.ensureIndex({"location.coordinate":"2d"})$>****Syntax

java - 使用 MongoDB 在 Java 中计算距离

我正在使用Java和MongoDB进行位置计算。我将纬度和经度传递给方法,并从提供的输入中找到最近的位置。我可以从我的主表中获取位置名称,其中我有所有带纬度和经度的地标。我的要求是我想使用MongoDB获取距离的位置——比如距离XYZ4Km。MongoDB有地理空间查询,我正在研究它。我可以通过使用db.runCommand({geoNear:"data",near:[-73.9000,40.7000],spherical:true,maxDistance:2500/6378137,distanceMultiplier:6378137}).我正在寻找Java中的等效代码,因此我只能传递