Skip to main content
지오펜싱이란? 지오펜스의 작동 원리와 활용 사례
Guides

지오펜싱이란? 지오펜스의 작동 원리와 활용 사례

지오펜싱은 휴대폰, 차량, AI 에이전트가 특정 구역에 들어오거나 나갈 때 동작을 실행하는 기술입니다. 작동 원리, 활용 사례, Android와 iOS의 제한, 그리고 위치 정확도에 맞는 지오펜스 크기를 계산으로 설명합니다.

Brent van der Heiden최종 업데이트 23 min read
#지오펜싱#지오펜스#지오펜싱 뜻#geofencing#geofence#위치 기반 마케팅#point in polygon#api

지오펜싱은 장소를 트리거로 바꾸는 기술입니다. 지도 위에 가상의 경계, 즉 지오펜스를 그려 두면 무언가가 그 경계를 넘을 때 시스템이 반응합니다. 배송 차량이 고객의 동네에 들어서면 택배 앱이 주문 상태를 "곧 도착"으로 바꿉니다. 현장 직원의 휴대폰이 작업 현장을 벗어나면 근태 시스템이 근무 시간 기록을 멈춥니다. 드론이 비행 금지 구역 쪽으로 흘러가면 비행 제어기가 되돌립니다. 세 경우 모두 위치를 이벤트로 바꾸는 같은 일을 하는 지오펜스입니다.

이 글은 지오펜싱이 무엇인지, 판정이 어떻게 이루어지는지, 실제로 얻을 수 있는 위치 정확도에 맞춰 지오펜스를 얼마나 크게 잡아야 하는지, Android와 iOS가 무엇을 허용하는지, 그리고 차량 전체의 지오펜싱을 서버에서 처리하는 방법을 설명합니다. 정확도 표와 point-in-polygon 벤치마크는 저희가 직접 계산하고 측정한 결과이며, 방법은 각 섹션 끝에 적었습니다.

지오펜싱이란

지오펜싱은 형태와 규칙, 두 가지로 이루어집니다.

형태는 지표면 위의 영역입니다. 흔히 쓰는 형태는 두 가지로, 중심 좌표와 미터 단위 반경으로 정하는 원, 그리고 위도와 경도 점을 순서대로 이어 윤곽을 그리는 폴리곤입니다. "이 매장에서 200미터 이내"라면 원으로 충분합니다. "이 배송 구역 안"이나 "시 경계 안"처럼 경계가 불규칙하다면 폴리곤이 필요합니다.

규칙은 무언가가 형태를 넘을 때 무엇이 일어나는지 정합니다. 중요한 이벤트는 두 가지입니다. **진입(enter)**은 추적 대상이 밖에서 안으로 들어올 때, **이탈(exit)**은 안에서 밖으로 나갈 때입니다. 대부분의 플랫폼은 세 번째 이벤트인 **체류(dwell)**를 제공하며, 대상이 설정한 시간 이상 안에 머물 때만 발생합니다. 매장 앞을 지나가는 사람처럼 진입 이벤트가 너무 자주 발생할 때는 체류를 사용합니다.

지오펜싱의 작동 원리

위치가 업데이트될 때마다 시스템은 포함 판정을 실행합니다. 이 좌표가 이 형태 안에 있는가를 확인하는 것입니다.

원이라면 거리 계산입니다. 기기에서 중심점까지의 대원 거리를 재고, 반경보다 작으면 기기는 안에 있습니다. 폴리곤의 표준 방법은 레이 캐스팅 방식의 point-in-polygon 판정입니다. 점에서 한 방향으로 가상의 선을 긋고 폴리곤의 변과 몇 번 교차하는지 셉니다. 홀수면 안, 짝수면 밖입니다.

