我在RavenDB中有类似的文档:
public class MyClass
{
...
public double Latitude { get; set; }
public double Longitude { get; set; }
...
}
现在我想找到位于由N和S纬度以及W和E经度指定的矩形范围内的所有文件。
一个简单的方法就是这样的查询:
.Where(o => o.Latitude <= boundaryNorth &&
o.Latitude >= boundarySouth &&
o.Longitude >= boundaryWest &&
o.Longitude <= boundaryEast)
但是如果边界矩形位于antimeridian上,那就不起作用,使查询复杂化(检查是否是这种情况,将边界矩形拆分为两个,创建两个先前由||组合的表达式)。 / p>
我知道你可以创建一个spatial index,然后查询所有位于给定原点的指定半径内的位置的文档,但是我没有找到任何其他查询该索引的方法。
还有其他方法可以查询空间索引吗?
答案 0 :(得分:3)
目前我们只允许搜索特定距离内的项目。 我们确实有其他功能,但目前尚未曝光。 我建议将其带到邮件列表,看看我们是否可以为您提供所需的API。