Получите точное местоположение Android GPS в PythonAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Получите точное местоположение Android GPS в Python

Сообщение Anonymous »

Я пытаюсь получить GPS-местоположение моего телефона Android в Python (с помощью приложения QPython3). Это работает, но, похоже, в Android есть несколько поставщиков местоположений:
  • gps: чистое местоположение GPS, медленный, энергоемкий, но очень точный,
    и именно то, что мне нужно.
  • сеть: сочетание GPS и Wi-Fi/сотового определения местоположения, быстрее, но менее точный
  • пассивный: как указано выше но полностью без использования GPS
Проблема:
Когда я запускаю свой скрипт (ниже), я получить мое местоположение только по «сети»,
что недостаточно точно.

Но я не могу найти способ принудительно указать определенный LocationProvider.

Код:

Код: Выделить всё

# import needed modules
import android
import time
import sys, select, os #for loop exit

#Initiate android-module
droid = android.Android()

#notify me
droid.makeToast("fetching GPS data")

print("start gps-sensor...")
droid.startLocating()

while True:
#exit loop hook
if sys.stdin in select.select([sys.stdin], [], [], 0)[0]:
line = input()
print("exit endless loop...")
break

#wait for location-event
event = droid.eventWaitFor('location',10000).result
if event['name'] == "location":
try:
#try to get gps location data
timestamp = repr(event['data']['gps']['time'])
longitude = repr(event['data']['gps']['longitude'])
latitude = repr(event['data']['gps']['latitude'])
altitude = repr(event['data']['gps']['altitude'])
speed = repr(event['data']['gps']['speed'])
accuracy = repr(event['data']['gps']['accuracy'])
loctype = "gps"
except KeyError:
#if no gps data, get the network location instead (inaccurate)
timestamp = repr(event['data']['network']['time'])
longitude = repr(event['data']['network']['longitude'])
latitude = repr(event['data']['network']['latitude'])
altitude = repr(event['data']['network']['altitude'])
speed = repr(event['data']['network']['speed'])
accuracy = repr(event['data']['network']['accuracy'])
loctype = "net"

data = loctype + ";" + timestamp + ";" + longitude + ";" + latitude + ";" + altitude + ";" + speed + ";" + accuracy

print(data) #logging
time.sleep(5) #wait for 5 seconds

print("stop gps-sensor...")
droid.stopLocating()
Пример вывода (поддельные координаты):

Код: Выделить всё

net;1429704519675;37.235065;-115.811117;0;0;23
net;1429704519675;37.235065;-115.811117;0;0;23
net;1429704519675;37.235065;-115.811117;0;0;23
Подведение итогов:
Как получить точное местоположение GPS в Android с помощью Python?
Заранее всем спасибо!

РЕДАКТИРОВАНИЕ: уже проверено:
  • внутри/снаружи
  • включено/выключено
  • WiFi GPS включен (перед запуском сценария)


Подробнее здесь: https://stackoverflow.com/questions/297 ... -in-python
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Получите точное местоположение GPS Android GPS в Python
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Получите точное местоположение GPS Android GPS в Python
    Anonymous » » в форуме Android
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Получите точное местоположение GPS Android GPS в Python
    Anonymous » » в форуме Python
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • Получите точное местоположение GPS Android GPS в Python
    Anonymous » » в форуме Android
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • Unity – AR – GPS (простые 3D-объекты появляются в координатах GPS) – Android и iOS
    Anonymous » » в форуме C#
    0 Ответы
    101 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»