기하 계산은 가볍습니다. 어려운 부분은 그 주변에 있습니다.

  • 정확도. 측위 결과는 추정값입니다. 가만히 있는 휴대폰도 보고하는 위치가 흔들리고, 경계 근처에서는 실제로 일어나지 않은 진입과 이탈 이벤트가 생깁니다. 다음 섹션에서 수치로 보여 드립니다.
  • 배터리. GPS를 계속 읽으면 휴대폰 배터리가 빨리 닳습니다. 모바일 운영체제는 Wi-Fi와 기지국 신호를 사용하고 경계를 넘을 가능성이 있을 때만 앱을 깨우는 저전력 지오펜싱 API를 제공합니다.
  • 상태. 진입 이벤트는 직전 상태가 밖이었을 때만 의미가 있습니다. 엔진은 대상별, 지오펜스별로 마지막 상태를 기억해야 합니다.

지오펜스 크기와 위치 정확도: 계산 결과

Android는 위치 정확도를 실제 위치가 68퍼센트 확률로 포함되는 반경으로 보고합니다(Location.getAccuracy()). 대표적인 값은 각 제공처가 밝히고 있습니다. GPS.gov에 따르면 GPS를 지원하는 스마트폰의 정확도는 하늘이 트인 곳에서 보통 4.9미터 이내입니다. Android 지오펜싱 가이드는 Wi-Fi 위치 정확도를 보통 20~50미터로 제시하고, Wi-Fi가 없으면 수백 미터에서 수 킬로미터까지 떨어질 수 있다고 설명합니다.

위치 오차를 그 68퍼센트 반경을 갖는 2차원 정규분포로 모델링하고, 휴대폰이 원형 지오펜스의 정확히 중심에 있을 때 한 번의 측위가 바깥으로 나가는 비율을 계산했습니다.

위치 소스(68% 정확도)반경 25 m50 m100 m150 m250 m500 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퍼센트 정확도의 두 배 이상으로 잡는 것입니다. 그러면 중심에 있는 휴대폰은 측위의 99퍼센트에서 안에 머물고, 2.5배라면 99.9퍼센트입니다. 일반적인 Wi-Fi 정확도에서는 100~125미터이며, Android가 권장하는 최소 반경 100~150미터와 일치합니다.

중심은 가장 유리한 경우입니다. 울타리에서 10미터 안쪽 물류 거점 부지에 세운 밴처럼 경계 가까이 있는 기기는 훨씬 자주 반대편으로 판정됩니다.

위치 소스경계에서 5 m 안쪽10 m25 m50 m100 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 사례는 0이 됩니다. 체류 시간과 함께 쓰면 튀는 측위 한 번으로는 이벤트가 발생하지 않습니다.

방법. 축별 표준편차 = 정확도 / 1.5096(2차원 정규분포의 68퍼센트 반경). 중심에 있는 기기가 반경 R인 원 밖으로 나가는 비율 = exp(-R² / 2σ²). 거리 d의 직선 경계 반대편으로 나가는 비율 = Φ(-d/σ), 버퍼 h를 더하면 Φ(-(d+h)/σ). 측위는 서로 독립으로 가정했지만, 실제 수신기의 오차는 천천히 변하므로 독립이 아닙니다. 수치는 시간당 이벤트 수가 아니라 측위 중 비율로 읽어야 합니다. 스크립트: scripts/seo/blog-keyword-research/what-is-a-geofence.mjs, 출력: docs/blog-keyword-research/what-is-a-geofence-2026-09-30.json.

Android와 iOS의 지오펜싱: 플랫폼 제한

휴대폰에서는 포함 판정을 직접 실행하는 경우가 드뭅니다. 운영체제에 지오펜스를 등록하면 운영체제가 저전력 측위로 백그라운드에서 감시하다가 경계를 넘을 때 앱을 깨웁니다. 여기에는 설계할 때 고려해야 할 제한이 있습니다.

Android(Geofencing API)iOS(Core Location 조건 모니터링)
앱당 지오펜스 수앱별, 기기 사용자별 100개유형과 관계없이 조건 20개
형태원원
이벤트진입, 이탈, 체류(loitering delay 포함)satisfied, unsatisfied
지연보통 2분 미만, 백그라운드 위치 제한 시 평균 2~3분, 오래 정지해 있던 기기는 최대 6분수치 명시 없음
권장 최소 반경100~150 m수치 명시 없음

