查找与点相交的圆[重复]
Posted
技术标签:
【中文标题】查找与点相交的圆[重复]【英文标题】:Find circles that intersects a point [duplicate] 【发布时间】:2016-11-22 18:42:21 【问题描述】:当我尝试在 mongodb 上运行此代码时遇到了麻烦
var partners = db.partners.find()
var kmToRadius = function(km)
var earthRadiusInKm = 6378.1;
return km / earthRadiusInKm;
db.runCommand(
$centerSphere: [ [partners.loc], kmToRadius(partners.km) ] :
$geoIntersects:
$geometry: type: "Point", coordinates: [ -73.93414657, 40.82302903 ]
)
我要做的是获取所有合作伙伴的位置(采用 geojson 格式),使用 $centerSphere 制作一个圆圈并验证是否与坐标相交。
我知道我不能以 GeoJson 格式存储圆,只能存储多边形,这变得很难做我想做的事。有人知道是否有另一种方法可以使这项工作?谢谢
【问题讨论】:
【参考方案1】:我的合作伙伴收藏是这样的:
"_id" : ObjectId("583315cfa9d41218cc9c833f"),
"updatedAt" : ISODate("2016-11-21T15:42:07.703Z"),
"createdAt" : ISODate("2016-11-21T15:42:07.703Z"),
"name" : "partnerName",
"mainEmail" : "email",
"password" : "$2a$10$WJC6WzZNM8NyDKQgovJa.OICLOMV6Qp6xcGLE3fRcUGuBa8Zhy8qy",
"km" : 10,
"loc" :
"type" : "Point",
"coordinates" : [
-46.62217,
-23.668224
]
,
"rate" : 4,
"nServices" : 35
但我想做的是为每个伙伴创建一个半径并检查哪些伙伴与一个点相交,而不是让伙伴在半径内。
【讨论】:
以上是关于查找与点相交的圆[重复]的主要内容,如果未能解决你的问题,请参考以下文章