Android는 대략적인 위치를 어떻게 얻습니까?


15

나는 안드로이드 (및 iOS와 같은 간단한 운영 시스템)가 WiFi 또는 GSM 타워 삼각 측량을 사용하여 현재 거친 위치를 얻는다는 것을 읽었습니다. 기본 아이디어를 얻었지만 세부 사항에 대한 질문이 있습니다.

  1. Android는 일반적으로 두 가지 방법을 모두 사용합니까 아니면 하나를 선호하고 다른 방법으로 넘어 갑니까?
  2. WiFi를 통해 위치를 얻기 위해 서버와 통신합니까? (예 : WiFi의 SID를 웹 서비스로 전송)
  3. GSM 타워를 통해 위치를 확보하기 위해 캐리어와 통신합니까, 아니면 장치에서 수행됩니까?

답변:


8

위치 서비스를 구현하는 방법은 개발자에게 달려 있습니다. 전체 설명은 여기에서 볼 수 있습니다 :

http://developer.android.com/guide/topics/location/obtaining-user-location.html

페이지 아래 1/3에 대한 그래프는 일반적인 앱의 기능을 확인하는 데 매우 유용하지만 다시 앱 개발자에게 달려 있습니다. 위치 서비스 유형은 다음과 같습니다.

  • 캐시 된 수정
  • 세포 ID
  • 와이파이
  • GPS
  • 모의 위치

앱이 대략적인 위치에 대해서만 권한을 요청하면 GPS를 사용하여 위치를 결정하지 않습니다.

질문에 대답하려면 ...

  1. 개별 앱 개발자에게 달려 있지만 대부분의 경우 순서는 Cached Fix, Cell-ID, Wifi, GPS 순서입니다.
  2. 예, WiFi 신호의 타워 ID 또는 SSID를 획득 한 후 해당 데이터는 대략적인 위치를 결정하기 위해 Google로 전송됩니다.
  3. 아니요, Google은 여기서 정말 영리한 일을했습니다. Google에는 자체 셀 타워 위치 데이터베이스가 있으며 타워 위치를 결정하기 위해 이동 통신사와 상호 작용할 필요가 없습니다.

이 기사에는 http://franciscokattan.com/2010/02/06/dynamic-cell-id-clever-way-to-block-google-but-will-it-backfire/ 에 대한 세부 정보가 있습니다.

짧은 버전은 Google지도와 같은 앱을 사용할 때 앱이 현재 GPS 수정과 함께 현재 Cell-ID 정보를 다시 전송한다는 것입니다. 이러한 방식으로 Google은 다양한 위치에서 신호 강도를 매우 잘 샘플링하여 매우 풍부한 데이터베이스를 구축 할 수 있습니다.


나는 당신의 대답을 아주 좋아하지만 "전적으로 개발자에게 달려 있습니다"-부분에 대한 당신의 권리가 확실하지 않습니다. 내가 알 수있는 한, 개발자는 벌금 또는 거친 위치를 얻기로 결정할 수 있습니다. 즉, LocationManager.NETWORK_PROVIDER 및 / 또는 LocationManager.GPS_PROVIDER를 사용하여 위치를 얻을 수 있습니다. Wi-Fi 또는 GSM을 사용하는지 여부를 판단하거나 볼 수 없다고 생각합니다.
Tim Büthe

가장 일반적인 경우 개발자는 데이터가 WiFi 또는 Cell-ID에서 오는지 신경 쓰지 않지만 개발자는 WiFi가 비활성화되거나 GPRS / GSM이 비활성화 된 경우에만 앱이 작동하도록 제한 할 수 있습니다. 귀하의 질문에 "모든 앱이 따르는 표준 순서가 있습니까?"라는 의미로 대답했습니다. 그러나 WiFi와 Cell-ID의 차이점과 관련하여 앱 개발자는 한 가지 유형의 위치 서비스를 구체적으로 요청할 수있는 기능이 제한적입니다.
JadeMason

1
이웃 / 실내에서 더 나은 삼각 측량을 할 수 있도록 Wi-Fi 핫스팟의 위치를 ​​데이터베이스에 제출하는 방법을 알고 있습니까? 난 내의 questione에 대한 스레드를 열었습니다 : android.stackexchange.com/questions/4715/...
오즈

