0

私は地理データに不慣れで、グーグルマップ、asp.net、SQL Serverで遊んでいますが、少し行き詰まっています。

経度と緯度のマーカーが付いたSQLServerテーブルを取得しました。

そして、開始点を基準にしてデータベースから最も近い10個のマーカーを取得したいと思います。

これを行うための最良の方法は何ですか。

サーバーはSQL2005であり、値は2つの列に格納されますデータ型nvarchar(300)

4

1 に答える 1

0

このため、C#やASP.NETを使用する必要はなく、SQLリクエストを使用するだけです。隣接する場所を見つけるためのAdventureDataworksサンプルデータベースの例を次に示します。

USE AdventureWorks2008R2
GO
DECLARE @g geography = 'POINT(-121.626 47.8315)';
SELECT TOP(7) SpatialLocation.ToString(), City FROM Person.Address
WHERE SpatialLocation.STDistance(@g) IS NOT NULL
ORDER BY SpatialLocation.STDistance(@g);
于 2011-12-13T23:56:26.940 に答える