출처: Android 지오펜싱 가이드와 Apple의 조건 모니터링 문서입니다. Apple 문서에는 Core Location이 앱 하나가 유형과 관계없이 20개를 넘는 조건을 동시에 감시하지 못하도록 막는다고 적혀 있습니다.

실무에서 따라오는 결과는 두 가지입니다. 첫째, 두 플랫폼 모두 원을 감시하므로 휴대폰의 폴리곤 지오펜스는 폴리곤을 감싸는 원에, 앱이 깨어났을 때 직접 수행하는 폴리곤 판정을 더한 것이 됩니다. 둘째, 지점이 500개인 매장 체인은 모두 등록할 수 없습니다. 전체 목록은 서버에 두고 가장 가까운 20개(iOS) 또는 100개(Android)만 등록한 뒤, 사용자가 충분히 이동하면 교체합니다. 예를 들어 현재 위치를 둘러싼 큰 "갱신용" 지오펜스를 벗어날 때 교체하는 방식입니다.

서버에서 대규모 지오펜싱: H3 사전 필터를 쓴 point in polygon

차량 관제와 자산 추적에서는 보통 지오펜싱을 서버에서 처리합니다. 각 차량이 위치를 보내면 백엔드가 이를 여러 구역과 비교합니다. 이때 판정 비용이 중요해지며, 비용은 폴리곤 꼭짓점 수에 비례해 늘어납니다.

실제 경계로 측정했습니다. OpenStreetMap의 암스테르담시 경계로, 외곽 링 2개에 꼭짓점 7,677개입니다. 바운딩 박스 안에 무작위 점 1,000,000개를 만들고 각 점을 두 가지 방법으로 판정했습니다.

방법점당 시간1,000,000개 합계
폴리곤 전체에 레이 캐스팅13.3 µs13.3 s
해상도 9의 H3 사전 필터, 경계 근처만 레이 캐스팅2.3 µs2.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일 수집. 시간은 장비에 따라 달라지므로 참고할 값은 비율입니다.

좌표는 어디에서 오는가

지오펜스 판정은 입력하는 좌표만큼만 정확합니다. 그리고 그 좌표가 깔끔한 위도와 경도로 들어오는 경우는 드뭅니다.

실제로는 주소("서울특별시 중구 세종대로 110"), 장소 이름("중앙 물류센터"), 또는 원시 신호에서 시작합니다. 이를 지오펜스 판정에 필요한 [lng, lat]로 바꾸는 것이 지오코딩과 리버스 지오코딩입니다.

  • 지오코딩은 주소나 장소 이름을 좌표로 바꿉니다. 고객 위치 주변에 지오펜스를 만들거나 주문 배송지가 배송 구역 안에 있는지 확인할 수 있습니다.
  • 리버스 지오코딩은 좌표를 주소로 되돌립니다. 진입 이벤트가 "37.5663, 126.9779에 도착" 대신 "세종대로 110에 도착"이라고 알릴 수 있습니다.
  • 장소 데이터를 쓰면 손으로 그린 형태 대신 알려진 POI를 기준으로 지오펜스를 둘 수 있습니다.

지오펜싱 활용 사례

  • 배송과 물류. "배송 중", "도착" 이벤트를 발생시키고, 차량이 계획된 경로를 벗어나면 알립니다.
  • 현장 서비스와 근태 관리. 직원이 작업 현장에 들어오거나 나갈 때 자동으로 출퇴근을 기록합니다.
  • 리테일과 마케팅. 수신에 동의한 고객이 매장 근처에 오면 관련 쿠폰을 보냅니다.
  • 차량과 자산 추적. 장비가 허가된 구역을 벗어나는 즉시 알림을 받습니다.
  • 안전과 규정 준수. 기기가 위험 구역이나 비행 금지 구역에 들어가면 경고합니다.
  • 스마트 홈. 가족 중 마지막 휴대폰이 집으로 향하면 난방을 켭니다.

지오펜싱 마케팅과 개인정보

