1
我試圖計算直線的角度以在可視化中顯示其方向。但是,我堅持如何通過使用SQL select語句將其自動計算爲數據庫視圖。SQL:根據序列計算字段
計算是基於幾個標準:
- 角式是INT(度(ATAN2(X2-X1,Y2-Y1))),其中同一行的X2 = X,且X 1 = X根據序列字段的前一行。序列中的第一個將爲NULL,因爲在它之前沒有x,y。
- 計算在每個唯一的「行」值內完成
- 當方向= 1時,序列從最小值開始到最大值。但是,當Direction = 2時,序列從最大到最小。
下面是示例數據:
Line,Direction,Sequence,Y,X
Line 1,1,1,1.37707996,103.9108531
Line 1,1,1.2,1.37765002,103.9118526
Line 1,1,4.5,1.37849998,103.912852
Line 1,1,6.2,1.37914002,103.9138515
Line 1,1,8,1.37959003,103.9148509
Line 1,1,11.1,1.37978005,103.9148509
Line 1,1,13.1,1.38031006,103.9158504
Line 2,2,1.1,1.29593003,103.8761495
Line 2,2,2.4,1.29744005,103.8771489
Line 2,2,5.5,1.29849005,103.8771489
Line 2,2,8.1,1.29954004,103.8781484
Line 2,2,10,1.30094004,103.8781484
Line 2,2,11.1,1.30155003,103.8781484
Line 2,2,13.1,1.30234003,103.8781484
Line 2,2,15.1,1.30338001,103.8781484
Line 2,2,16.6,1.30410004,103.8781484
任何指針?謝謝。
感謝毛羅!你提出了一些解決方案。但是,我應該如何解析語句以便根據每條唯一的行進行計算,並且當方向改變爲「2」時,序列將需要交換? – Jake
所以......你的意思是「順序排序」,當方向= 2時,好嗎?輕鬆...編輯解決方案.. – mauro
不確定要了解這種「獨特的行值」要求。在您的Excel電子表格中,您可以計算每條線的角度。你是否想僅爲Excel行號2-3和9-10計算角度? – mauro