ジオフェンスとは、場所をトリガーに変える仕組みです。地図上に仮想の境界、つまりジオフェンスを引き、何かがその境界を越えたときにシステムが反応します。配送車が顧客の通りに入ると、配送アプリが注文を「まもなく到着」に切り替えます。作業員のスマートフォンが現場を離れると、勤怠システムが打刻を止めます。ドローンが飛行禁止空域に近づくと、フライトコントローラーが引き戻します。3つとも、位置をイベントに変えるという同じ仕事をするジオフェンスです。
このガイドでは、ジオフェンスとは何か、判定の仕組み、実際に得られる位置精度に対してジオフェンスをどのくらいの大きさにすべきか、AndroidとiOSで何ができるか、そしてフリート全体のジオフェンシングをサーバーで動かす方法を説明します。精度の表とpoint-in-polygonのベンチマークは当社独自の計算と計測で、方法は各セクションの最後に記載しています。
ジオフェンスとは
ジオフェンシングは、形とルールの2つで構成されます。
形は地表上の領域です。一般的なのは2種類で、中心座標とメートル単位の半径で決まる円と、緯度経度の点を順に並べて輪郭を描くポリゴンです。「この店舗から200メートル以内」なら円で足ります。「この配達エリアの中」や「市域の中」のように境界が不規則な場合はポリゴンが必要です。
ルールは、何かが形を越えたときに何が起きるかを決めます。重要なイベントは2つで、**進入(enter)**は追跡対象が外から内に移ったとき、**退出(exit)は内から外に移ったときです。多くのプラットフォームは3つ目の滞在(dwell)**を用意しており、対象が設定時間以上内側にとどまった場合にだけ発生します。店の前を通り過ぎる人のように進入イベントが多すぎる場合は、滞在を使います。
ジオフェンスの仕組み
位置が更新されるたびに、システムは包含判定を行います。この座標はこの形の内側にあるか、という判定です。
円の場合は距離の計算です。デバイスから中心点までの大円距離を測り、半径より小さければ内側です。ポリゴンの場合の標準的な方法はレイキャスティングによるpoint-in-polygon判定です。点から一方向に仮想の線を引き、ポリゴンの辺と交わる回数を数えます。奇数なら内側、偶数なら外側です。
幾何計算は軽い処理です。難しいのはその周辺です。
- 精度。 測位結果は推定値です。静止しているスマートフォンでも報告される位置はふらつき、境界付近では実際には起きていない進入や退出が発生します。次のセクションで数値にします。
- バッテリー。 GPSを常に使うとスマートフォンの電池はすぐに減ります。モバイルOSには、Wi-Fiや基地局の信号を使い、境界を越えそうなときだけアプリを起こす省電力のジオフェンスAPIがあります。
- 状態。 進入イベントは、直前の状態が外側だった場合にだけ意味を持ちます。エンジンは対象ごと、ジオフェンスごとに最後の状態を覚えておく必要があります。
ジオフェンスの大きさと位置精度:計算結果
Androidは位置精度を、実際の位置が68パーセントの確率で含まれる半径として報告します(Location.getAccuracy())。代表的な値は各提供元が示しています。GPS.govによると、GPS対応スマートフォンの精度は上空が開けた場所で通常4.9メートル以内です。Androidのジオフェンスガイドは、Wi-Fiによる位置精度を通常20〜50メートルとし、Wi-Fiがない場合は数百メートルから数キロメートルまで低下しうるとしています。
位置の誤差を、その68パーセント半径を持つ2次元正規分布としてモデル化し、スマートフォンが円形ジオフェンスのちょうど中心にあるとき、1回の測位が外側に出る割合を計算しました。
| 位置情報のソース(68%精度) | 半径25 m | 50 m | 100 m | 150 m | 250 m | 500 m |
|---|---|---|---|---|---|---|
| GPS、上空が開けた場所(5 m) | 0% | 0% | 0% | 0% | 0% | 0% |
| Wi-Fi、良好(20 m) | 16.9% | 0.08% | 0% | 0% | 0% | 0% |
| Wi-Fi、標準(50 m) | 75.2% | 32.0% | 1.05% | 0.004% | 0% | 0% |
| Wi-Fiなし、基地局(300 m) | 99.2% | 96.9% | 88.1% | 75.2% | 45.3% | 4.2% |
「0%」は0.001パーセント未満を意味します。ここから得られる目安は、半径を68パーセント精度の2倍以上にすることです。そうすれば中心にあるスマートフォンは測位の99パーセントで内側にとどまり、2.5倍なら99.9パーセントです。標準的なWi-Fi精度では100〜125メートルとなり、Androidが推奨する最小半径100〜150メートルと一致します。
中心は最も有利なケースです。フェンスから10メートル内側の配送拠点の敷地に停めたバンのように、境界の近くにあるデバイスは、はるかに頻繁に反対側に判定されます。
| 位置情報のソース | 境界から5 m内側 | 10 m | 25 m | 50 m | 100 m |
|---|---|---|---|---|---|
| GPS、上空が開けた場所(5 m) | 6.6% | 0.13% | 0% | 0% | 0% |
| Wi-Fi、良好(20 m) | 35.3% | 22.5% | 3.0% | 0.01% | 0% |
| Wi-Fi、標準(50 m) | 44.0% | 38.1% | 22.5% | 6.6% | 0.13% |
| Wi-Fiなし、基地局(300 m) | 49.0% | 48.0% | 45.0% | 40.1% | 30.7% |
対策はヒステリシスです。位置が境界からバッファ距離以上離れたときにだけ状態を切り替えます。バッファを精度の値と同じにすると、境界から10メートル内側のWi-Fiのケースでは、反対側に判定される測位が38.1パーセントから3.5パーセントに下がり、GPSのケースではゼロになります。滞在時間と組み合わせれば、1回の外れ値でイベントが発生することはなくなります。
方法。 軸ごとの標準偏差 = 精度 / 1.5096(2次元正規分布の68パーセント半径)。中心にあるデバイスが半径Rの円の外に出る割合 = exp(-R² / 2σ²)。距離dの直線境界の反対側に出る割合 = Φ(-d/σ)、バッファhを加えると Φ(-(d+h)/σ)。測位は独立として扱っていますが、実際の受信機は誤差がゆっくり変化するため独立ではありません。数値は1時間あたりのイベント数ではなく、測位に占める割合として読んでください。スクリプト:scripts/seo/blog-keyword-research/what-is-a-geofence.mjs、出力:docs/blog-keyword-research/what-is-a-geofence-2026-09-30.json。
AndroidとiOSのジオフェンス:プラットフォームの制限
スマートフォンでは、包含判定を自分で実行することはほとんどありません。ジオフェンスをOSに登録すると、OSが省電力の測位でバックグラウンドから監視し、境界を越えたときにアプリを起こします。そこには設計時に考慮すべき制限があります。
| Android(Geofencing API) | iOS(Core Locationの条件監視) | |
|---|---|---|
| アプリあたりのジオフェンス数 | アプリごと、デバイスのユーザーごとに100件 | 種類を問わず20条件 |
| 形状 | 円 | 円 |
| イベント | 進入、退出、滞在(loitering delay付き) | satisfied、unsatisfied |
| 遅延 | 通常2分未満。バックグラウンドの位置情報制限下では平均2〜3分。長時間静止していたデバイスでは最大6分 | 数値の記載なし |
| 推奨最小半径 | 100〜150 m | 数値の記載なし |
出典:Androidのジオフェンスガイドと、Appleの条件監視のドキュメント。後者には、Core Locationは1つのアプリが種類を問わず20を超える条件を同時に監視することを防ぐ、と書かれています。
実務上の帰結は2つあります。第一に、どちらのプラットフォームも円を監視するため、スマートフォンでのポリゴンのジオフェンスは、ポリゴンを囲む円と、アプリが起きたときに自前で行うポリゴン判定の組み合わせになります。第二に、500店舗を持つチェーンはすべてを登録できません。全件のリストはサーバーに置き、最寄りの20件(iOS)または100件(Android)だけを登録し、ユーザーが十分に移動したら入れ替えます。たとえば現在地を囲む大きな「更新用」ジオフェンスから出たときに入れ替える方法があります。
サーバーでの大規模ジオフェンシング:H3の事前フィルタを使ったpoint in polygon
フリートや資産の追跡では、ジオフェンシングは通常サーバーで動かします。各車両が位置を送信し、バックエンドがそれぞれを多数のゾーンと照合します。ここでは判定のコストが重要で、ポリゴンの頂点数に比例して増えます。
実在の境界で計測しました。OpenStreetMapのアムステルダム市の境界で、外周リングが2つ、頂点は7,677個です。バウンディングボックス内に1,000,000個のランダムな点を生成し、各点を2通りの方法で判定しました。
| 方法 | 1点あたりの時間 | 1,000,000点の合計 |
|---|---|---|
| ポリゴン全体へのレイキャスティング | 13.3 µs | 13.3 s |
| 解像度9のH3事前フィルタ、境界付近だけレイキャスティング | 2.3 µs | 2.3 s |
事前フィルタは、ポリゴンを約0.1 km²のH3六角形で覆います。境界が通る464セルを「要判定」、完全に内側にある2,520セルを「内側」とし、それ以外は外側です。各点についてH3セルを求め(定数時間の処理)、「要判定」セルの場合だけポリゴン全体の判定を行います。これに該当したのは点の9.2パーセントでした。判定結果は1,000,000点すべてで全体判定と一致し、参照テーブルの作成には135ミリ秒かかりました。
事前フィルタはこのポリゴンで5.9倍速く、ほとんどの点が頂点のループに到達しないため、頂点数が多いほど効果が大きくなります。数千台の車両を数秒ごとに多数のゾーンと照合する場合に使ってください。
方法。 レイキャスティングには@turf/boolean-point-in-polygon、h3-js 3.7.2、Apple M2 Pro上のNode 23を使用。境界セルは各辺を5メートルごとにサンプリングして求め、内側セルはH3のpolyfillから境界セルを除いたものです。スクリプトは上と同じです。境界データ © OpenStreetMap contributors(ODbL)、リレーション47811、2026年9月30日取得。時間はマシンに依存するため、参考になるのは比率です。
座標はどこから来るのか
ジオフェンスの判定は、入力する座標の質で決まります。そしてその座標が、きれいな緯度経度で届くことはまれです。
実際には、住所(「東京都千代田区丸の内1-9-1」)、場所の名前(「中央倉庫」)、または生の信号から始まります。これをジオフェンス判定に必要な[lng, lat]に変換するのがジオコーディングとリバースジオコーディングです。
- ジオコーディングは住所や場所の名前を座標に変換します。顧客の所在地の周りにジオフェンスを作ったり、注文の配送先が配達エリア内かを確認したりできます。
- リバースジオコーディングは座標を住所に戻します。進入イベントで「35.6812, 139.7671に到着」ではなく「丸の内1-9-1に到着」と表示できます。
- 場所のデータを使えば、手で描いた形ではなく既知のPOIを基準にジオフェンスを設定できます。
ジオフェンスの活用例
- 配送と物流。 「配送中」「到着」のイベントを発生させ、車両が予定のルートを外れたら通知します。
- フィールドサービスと勤怠管理。 スタッフが現場に出入りしたときに自動でチェックイン・チェックアウトします。
- 小売とマーケティング。 同意したお客様が店舗の近くに来たときに、関連するクーポンを送ります。
- 車両と資産の追跡。 機材が許可されたエリアから出た瞬間に通知を受け取ります。
- 安全とコンプライアンス。 デバイスが危険区域や飛行禁止空域に入ったら警告します。
- スマートホーム。 家族の最後のスマートフォンが帰路についたら暖房をオンにします。
ジオフェンスを使ったマーケティングとプライバシー
ジオフェンスを使ったマーケティングは、同じ進入・滞在イベントでメッセージや広告を表示します。ショッピングセンターに入ったお客様へのクーポンや、展示会の来場者向けのバナーなどです。これは個人を特定できる位置情報を扱う手法であり、EUのGDPRは個人データの定義に位置データを明記しています(第4条第1項)。そのためジオフェンスのキャンペーンにはデータ処理の法的根拠が必要で、アプリ通知や広告では実務上、ユーザーがいつでも撤回できる同意を意味します。
位置の履歴は捜査機関の関心も集めます。ジオフェンス令状は、ある時間帯にあるエリアにいたすべてのデバイスをデータ保有者に求めるものです。米国第5巡回区控訴裁判所はUnited States v. Smith(2024年8月9日)で、ジオフェンス令状は現代版の一般令状であり、合衆国憲法修正第4条に反すると判断しました。ただしその事件の証拠は、善意の例外(good-faith exception)により採用されています。Googleは2023年12月、位置情報の履歴であるタイムラインをユーザーの端末に保存すると発表しました。自社のプロダクトについての教訓は、ほかの個人データと同じです。ジオフェンスはデータがすでにある場所で判定し、生の位置履歴は必要な期間だけ保持し、ユースケースが許す限り経路ではなくイベントを保存します。
AIエージェントのためのジオフェンス
物流、フィールドサービス、旅行を扱うAIエージェントは、「このドライバーはもう拠点のゾーンに入ったか」「これらの店舗のうち、お客様から15分以内に行けるのはどれか」といった問いに答える必要があります。そのためにエージェントに必要なのは、正確な位置データと判定対象の境界の2つです。ジオコーディングAPIで座標を取得し、ジオフェンスをGeoJSONのポリゴンとして読み込み、包含判定をツール呼び出しとして実行できます。ジオフェンスを等時線(isochrone)、つまり固定の形ではなく移動時間による境界と組み合わせれば、エージェントは到達可能性で判断でき、人が考える「近い」に近づきます。
正しく構築するために
信頼できるジオフェンスのポイントは4つです。
- 精度に合わせて大きさを決める。 68パーセント精度の2倍以上。Wi-Fi程度の測位なら100〜150メートルです。
- ヒステリシスと滞在時間を加える。 境界を越えたバッファと内側での最小滞在時間で、誤検知の大半を防げます。
- 境界をきれいに保存する。 GeoJSONが事実上の標準です。複雑なポリゴンは端末に送る前に簡略化します。
- 正確な座標を使う。 幾何計算のコードよりも、優れたジオコーディングとリバースジオコーディングのAPIのほうが重要です。
MapAtlasは、フォワードとリバースのジオコーディングに対応したGeocoding APIと、移動時間の境界を求めるIsochrone APIを、EU内での処理で提供しています。座標や住所を手作業で確認するには座標ツールを、固定半径のゾーンを描くには半径マップを使ってください。
関連記事
よくある質問
ジオフェンスとは何ですか?
ジオフェンスとは、現実のエリアの周りに引く仮想の境界です。デバイスや車両、ソフトウェアエージェントがそのエリアに入ったり出たりすると、アクションが実行されます。境界は円(中心点と半径)か、建物や配達エリア、地区を囲むポリゴンです。追跡中の位置が境界を越えると、システムは通知、チェックイン、Webhook、データベース更新などのイベントを発生させます。ジオフェンスを使った仕組みをジオフェンシングと呼び、位置情報サービスの基本的な構成要素のひとつです。
ジオフェンスはどのような仕組みで動きますか?
位置情報のソース(GPS、Wi-Fi、基地局、IP)が位置を報告します。包含判定がその位置が各ジオフェンスの内側にあるかを判断します。円なら距離の比較、ポリゴンならpoint-in-polygon判定です。結果が外から内に変われば進入(enter)イベント、内から外に変われば退出(exit)イベントが発生します。幾何計算自体は軽く、実際の課題は位置精度、バッテリー消費、境界付近での誤検知の防止にあります。
ジオフェンスの半径はどのくらい必要ですか?
想定される位置精度の2倍以上が目安で、誤検知のコストが高い場合はさらに大きくします。Androidのジオフェンスガイドは、Wi-Fiによる位置精度が通常20〜50メートルであることから、最小半径を100〜150メートルにするよう推奨しています。当社の計算も同じ結論です。精度50メートルの場合、半径100メートルのジオフェンスの中心に立つスマートフォンは測位の約1パーセントで外側の位置を報告し、150メートルでは0.004パーセントです。上空が開けた場所のGPS(精度5メートル)なら、25メートルのジオフェンスでもすでに安定します。
AndroidとiOSでは、1つのアプリでいくつのジオフェンスを監視できますか?
Androidでは、アプリごと、デバイスのユーザーごとに100件のジオフェンスを有効にできます。iOSでは、Core Locationが1つのアプリで同時に監視できる条件(地理的な領域を含む)を20件までに制限しています。それ以上必要なアプリは、全件のリストをサーバーに持ち、端末には最も近いジオフェンスだけを登録して、ユーザーの移動に合わせて入れ替えます。
マーケティングでのジオフェンスとは何ですか?
ジオフェンスを使ったマーケティングは、店舗や展示会、競合店の駐車場などのエリアに人が入ったときに、メッセージを送ったり広告を表示したりする手法です。EUでは、この際に扱う位置情報はGDPR上の個人データにあたり、GDPRは個人データの定義で位置データを明記しています。そのため、こうしたキャンペーンには処理の法的根拠が必要で、アプリ通知や広告では実務上、ユーザーの同意が求められます。同意のない同じ手法こそ、規制当局や裁判所が問題視しているものです。
ジオフェンスとジオフェンス令状の違いは何ですか?
ソフトウェアのジオフェンスは、配達通知やチェックインなどアプリの動作を起こすために自分で定義する境界です。ジオフェンス令状は、ある時間帯にあるエリア内にいたデバイスを明らかにするよう、データ保有者に求める法的な要請です。米国第5巡回区控訴裁判所はUnited States v. Smith(2024年8月9日)で、ジオフェンス令状は現代版の一般令状であり、合衆国憲法修正第4条に反すると判断しました。この記事で扱うのはエンジニアリングとしてのジオフェンスです。

