為了解決第乙個問題,我先將接收到的兩個點如(x1,y1),(x2,y2);再將兩個點構造成四個點(x1,y1),(x2,y2),(x1,y2),(x2,y1)這四個點,然後再將四個點帶入之前寫好的**中,這次基本能實現功能。但是仍然沒有解決第二個問題,也是對業務最重要的問題。當時同事建議我將矩形框對資料的約束新增到sql查詢語句中,我心想矩形框方法是乙個小型演算法轉入sql命令中還是有困難,而後考慮了一下,發現前端為什麼只提供兩個點的座標表示矩形區域。這是因為這兩個點正好是矩形的對角點,如果將矩形框移至到平面二維座標系中那麼就可以認為只要點的x座標在(x1~x2)&&y座標在(y1~y2)中(假設x2>x1,y2>y1)即可滿足在矩形框區域這一條件。
》介紹了select t.裝置編號,t.開始時間,t.結束時間 from 表名t where
t.執行時間 between between to_date('起始時間','yyyy-mm-dd hh24:mi:ss') and to_date('結束時間','yyyy-mm-dd hh24:mi:ss');而這一次則需要將x,y加入sql命令對座標字段進行約束,寫法如下:
select t.裝置編號,t.開始時間,t.結束時間 from 表名t where (
t.執行時間 between between to_date('起始時間','yyyy-mm-dd hh24:mi:ss') and to_date('結束時間','yyyy-mm-dd hh24:mi:ss')) and (t.x between x1 and x2) and (t.y between y1 and y2);
直接在sql對資料進行約束,得到的資料量博原來小很多,這樣也大大提高的後端返回資料的速率,前端頁面則可以快速的顯示資料資訊。
在進行這個小任務的過程中,發現了自己程式設計中乙個環習慣:
很顯然,list集合最後得到的值都是6,這並不是我們希望得到的結果。乙個new對應乙個物件,在這個程式中list集合中的元素都是mc同乙個物件,每當mc中的元素值發生變化,那麼list的值全部都變化直接等於mc的最新值。在這種情況下,可以將new mc物件的那條語句放到for迴圈下面,這樣list集合就得到了不同的mc物件。
這個習慣是由於以前面向過程語言思想還沒有轉變為物件導向的思想,同時也是自己的物件導向程式設計比較薄弱,希望自己多總結,多反思!!!
求兩點距離優化版
import math class point 方法reset,x,y屬性為0,0 def reset self self.move 0,0 方法move,x,y屬性為x,y def move self,x,y self.x x self.y y 方法cal dis,x和y的距離,引用數學求長度公式...
職場中兩點體會
今日記下,也望自己時時牢記,不要逞能 1.大家對時間的敏感度是高於質量的,如果發出乙個文件給大家,時間是周五,寧可周五發乙個還為完善的,但也要發出去,事後仍有機會改善 若錯過時間,即使質量 遠 高過預期,也不會有好的回報 2.和老闆意見相左,如果兩人的想法差距半斤八兩,可以順從老闆的意思 如果你認為...
確定兩點之間的點
egret.point.interpolate 確定兩個指定點之間的點。引數 f 確定新的內插點相對於引數 pt1 和 pt2 指定的兩個端點所處的位置。引數 f 的值越接近 1.0,則內插點就越接近第乙個點 引數 pt1 引數 f 的值越接近 0,則內插點就越接近第二個點 引數 pt2 param...