2012-06-23 66 views
3

我有類似這樣的文件在RavenDB: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) 

但如果邊框橫亙在子午線不起作用,查詢(檢查,如果是這種情況複雜,拆了將矩形劃分爲兩部分,創建由||)組合的兩個以前的表達式。

我知道你可以創建一個spatial index,然後查詢位置在給定原點的指定半徑內的所有文檔,但是我還沒有找到任何其他查詢該索引的方法。

是否有任何其他方式來查詢空間索引?

回答

3

目前我們只允許搜索特定點距離內的項目。 我們確實有其他功能,但目前尚未公開。 我建議把它帶到郵件列表,看看我們是否可以提供你想要的API。