[英]Best way to handle 360 degree range
我需要在SQL數據庫中選擇0到359.9度的范圍。
我的輸入是中心角和范圍的形式。 例如,center = 100 range = 50將給出一個角度> 75°<125的范圍。 但是,如果center = 0,則范圍將是角度<25且角度> 335。
因此我的當前算法的工作方式如下:
minangle = center-range/2
maxangle = center+range/2
if minangle<0, then minangle += 360
if maxangle>0, then maxangle -=360
然后在我的查詢中
if minangle<maxangle, I query angle>minangle AND angle<maxangle
if minangle>maxangle, I query angle>minangle OR angle<maxangle
這種方法似乎有點復雜。 有更好的方法嗎?
將角度范圍更改為0-720。 始終保持minAngle <maxAngle。
if(min> max)max + = 360;
minAngle = 50,maxAngle = 200; =>好的
minAngle = 200,maxAngle = 50; => minAngle = 200,maxAngle = 360 + 50 = 410; =>好的
雖然這會增加你的復雜性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.