ホームページ  >  記事  >  バックエンド開発  >  [WeChat エンタープライズ アカウントの出席] 従業員が常設オフィスにサインインまたはサインアウトしたかどうかを判断するにはどのような方法が使用されますか?

[WeChat エンタープライズ アカウントの出席] 従業員が常設オフィスにサインインまたはサインアウトしたかどうかを判断するにはどのような方法が使用されますか?

WBOY
WBOYオリジナル
2016-06-23 13:39:201963ブラウズ

初心者なので先輩方に質問させていただきます。
最近、WeChat エンタープライズ アカウントの出席チェックインおよびチェックアウト機能に取り組んでいます。現在、サーバーの背景は WeChat ユーザーから送信された地理的位置 (緯度と経度) を受信できるようになりました。常設のオフィスエリア(オフィスが数百平方メートルと大きい場合、このエリア内でチェックインおよびチェックアウトが可能ですが、エリア外は不可)。

ユーザーから返された経度と緯度を取得した後、ユーザーがチェックインおよびチェックアウトを許可されているかどうかを判断するにはどうすればよいでしょうか? ?

従業員のオフィスの場所の地理的位置情報をデータベースに保存し、返された経度と緯度を比較する方法を使用すると、オフィスの場所は非常に大きくなります。地理的位置情報を保存するにはどうすればよいですか?どのように判断するか?


ディスカッションへの返信(解決策)

まずは!幸いなことに、社内では、WiFi であっても GPS 測位であっても、一般的な誤差は 100 メートル以内であり、50 メートルに到達するのが最適です。
1:
データベースには、企業従業員のオフィス所在地の中心位置の緯度と経度が半年間保存されます。変化点を円の中心とし、変化点と最大許容オフィス距離との距離を半径として記憶します。ユーザーがサインインまたはサインアウトするたびに、2 つの点 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:
.得られた長方形の 4 つの点はデータベースに保存されます。ユーザーがサインインおよびサインアウトするときにデータベース内の値を比較します。
この記事がお役に立てば幸いです http://digdeeply.org/archives/06152067.html

2.2 の方法をお勧めします。

間違いは必ずあります。



ポイントを教えてください

範囲が狭い場合は、中心点を設定して半径を判断してください
でも、時々正確ではなく、解決するのが難しいです

私が聞きたいのは、経度と緯度以外のネットワークステータスを取得しますか?
または、送信時の IP が会社の外部/イントラネット IP である場合は、サインインなどが可能です

まず!幸いなことに、社内では、WiFi であっても GPS 測位であっても、一般的な誤差は 100 メートル以内であり、50 メートルに到達するのが最適です。
1:
データベースには、企業従業員のオフィス所在地の中心位置の緯度と経度が半年間保存されます。変化点を円の中心とし、変化点と最大許容オフィス距離との距離を半径として記憶します。ユーザーがチェックインまたはチェックアウトするたびに、2 つの点 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:
.得られた長方形の 4 つの点はデータベースに保存されます。ユーザーがサインインおよびサインアウトするときにデータベース内の値を比較します。
この記事がお役に立てば幸いです http://digdeeply.org/archives/06152067.html

2.2 の方法をお勧めします。

間違いは必ずあります。



ポイントをあげましょう

初心者なので先輩方に質問させていただきます。
最近、WeChat エンタープライズ アカウントの出席チェックインおよびチェックアウト機能に取り組んでいます。現在、サーバーの背景は WeChat ユーザーから送信された地理的位置 (緯度と経度) を受信できるようになりました。常設のオフィスエリア(オフィスが数百平方メートルと大きい場合、このエリア内でチェックインおよびチェックアウトが可能ですが、エリア外は不可)。

ユーザーから返された経度と緯度を取得した後、ユーザーがチェックインおよびチェックアウトを許可されているかどうかを判断するにはどうすればよいでしょうか? ?

従業員のオフィスの場所の地理的位置情報をデータベースに保存し、返された経度と緯度を比較する方法を使用すると、オフィスの場所は非常に大きくなります。地理的位置情報を保存するにはどうすればよいですか?どのように判断するか?


とても詳しいご回答、ありがとうございます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。