-1

地理的に異なる場所で製造された製品のチェックインの膨大なコレクションがあります。これらの製品を、出発点から世界的にどれだけ移動したかによってランク付けするために使用される要約指標を作成したいと思います。たとえば、メイン州で生産され、フロリダ州カリフォルニアとアイルランドのダブリンで生産されている製品は、カリフォルニア州以外では見られなかったカリフォルニアで生産された製品よりも高くランク付けする必要があります。

どのようなアルゴリズムを検討する必要がありますか? これにどのようにアプローチしますか?

4

1 に答える 1

1

MS SQL Server (私が見つけたばかりですが、あなたには関係ないかもしれません) には、(とりわけ) 緯度と経度によって定義される 2 点間の距離を計算できる空間データ型が含まれています。したがって、このコード:-

DECLARE @p1 geography = geography::Point(@lat1, @long1, 4326);

SELECT @distance=@p1.STDistance(geography::Point(@lat2, @long2, 4326))

@distance は、2 点間のメートル単位の距離をロードします。私が書いたインライン関数のスカラー値からコードを取り出しましたが、テーブルの列を直接ターゲットにすることもできます。4326 マジック ナンバーは、空間参照系識別子 (SRID) への参照であり、メートル単位で回答を提供します。この計算では、高度と地球の歪みは考慮されていません (これには他の関数/SRID を使用できます) が、おそらくほとんどの目的には十分な精度です。

残念ながら、postgresql に制限されている場合、この回答は役に立ちません (ただし、さらなる調査の方向性を示している可能性があります)。

Sql Server のリファレンスは、http ://technet.microsoft.com/en-us/library/bb933790.aspx にあります。

于 2013-10-21T02:46:57.983 に答える