지오펜싱 마케팅은 같은 진입과 체류 이벤트로 메시지나 광고를 보여 줍니다. 쇼핑센터에 들어온 고객에게 쿠폰을, 전시회 방문객에게 배너를 보여 주는 식입니다. 이는 개인을 식별할 수 있는 위치 정보를 다루는 방식이며, EU의 GDPR은 개인정보의 정의에 위치 데이터를 명시하고 있습니다(제4조 제1항). 따라서 지오펜싱 캠페인에는 그 데이터를 처리할 법적 근거가 필요하고, 앱 알림과 광고에서는 실무상 사용자가 언제든 철회할 수 있는 동의를 뜻합니다.

위치 기록은 수사 기관의 관심도 받습니다. 지오펜스 영장은 특정 시간대에 특정 구역에 있던 모든 기기를 데이터 보유자에게 요구합니다. 미국 제5순회항소법원은 United States v. Smith(2024년 8월 9일)에서 지오펜스 영장이 현대판 일반 영장이며 수정헌법 제4조에 위배된다고 판단했습니다. 다만 해당 사건의 증거는 선의의 예외(good-faith exception)에 따라 채택되었습니다. Google은 2023년 12월, 위치 기록인 타임라인을 사용자의 기기에 저장하겠다고 발표했습니다. 자사 제품에 주는 교훈은 다른 개인정보와 같습니다. 지오펜스는 데이터가 이미 있는 곳에서 판정하고, 원시 위치 기록은 필요한 기간만 보관하며, 사용 사례가 허락하는 한 경로 대신 이벤트를 저장합니다.

AI 에이전트를 위한 지오펜싱

물류, 현장 서비스, 여행을 다루는 AI 에이전트는 "이 기사가 벌써 물류 거점 구역에 들어왔는가?"나 "이 매장 중 고객이 15분 안에 갈 수 있는 곳은 어디인가?" 같은 질문에 답해야 합니다. 이를 위해 에이전트에게 필요한 것은 정확한 위치 데이터와 판정할 경계, 두 가지입니다. 지오코딩 API로 좌표를 얻고, 지오펜스를 GeoJSON 폴리곤으로 불러와, 포함 판정을 도구 호출로 실행할 수 있습니다. 지오펜싱을 등시선(isochrone), 즉 고정된 형태 대신 이동 시간으로 만든 경계와 결합하면 에이전트는 도달 가능성으로 판단할 수 있고, 이는 사람들이 생각하는 "가까움"에 더 가깝습니다.

제대로 구축하는 방법

신뢰할 수 있는 지오펜스의 핵심은 네 가지입니다.

  1. 정확도에 맞춰 크기를 정합니다. 68퍼센트 정확도의 두 배 이상, Wi-Fi 수준의 측위라면 100~150미터입니다.
  2. 히스테리시스와 체류 시간을 더합니다. 경계를 넘는 버퍼와 안쪽 최소 체류 시간으로 대부분의 오탐을 없앨 수 있습니다.
  3. 경계를 깔끔하게 저장합니다. GeoJSON이 사실상의 표준입니다. 복잡한 폴리곤은 기기로 보내기 전에 단순화합니다.
  4. 정확한 좌표를 사용합니다. 기하 계산 코드보다 좋은 지오코딩과 리버스 지오코딩 API가 더 중요합니다.

MapAtlas는 정방향과 역방향 지오코딩을 지원하는 Geocoding API와 이동 시간 경계를 계산하는 Isochrone API를 EU 내 처리로 제공합니다. 좌표와 주소를 직접 확인하려면 좌표 도구를, 고정 반경 구역을 그리려면 반경 지도를 사용하십시오.

관련 글

자주 묻는 질문

지오펜싱이란 무엇입니까?

지오펜싱은 실제 구역 주위에 가상의 경계, 즉 지오펜스를 두고 기기, 차량, 소프트웨어 에이전트가 그 구역에 들어오거나 나갈 때 동작을 실행하는 기술입니다. 경계는 원(중심점과 반경)이거나 건물, 배송 구역, 동네를 둘러싼 폴리곤입니다. 추적 중인 위치가 경계를 넘으면 시스템은 알림, 체크인, 웹훅, 데이터베이스 업데이트 같은 이벤트를 발생시킵니다. 지오펜싱은 위치 기반 서비스의 핵심 구성 요소 중 하나입니다.

