比如在mongodb中 查找
`{"geom.coordinates":{$within:{$polygon:[[116.342059,39.973675],
[116.380778,39.973675],[116.380778,39.943997],[116.342059,39.943997]]}}} `
能够查到这四个点坐标内的点,那如何在其他语言中实现呢?比如说java。 spring 整合mongodb 中说继承MongoRepository接口 调用Within(在地理位置范围内的)findByLocationWithin(Box box) {"location" : {"$within" : {"$box" : [ [x1, y1], x2, y2]}}}
试一下下面的代码
DBObject dbObject = new BasicDBObject();
List<Double[]> polygon = new ArrayList<Double[]>();
polygon.add(new Double[]{121.46326251,31.22373576});
polygon.add(new Double[]{121.46397061,31.21879961});
polygon.add(new Double[]{121.47126622,31.22188244});
polygon.add(new Double[]{121.46748967,31.22329537});
polygon.add(new Double[]{121.46326251,31.22373576});
DBObject searchObj = new BasicDBObject("$within",new BasicDBObject("$polygon",polygon));
dbObject.put("theGeom.coordinates",searchObj);
System.out.println("dbObject = " + dbObject);
DBCursor dbCursor = dbCollection.find(dbObject);
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。