【微信企業號考勤】用什麼方法來判斷員工在常駐辦公室簽到簽退

來源:互聯網
上載者:User
新手一枚,在此請教各位前輩一個問題。
最近在做企業號的考勤簽到簽退功能,現在伺服器後台已經可以接收到使用者發送過來的地理位置(經緯度),我的需求是使用者只允許在常駐辦公室地區(假設辦公室很大,幾百個平方,在這地區內都可簽到簽退,地區外則不允許)的地理位置進行簽到簽退。

擷取到使用者返回的經緯度後用什麼辦法判斷其是否允許簽到簽退??

如果採用在資料庫儲存員工的辦公地點地理位置資訊然後與其返回的經緯度進行比較的方法判斷,可這辦公地點很大,地理位置資訊如何儲存?判斷又如何判斷?


回複討論(解決方案)

首先!目前的地圖定位誤差也不算太准,好在是在公司,不管是wifi,gps定位還算準確,一般誤差在100米之內,姑且最好達到50米。
1:
資料庫中儲存公司人員半年辦公地點所處中心位置經緯度。且以改點為圓心,儲存改點到所允許最大辦公距離之間的距離,也就是半徑了。每次使用者簽到或則簽退,假如A,B兩點,A點經度,緯度分別為λA和ΦA,B點的經度、緯度分別為λB和ΦB,d為距離。
利用如下方法:
d=111.12cos{1/[sinΦAsinΦB十 cosΦAcosΦBcos(λB-λA)]}
計算之間距離與資料庫中對應使用者所允許的距離(半徑)比較。在半徑發範圍內,則允許簽到簽退。

2:和1類似。問題轉化為,已知一個點座標,求以該點位圓心,半徑為r,圓上的所有點的座標。
2.1:
選取工作人員經常辦公地點中心存入資料庫,計算改點距離最大允許範圍的所有經緯度,存入資料庫(不建議,也不科學,資料量大了吃不消。)。
2.2:
。求得是矩形的四個點存入資料庫。使用者在簽到簽退的時候比較資料庫中的值。
希望這篇文章幫得到你 http://digdeeply.org/archives/06152067.html

建議2.2方法。

誤差肯定是有的。



給點分吧

範圍小就定個中心點,判斷半徑唄.
不過有時候不準,不好解決啊

想問的是除了經緯度能搞到網路狀態麼?
或者提交時候的ip是公司外網/內網ip就可以簽到之類

首先!目前的地圖定位誤差也不算太准,好在是在公司,不管是wifi,gps定位還算準確,一般誤差在100米之內,姑且最好達到50米。
1:
資料庫中儲存公司人員半年辦公地點所處中心位置經緯度。且以改點為圓心,儲存改點到所允許最大辦公距離之間的距離,也就是半徑了。每次使用者簽到或則簽退,假如A,B兩點,A點經度,緯度分別為λA和ΦA,B點的經度、緯度分別為λB和ΦB,d為距離。
利用如下方法:
d=111.12cos{1/[sinΦAsinΦB十 cosΦAcosΦBcos(λB-λA)]}
計算之間距離與資料庫中對應使用者所允許的距離(半徑)比較。在半徑發範圍內,則允許簽到簽退。

2:和1類似。問題轉化為,已知一個點座標,求以該點位圓心,半徑為r,圓上的所有點的座標。
2.1:
選取工作人員經常辦公地點中心存入資料庫,計算改點距離最大允許範圍的所有經緯度,存入資料庫(不建議,也不科學,資料量大了吃不消。)。
2.2:
。求得是矩形的四個點存入資料庫。使用者在簽到簽退的時候比較資料庫中的值。
希望這篇文章幫得到你 http://digdeeply.org/archives/06152067.html

建議2.2方法。

誤差肯定是有的。



給點分吧

新手一枚,在此請教各位前輩一個問題。
最近在做企業號的考勤簽到簽退功能,現在伺服器後台已經可以接收到使用者發送過來的地理位置(經緯度),我的需求是使用者只允許在常駐辦公室地區(假設辦公室很大,幾百個平方,在這地區內都可簽到簽退,地區外則不允許)的地理位置進行簽到簽退。

擷取到使用者返回的經緯度後用什麼辦法判斷其是否允許簽到簽退??

如果採用在資料庫儲存員工的辦公地點地理位置資訊然後與其返回的經緯度進行比較的方法判斷,可這辦公地點很大,地理位置資訊如何儲存?判斷又如何判斷?


回答得很詳細,謝謝你。
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.