지오펜싱은 어떻게 작동합니까?

위치 소스(GPS, Wi-Fi, 기지국, IP)가 위치를 보고합니다. 포함 판정이 그 위치가 각 지오펜스 안에 있는지 결정합니다. 원은 거리 비교로, 폴리곤은 point-in-polygon 판정으로 확인합니다. 결과가 밖에서 안으로 바뀌면 진입(enter) 이벤트가, 안에서 밖으로 바뀌면 이탈(exit) 이벤트가 발생합니다. 기하 계산은 가볍습니다. 실제 엔지니어링 과제는 위치 정확도, 배터리 소모, 경계 근처의 오탐 방지입니다.

지오펜스는 얼마나 커야 합니까?

예상되는 위치 정확도의 두 배 이상이 기준이며, 오탐의 비용이 크다면 더 크게 잡습니다. Android 지오펜싱 가이드는 Wi-Fi 위치 정확도가 보통 20~50미터이므로 최소 반경을 100~150미터로 권장합니다. 저희 계산도 같은 결론입니다. 정확도가 50미터일 때 반경 100미터 지오펜스의 중심에 있는 휴대폰은 측위의 약 1퍼센트에서 바깥 위치를 보고하고, 150미터에서는 0.004퍼센트입니다. 하늘이 트인 곳의 GPS(정확도 5미터)라면 25미터 지오펜스도 이미 안정적입니다.

Android와 iOS에서 앱 하나가 감시할 수 있는 지오펜스는 몇 개입니까?

Android는 앱별, 기기 사용자별로 활성 지오펜스 100개를 허용합니다. iOS에서는 Core Location이 앱 하나가 지리적 영역을 포함해 20개를 넘는 조건을 동시에 감시하지 못하도록 제한합니다. 더 많이 필요한 앱은 전체 목록을 서버에 두고 기기에는 가장 가까운 지오펜스만 등록한 뒤, 사용자가 이동하면 목록을 교체합니다.

마케팅에서 지오펜싱이란 무엇입니까?

지오펜싱 마케팅은 사람이 매장, 전시회, 경쟁사 주차장 같은 구역에 들어올 때 메시지를 보내거나 광고를 보여 주는 방식입니다. EU에서는 여기에 쓰이는 위치 정보가 GDPR상 개인정보에 해당하며, GDPR은 개인정보의 정의에 위치 데이터를 명시하고 있습니다. 따라서 이런 캠페인에는 처리의 법적 근거가 필요하고, 앱 알림과 광고에서는 실무상 사용자 동의를 의미합니다. 동의 없이 쓰는 같은 기법이 바로 규제 당국과 법원이 문제 삼는 부분입니다.

지오펜스와 지오펜스 영장은 어떻게 다릅니까?

소프트웨어의 지오펜스는 배송 알림이나 체크인처럼 앱 동작을 실행하기 위해 직접 정의하는 경계입니다. 지오펜스 영장은 특정 시간대에 특정 구역 안에 있던 기기를 밝히도록 데이터 보유자에게 요구하는 법적 요청입니다. 미국 제5순회항소법원은 United States v. Smith(2024년 8월 9일)에서 지오펜스 영장이 현대판 일반 영장이며 수정헌법 제4조에 위배된다고 판단했습니다. 이 글은 엔지니어링 관점의 지오펜스를 다룹니다.

유용하셨나요? 공유해 보세요.

저자 소개

Brent van der Heiden

작성자

Brent van der Heiden

Co-Founder & CEO at MapAtlas

Brent built MapAtlas out of a conviction that developers deserve location APIs with fair pricing and genuine end-user privacy. Before that he co-founded MapMetrics, a community mapping and navigation app. He writes about geospatial infrastructure, map data, AI search visibility, and how location data powers the products people rely on every day.

모든 기사 보기 →
블로그로 돌아가기