2010-11-25 9 views

答えて

1

ここでは計算のために、緯度と経度に基づいて2つの点から半径距離を計算するためのSQLでの関数を書きました。必要に応じて、Javascriptに変換するための基礎として、おそらくそれを使用することができます。

declare @DegToRad as float 
declare @Ans as float 
declare @Miles as float 

set @DegToRad = 57.29577951 
set @Ans = 0 
set @Miles = 0 

set @Ans = SIN(@lat1/@DegToRad) * SIN(@lat2/@DegToRad) + COS(@lat1/@DegToRad) * COS(@lat2/@DegToRad) * COS(ABS(@long2 - @long1)/@DegToRad) 
set @Miles = 3959 * ATAN(SQRT(1 - SQUARE(@Ans))/@Ans) 
set @Miles = CEILING(@Miles) 

return @Miles 

編集:ところで、CodeplexのASP.netで使用できる優れたオープンソースコントロールがあります。

http://googlemap.codeplex.com/

+0

あなたのお返事ありがとうございます。 @DegToRad、@ lat1 2と@ Long1 2の略語は何ですか?彼らがお互いに近いかどうかをチェックする2つのポイントがあると仮定すると、なぜあなたはDegToRadが必要ですか? Thankss – Dayzza

+0

Jonathan、@DegToRadは、関数の最初に57.29577951として定義されている定数です。@ lat1と@ long1は、最初のポイントの緯度と経度を表す関数に送信される変数です。 @ lat2と@ long2は2番目の点の緯度と経度です。また、チェックアウトしたいオープンソースのGoogle Mapsコントロールへのリンクを追加しました。 – shamazing

+0

オハイオ州オハイオ州オハイオ州、私は緯度と長い既に..を取得しかし、定数の目的は、ポイント1とポイント2が定義された定数値の範囲内にあるかどうかをチェックすることですか?ありがとう – Dayzza

関連する問題