Поправки DGPS на Android

Я разрабатываю проект, который предназначен для использования возможностей GPS на телефоне Android и ближайшей станции для вычисления позиционирования в гораздо более точной степени (см) с использованием технологии RTK DGPS.

До сих пор я не видел, чтобы кто-то говорил, что им действительно удалось выполнить аналогичную задачу (кроме @GPSmaster, кто не объясняет, как ), и APK, похоже, не предлагает никакой информации от чипа GPS Кроме местоположений и обновлений сообщений NMEA. Мне нужны, по возможности, псевдодиапазоны и фазы несущей.

Мне было интересно, если:

  • Можно было бы искать крючки нижнего уровня на моем телефоне с использованием собственного кода или другого отслеживания нижнего уровня;
  • Можно было бы отправить исправления RTCM на чип GPS, присутствующий на одном из этих устройств;

Есть идеи?

Solutions Collecting From Web of "Поправки DGPS на Android"

Нет, практически невозможно получить доступ к GPS-устройству с более низким уровнем доступа с помощью приложения Android. Это имеет несколько причин:

  • Приложение не имеет других средств доступа к устройству GPS, как через API на основе Java. Родительский код запрещен для использования большинства устройств и обычно требуется оболочка Java для туннелирования через песочницу для сенсорных устройств Android. Это составляет основную концепцию безопасности.

  • Если собственный код будет иметь доступ к устройству GPS на более низком уровне, ему придется справляться с несколькими различными протоколами производителей, которые теперь не абстрагируются API. Наилучшие шансы – получить доступ к пользовательским кодам NMEA, которые могут по-прежнему иметь зависящие от устройства оговорки.

  • Даже если доступ на более низком уровне будет возможен, вы потеряете интегрированное слияние других источников местоположения, таких как WLAN и несущая сотовой связи, которые предположительно объединены в собственный код ниже Java API, но выше протокола NMEA.

Вообще говоря, DGPS – это метод, который улучшает точность реальной позиции, уменьшая большую часть атмосферных воздействий на сигнал GPS. В типичном прямом измерении GPS происходит случайная ошибка в диапазонах, вычисленных для спутников из-за атмосферных эффектов. Вот почему GPS-приемник, который теперь собирает данные в фиксированном местоположении, по-видимому, блуждает с эллипсом ошибки. Для двух приемных станций в одной и той же области атмосферные эффекты почти идентичны, и они будут блуждать параллельно в пределах их одинаковых размеров и ориентированных эллипсов ошибок. Если один из двух приемников находится в известном месте, то различия в их кажущихся местоположениях GPS могут быть взяты и построены из истинного местоположения известной станции, чтобы найти истинное местоположение неизвестной станции.

В тот же день (около 1992 года), когда нам приходилось выполнять DGPS «постобработкой», мы использовали, чтобы сырые данные NEMA, собранные на двух станциях, соответствовали времени, вычисляли вектор базовой линии и применяли его к известному пункту, чтобы найти Неизвестный момент. Я думаю, что данные NEMA, которые мы использовали, записывались только в ближайшие 10 секунд. Математика не так уж и тяжела.

Я подозреваю, что сообщения NEMA GPS [ http://developer.android.com/reference/android/location/GpsStatus.NmeaListener.html ] из планшета в известном месте (с ясным видом неба), вероятно, могут быть отправлены через интернет (Также с ясным видом неба), который затем мог бы вычислить разницу и достичь относительного местоположения субметра на расстоянии нескольких километров, даже если предполагаемое время интернет-транзита было проигнорировано. Этот метод, вероятно, по-прежнему будет работать, даже если планшет и смартфон применяют широковещательные настройки DGPS.

С помощью andvent от Android 7.1 исходные данные от GPS-чипов будут доступны разработчикам. ( http://gpsworld.com/google-to-provide-raw-gnss-measurements/ )

Другие, похоже, сделали что-то похожее на то, что вы хотите выполнить ( http://gpsworld.com/innovation-precise-positioning-using-raw-gps-measurements-from-android-smartphones/ )

Ммм. У вашего андроида, вероятно, есть такая трещащая GPS-антенна, что достижение точности см. Невозможно. Может быть, если вы усредняете позицию в течение нескольких дней … обычно поддержка DGPS не публикуется, и не многие ее поддерживают. В прошлый раз, когда я увидел, что DGPS реализовал это, необходимо взломать прошивку встроенного микропроцессора GPS, чтобы добавить поддержку. Даже получение A-GPS для работы на случайном чипсете – это то, что они могут не поддерживать документированный способ подачи данных помощи.

Вы можете использовать поправки DGPS в Европе через специальное приложение для SISnet, получающих сигналы коррекции от спутников дополнения EGNOS ( http://egnos-portal.gsa.europa.eu/news/egnos-gets-invite-your-smartphone-11 ). Тем не менее, для получения имени пользователя и пароля для подключения к их серверам требуется подписка (которая еще не открыта для публики) SISnet. Есть некоторые из SDK, которые вы можете найти полезными. Просто помните, что вы ограничены только сигналами C / A (псевдодальности), и вы НЕ МОЖЕТЕ получить фазовые данные (L1 / L2) от этих дешевых чипов внутри смартфонов. Вам нужен точный приемник GNSS, такой как Trimble BD910 ( http: // http://Www.trimble.com/gnss-inertial/bd910.aspx?dtID=overview ), чтобы иметь возможность получать сигнал фазы несущей L1 для GPS & GLONASS. Однако есть более дешевые чипы, поддерживающие SBAS, но ни один из них пока не установлен в телефонах.

Это должно быть связано с аппаратной реализацией, а не с программной реализацией.

В действительности GPS обычно сопровождается Wi-Fi или 3G, чтобы помочь в поиске текущей позиции.

Коррекция RTCM может быть отправлена ​​на ваш Android-телефон с использованием NTRIP 'provider' . Затем вам нужно применить его к необработанному GPS в вашем Android.