3

이 중 상당수는 이동 통신사별로 다르며 개발자는 아니지만 전자 범죄 수사 과정에서 얻은 웹 및 교육을 통해 함께 구성 할 수있는 내용은 다음과 같습니다.

  1. 예.하지만 개발자가 설정하고 현재 코스 정확도, 파워 레벨, 사전 정의 된 우선 순위를 기반으로 할 수있는 특정 앱 LBS 우선 순위에 따라 다릅니다.
  2. 예. 이동 통신사에는 독점적 인 Wifi 기지국 위치 DB가 있습니다.
  3. 나는 안드로이드에 대해 구체적으로 말할 수는 없지만 일반적으로 이것은 캐리어 및 네트워크 유형 (CDMA 또는 GSM)이 될 것입니다. 전화기는 둘 다 가능하지만 적어도 몇 년 전에는 대역폭 제한으로 인해 핸드셋에서이 작업을 수행했습니다.


0

가장 가까운 타워가 무엇인지 알고 있습니다. 타워 ID가지도에있는 각 국가에 대한 공급자 데이터베이스가 있습니다. 이 데이터베이스는 공급자가 사전 설치하거나 무선으로 공급할 수있을 정도로 작을 수 있습니다. 안드로이드 전화가 어떻게 모르는이 데이터를 얻는 지.


-1

# 3에 대해 약간 다른 답변이 있습니다. 삼각 측량을 사용하려면 장치를 사용할 수 있지만 Cell-ID와 gsm (또는 cdma) 타워의 지역화를 일치 시키려면 반송파를 사용해야합니다.


그러나 이것은 앱 개발자 또는 최종 사용자가 결정할 수있는 옵션입니까, 아니면 이동 통신사에 의해 결정된 것입니까?
Matt

장치를 지역화하기 위해이 방법을 사용하려면 필수입니다. 삼각 측량 또는 다른 방법을 사용하면 현재 위치와 안테나 위치를 알 수 있습니다. 그러나 안테나의 위도 / 경도를 모르면지도에서 위치를 찾을 수 없습니다. 나는 분명하다 :)
Rob

@Rob 그러나 탑의 위치를 ​​찾기 위해 운송 업체가 필요하지 않습니다. 각 타워는 고유 ID를 브로드 캐스트하므로 누구나 이동 통신사 상호 작용없이 누구나 독립적으로 해당 ID를 선택하여 매핑 할 수 있습니다. Google은 셀 타워와 WiFi 액세스 포인트를 위해이 작업을 한동안 수행했습니다. Google Streetview 자동차는 여행 할 때 정보를 수집하고 다양한 플랫폼의 Google지도 사용자는 안테나 및 Wi-Fi ID 및 강도를 가진 GPS 수정과 일치하는 익명 데이터를 다시 보냅니다. 이는 Google이 도시에서 많은 트래픽 데이터를 수집하는 방식과 유사하며 많은지도 사용자의 속도와 위치를 집계합니다.
GAThrawn

확실합니까 ? 놀랍습니다. 예를 들어, 독일 (및 유럽의 다른 국가)에서 Google은 Wi-Fi 정보 수집에 대해 고소 당했기 때문에이 리소스를 사용하지 않은 것 같습니다. GSM 데이터베이스의 경우 Google이 소유 한 경우 액세스 할 수 있어야하며 들어 본 적이 없습니다.
Rob

1
@Rob googlemobile.blogspot.com/2008/06 / ... "휴대 전화는 현재 사용중인 셀 타워의 ID를 알고 있습니다. 휴대 전화에 GPS가있는 경우 휴대 전화의지도 애플리케이션은 휴대 전화의지도 좌표를 Google 위치 서버. " 현재 링크를 찾을 수 없지만 얼마 전 블랙 베리 Google지도 앱이 같은 이유로 근처의 WiFi SSID와 강도를 다시 전송한다고 발표했습니다. 이것은 그들이 의도했던 것보다 더 많은 WiFi 데이터를 캡처 한 것으로 고소되는 Streetview 소프트웨어의 프로그래밍 "오류"와 동일하지 않습니다.
GAThrawn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.