私はSQLServerの空間領域に非常に慣れていないので、助けが必要です。私はウェイポイント整理アプリを持っており、湖や川などの地理的ポリゴンの一部であるウェイポイントを見つけるという前提に沿っていくつかのクエリを生成しようとしています。ダウンロードしたデータをテーブルにプリロードしました。shape2sql.exeを使用して、シェープファイルを適切なデータベーステーブルにロードしました。
テーブルは次のとおりです。
ウォーターテーブル-id、name、geog(地理データタイプ)
状態テーブル-id、state_name、state_abbr、geog(地理データタイプ)
郡テーブル-id、name、state_name、geog(地理データタイプ)
ウェイポイントテーブル--id、name、lat、lon、waterid
これらのテーブルに対してクエリを記述して、次のようなものを返すにはどうすればよいですか。-「ミシガン」のすべて
のウェイ
ポイント-「ミシガン」の「モンカルム」郡の「バス湖」のすべてのウェイポイント郡/州の部分)
-ウェイポイントのグループを「処理」し、それらが実際にどの湖に属しているかを見つけることによって、ウェイポイントテーブルの水ID列を自動的に割り当てます
-など。
ありがとう!
これまでに学習したこと:
geog.ToString()をポイントとして、geog.STArea()をエリアとして、geog.STLength()を水からの長さとして選択します。名前は「%basslake%」、STATE=「mi」などです。
BassLakeのレコードと湖の実際の座標を含むポリゴンを返します。
POLYGON((-87.670498549804691 46.304831340698243、-87.670543549804691 46.307117340698241、-87.676573549804687 46.313480340698241、-87.68120854980468 46.314821340698245、-87.685168549804686 46.315703340698242、-87.6877605498047 46.313390340698241、-87.685051549804683 46.308827340698244、-87.682360549804685 46.305650340698243、-87.677734549804683 46.304768340698246、-87.674440549804686 46.304336340698242、-87.670498549804691 46.304831340698243))1022083.96662664 4027.52433709888