首页 > 解决方案 > 是否可以在 MongoDB 中查询哪些 LineStrings 靠近另一个 LineString?

问题描述

如果我有一个带有 LineStrings {L1,L2,...,LN} 的 MongoDB 集合 C,每个点由几个点组成,并且C 中不存在一个额外的 LineString L0,是否可以在 C 中查询最接近 L0 的点?

我尝试了符合以下内容但没有成功:

A)创建地理索引:

MongoConnection.getInstance().createIndex(DB, collection, new BasicDBObject("coordinates", "2d"), "geospacialIdx");

B)将每个 LineString 添加为:

double [][] points = new double[N][2];
points= <- add coordinates
MongoConnection.getInstance().getCollection(DB,COLLECTION).insert(
new BasicDBObject("coordinates",points));

C) 查询:

double [][] points = new double[N][2];
points= <- coordinates of L0 
MongoConnection.getInstance().getCollection(DB, COLLECTION).find(new BasicDBObject("$near",new BasicDBObject("coordinates",points)))

感谢您的关注。

标签: mongodb

解决方案


推荐阅读