SQL Server 2008 データベースを、lat/long ペアの使用から新しい geography タイプの使用に変換しました。次のように、STDistance 関数を使用して、geography::Point から 30 マイル以内にあるビジネスに対してクエリを実行します。
WHERE this_.GeoLocation.STDistance(geography::Point(42.738963, -84.5522, 4326)) <= 48280.32
地理列にあるインデックスは次のとおりです。
CREATE SPATIAL INDEX IDX_Business_GeoLocation
ON Business (GeoLocation)
USING GEOGRAPHY_GRID
WITH (
GRIDS = (
LEVEL_1 = LOW,
LEVEL_2 = LOW,
LEVEL_3 = LOW,
LEVEL_4 = LOW),
CELLS_PER_OBJECT = 64
)
グリッド レベルまたはオブジェクトごとのセルが何を意味するのかよくわかりませんが、私が探しているのは、ポイント (緯度/長いです)。
任意のヒント?