0

重複の可能性:
SQL Server 2008 Spatial: ポリゴン内のポイントを見つける

SQL Server 2008 データベースを使用するアプリケーションに取り組んでいます。このデータベースには、ユーザーの場所を示す経度と緯度の 2 つのフィールドを持つ Session という名前のテーブルがあります。Zone という別のテーブルには、ジオメトリ タイプのエリア属性があります。ユーザーの経度と緯度の座標が特定のジオメトリに属しているかどうかを確認するにはどうすればよいですか?

ありがとうございました

4

1 に答える 1

3

ユークリッド幾何学で形状を格納する幾何学があり、緯度と経度で表される地球上の点を関連付けて、それが内部にあるかどうかを確認したいとします。SQLがデータを格納する方法が原因で、これは機能しません。これを確認するには、おそらく地理データタイプを使用する必要があります-緯度と経度は球上の点です(地球は完全な球ではないため、実際には測地データです)。

それらが異なる理由の詳細については、Microsoftのこの説明を参照してください。また、stackoverflowに関するこの回答:GEOMETRYとGEOGRAPHYの違いSQL Server 2008

データをジオメトリから地理に変換するには、次を試してください。Geography :: STGeomFromText(cast(GeomCol as varchar(max))、4326)

STIntersects次に、Microsoftがここに文書化した方法を使用できます。

于 2012-06-28T13:33:26.023 に答える