sql >> データベース >  >> RDS >> Sqlserver

SQL空間ポリゴンを裏返し

    EnvelopeAngle()の結果かどうかを確認できます 地理のメソッドは180でした。次に、ReorientObject()を使用します。 それを修正する機能。

    サンプルは次のとおりです:

    --A CW polygon
    DECLARE @G3 GEOGRAPHY = 'POLYGON ((45 45, 44 45, 44 46, 45 46, 45 45))';    
    SELECT @G3.EnvelopeAngle();                --180
    SELECT @G3.ReorientObject().STAsText();    --POLYGON ((44 46, 44 45, 45 45, 45 46, 44 46))
    

    編集 コメントに記載されているように、簡単な更新コマンドを使用して、現在のジオメトリを修正できます(正しくないことが確実な場合):

    UPDATE foo_table SET bar_column = bar_column.ReorientObject() 
        WHERE bar_column.EnvelopeAngle() > 90
    


    1. MySQL-より多くの桁を許可するように10進列を更新するにはどうすればよいですか?

    2. x軸に日付を含むGoogleチャートのタイムライン

    3. mysqlテーブルでインデックスを作成する列を設定すると、O(1)が確実に検索されますか?

    4. コマンドラインからsqlplusを介して単一のコマンドを発行するにはどうすればよいですか?