Iphone 5s неправильно определяет местоположение. GPS-трекер неправильно определяет координаты: кто виноват и что делать. Где мои дети

В Instagram не так много функций, и поклонники давно и хорошо их изучили: наложить фильтры, вставить рамку, сделать расплывчатым то, что не так важно в кадре, . Сторонние разработчики предлагают гораздо больше возможностей: публиковать панорамы, смотреть фотографии в хорошем качестве на планшете, создавать фото-календари и многое другое. Мы собрали 6 мобильных сервисов, которые понравятся поклонникам Instagram.



Instasize, есть бесплатная версия, iPhone, Android.

Приложение, которое позволяет публиковать в Instagram панорамы. Традиционно в Instagram выкладывают квадратные картинки. И если вы делали снимок обычной камерой, нужно будет подстроить изображение под квадрат, выбрав самую интересную его часть. Но если важным в фотографии является все - от края до края?

Для таких целей и существует Instasize. Он поместит ваш снимок в центр, а сверху и снизу просто оставит полосы, их можно закрасить подходящим цветом или фоном, и уже потом экспортировать то, что получилось, в Instagram. Деньги просят за дополнительный функционал - интересные фоновые расцветки.

Перевернуть изображение руками, сделать его горизонтальным, чтобы поместилось в квадрат Instagram, или поставить картинку под наклон можно в приложении PicSets.

Instapad, есть бесплатная версия, iPad.

Эта программа для тех, кто не понимает, как можно смотреть фотографии на относительно небольшом экране смартфона. В Instapad изображения гораздо больше, как если бы вы смотрели их в вебе. Можно сортировать записи - видеть только свое, только друзей, только тех, кто добавил в друзья вас или кого добавили вы.

Параллельно можно в удобном виде посмотреть, с кем вы невзаимные друзья и, возможно, почистить френдленту. Есть также лента популярных фотографий и тех снимков, которым вы ставили лайки.

Pictacular, бесплатно, iPad, Android.

Пожалуй, одно из самых интересных сторонних приложений про Instagram. Оно выполнено в стиле известной социальной сети про картинки - Pinterest, в шахматном порядке показываются ваши снимки и фотографии ваших друзей.

Удобно, что прямо отсюда можно легко перепостить изображения в Pinterest и Facebook. Есть разбивка по темам для тех, кто любит открывать новых фотоавторов.

Instacartoon, есть бесплатная версия, iPhone

Одни пользователи предпочитают вообще не использовать фильтры для своих изображений, а другие наоборот не прочь поэкспериментировать. Для них программа, которая превращает картинки в стоп-кадры из мультфильмов. Не со всеми фотографиями получается хорошо, даже штатные инструменты для редактирования могут не вытащить снимок, но часто получается действительно необычно и здорово. Минус в том, что бесплатно доступно только 3 эффекта. Для Android есть аналог - Insta cartoon photo.



Aviary, есть бесплатная версия, iOS, Android.

Если вы хотите оставить в смартфоне один фоторедактор, можно смело остановиться на этом. В бесплатном пакете довольно много инструментов для редактирования снимков - резкость, фокус, рамочки, обрезка. Кроме того, есть стикеры (наклейки), возможность делать надписи и рисовать на фотографиях от руки.

За дополнительную плату предлагают пакеты инструментов, например, еще больше наклеек. Приложение русифицировано.

InstaCC, бесплатно, iPhone.

Про картинки из этого приложения всегда спрашивают - как это сделано? Дело в том, что нехитрая программа раскидывает автоматически ваши изображения по дням и показывает фотоисторию в течение месяца. Можно с первого взгляда понять, чем вы занимались в течение последних 30 дней, и иногда это бывает очень забавно.



Бонус: где сделать красивый коллаж?

Фотоколлажи - наверное, самый популярный запрос у пользователей Instagram. И все приложения обычно предлагают простые шаблоны бесплатно, а более интересные - за деньги. К таким относятся Framtastic, Photocollage, Framatic, InstaCollage. А вот авторы YourMoments (бесплатно для iOS) сумели пофантазировать на тему и сделали шаблоны для коллажей как будто нарисованными, как будто реальный художник размыл фон или нарисовал причудливое пятно от кофе. Кроме разнообразных шаблонов можно выбрать еще и разный фон.

Во всех приложениях камеры в современных смартфонов есть функция съемки панорамных фотографий. Но как быть, если хочется выложить такую фотографию в Instagram? Раньше я делал из таких фоток что-то вроде коллажа, когда в одном снимке умещалось несколько кадров. Но появление постов в Instagram с «много в одном» явно намекает на использование оных для постинга панорам. Весь вопрос как подготовить панораму к размещению в Instagram. А очень просто! В этом нам поможет приложение PanoramaCrop.

Устроено оно очень просто: выбираем файл с панорамой через стандартный файловый менеджер Android, настраиваем фотографию для постинга (кол-во кадров на сколько будет разбита панорама, масштаб и обрезка, выравнивание горизонта) и приложение создаст несколько файлов для постинга нашей панорамы в Instagram. Далее стандартным образом постим панораму к «многофотку». И все. Получается примерно вот так. Что интересно, если листать фотки в приложении, то место склейки даже не видно (см. последний скриншот в галереи ниже). Получается, что это как бы единая фотография.

Загрузить панорамное фото в Instagram несложно. Вы можете создать запись Instagram с несколькими фотографиями, переходящими одна в другую. Это будет выглядеть примерно вот так.

Панорамные фотографии в Instagram ничем не отличаются от обычных записей с несколькими снимками. Их можно сделать вручную либо при помощи мобильных приложений. Вот как это делается.

Подготавливаем панораму вручную

  1. Сделайте панорамное фото. Большинство современных смартфонов и камер умеют это. Учтите, что для того, чтобы панорамная фотография вышла действительно качественной, вам может понадобиться штатив.
  2. Откройте фото в любом графическом редакторе. Можно воспользоваться профессиональными решениями, такими как Photoshop, Lightroom и , или Lightroom Mobile, или любым другим графическим редактором на ваш выбор. От редактора требуется только умение вырезать фрагменты изображения.
  3. С помощью инструмента для обрезки фотографий обрежьте ваше фото до нужных пропорций. Если вы хотите, чтобы ваша панорама состояла из трёх частей, пропорции фотографии должны быть 3: 1. Для панорамы из шести частей пропорции должны быть равны 6: 1 - и так далее. Учтите, что больше десяти квадратов в одну панораму Instagram вставить не получится.
  4. Разрежьте получившееся изображение на несколько квадратов одинакового размера. Сделать это можно как в вашем графическом редакторе, так и с помощью одного из этих сервисов:
  1. Вы получите несколько изображений одинаковых пропорций. Теперь отправьте их на свой телефон, чтобы загрузить их в нужном порядке в Instagram. Или можете загрузить фотографии через мобильную версию сайта. Чтобы панорама получилась, нужно разместить фотографии слева направо так, чтобы крайняя левая часть фото оказалась первой, а крайняя правая - последней.

Загружаем панораму автоматически

Сделать панорамное фото для Instagram можно с помощью таких приложений, как Swipeable для iOS и InSwipe для Android. Они бесплатны, и с ними вам не придётся утруждать себя вознёй в графических редакторах.

Swipeable

Приложение для iOS позволяет создавать панорамные и даже зацикленные на 360° фотографии для Instagram. Просто выберите панорамное фото, а приложение поделит его на квадратные сегменты и применит нужные фильтры.

InSwipe

Работает на Android и имеет схожую функциональность - создаёт бесшовные панорамы для Instagram. Фотографии можно масштабировать или изменять их размер. Сетка, адаптирующаяся под размер панорамы, позволит разрезать изображения точно в нужных местах.

На различных сайтах и форумах часто встречаются вопросы, почему навигатор не определяет местоположение? Причин этой неисправности может быть немало.

Если вы включили навигатор после внушительного перемещения (около 1000 километров), то ему необходимо много времени для того, чтобы повторно обнаружить спутники. Если пребывать в неподвижном состоянии, этот время может еще больше увеличиться. Для того чтобы навигатор показал местоположение ему необходимо «видеть» небо. Для более точного позиционирования приемнику необходимо ловить 4-5 спутников, в общем, чем большее количество спутников, тем прибор будет точнее показывать местоположение.

Зачастую, причиной того, что навигатор не определяет местоположение, может быть слишком плотная застройка, густые деревья, или, к примеру, крыша автомобиля. Другое дело, что сигнал может быть слишком слабым и недостаточным для того, чтобы обнаружить расположение того объекта, где установлен прибор.

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

Зачастую, устройство не определяет местоположение после перепрошивки. Приемник может начинать подключение к спутникам, которые не видны у нас, и поэтому прибор не может автоматически показать местонахождение. Для загрузки правильного альманаха необходимо осуществить установку координат. Есть два режима, как это можно сделать: автоматический и ручной. Автоматический режим требует больше времени.

В ручном режиме самостоятельно выбирается страна и город нахождения и приемник вскоре сам находит правильные спутники. Почему устройства не ловят спутники после процедуры обновления ПО с официального сайта? Часто причина кроется в открытии неправильного COM-порта или же в неисправности GPS-антенны. Правильный порт может быть открыт лишь правильной прошивкой, а если загрузить в GPS-навигатор неправильную версию прошивки, то он станет давать сбои в работе иле не будет работать вовсе.

Причиной того, что навигатор не показывает местоположение, тоже может являться сбой альманаха. Это может произойти, если прибор хранится без питания, но после перезагрузки альманаха приемник будет работать стабильно. Если это не поможет, то еще можно сделать полный сброс настроек.

Также вполне возможно, что вышел из строя усилитель мощности (в таком случае необходима его замена) или же произошло механическое повреждение прибора (удары, влага), в таком случае необходимо провести диагностику. Но, если, в итоге, в меню определения числа спутников ни один из них не появился, то, скорее всего, проблема с навигатором достаточно серьезная и надо обращаться в сервисный центр, который, как правило, проведет бесплатную диагностику.

Сейчас всё больше мобильных приложений становятся геозависимыми. Одни просто не имеют смысла без знаний о местоположении пользователя, другие становятся с ним удобнее. Это так называемые Location Based Services (LBS): навигаторы, форскверы, инстаграмы с геотегами фотографий и даже приложения-напоминалки, которые срабатывают около конкретного места, например, рядом с офисом или магазином.

Для сервисов и приложений Яндекса мы создали собственную реализацию метода определения местоположения без GPS - Яндекс.Локатор . Он экономит время пользователя и делает наши приложения чуточку умнее. В Навигаторе и Картах она избавляет от ввода начальной точки маршрута, даже если вы на крытой парковке. А при выборе фильма в Киноафише или товара в мобильном Маркете помогает сразу показать, где их найти именно в вашем районе города. Ну и, разумеется, при поиске кафе и банкоматов - позволяет показывать вам сразу ближайшие, даже когда вы в метро.

Технологию мы давно открыли в виде бесплатного API. Сегодня хотим рассказать, как она устроена.

Почему без GPS и как иначе

Спутниковые системы навигации (GNSS), в нашем случае это GPS и ГЛОНАСС, - самый точный на сегодняшний день метод геоопределения. Соответствующие модули есть практически во всех современных смартфонах. Но не всегда и не везде он может решить задачи LBS.

Во-первых, поиск спутников иногда занимает несколько минут, а бывают ситуации, в которых скорость определения важна даже с потерей точности. Например, когда нужно построить предварительный маршрут в навигаторе или зачекиниться . Во-вторых, спутники обычно не «видны» в помещениях или под землёй. В-третьих, GPS-модули есть не в каждом мобильном телефоне или планшете, и их почти нет в ноутбуках. То есть для LBS нужны альтернативы.

И альтернативы, конечно, есть - определять местоположение можно по ближайшим GSM-вышкам, сетям Wi-Fi и даже по IP-адресу. Точность определения у каждого из этих способов гораздо хуже, чем у GPS. Но если их скомбинировать, они вместе дадут приемлемое качество. При этом какие-то недостатки одного нейтрализуются возможностями другого. GSM-вышки есть практически везде, а Wi-Fi сети - нет. При этом по Wi-Fi точность определения лучше. Поэтому комбинированный способ по полноте и точности лучше, чем каждый в отдельности. Менее известен факт, что у двух роутеров в разных частях города может оказаться одинаковый MAC-адрес. Совмещение GSM и Wi-Fi решает такие коллизии. У этих роутеров, скорее всего, рядом будут находиться вышки с разными идентификаторами - ведь вероятность совпадения в пределах квартала гораздо меньше, чем в масштабах всего города.

В мире есть несколько реализаций такого комбинированного способа геоопределения. И кажется, первый вопрос, с которым сталкивались все разработчики, - где же взять информацию о местоположении сетей Wi-Fi и сотовых вышек?

База местоположений сетей

В дилемме «купить или создать» мы в конечном счёте предпочли второе. Основная причина - что с собственными данными и алгоритмами гораздо легче контролировать качество результата. В сборе информации нам помогли пользователи мобильных Яндекс.Карт.

Когда мы начинали разрабатывать Локатор, на улицах городов были уже сотни тысяч людей с включёнными в телефонах Яндекс.Картами. С согласия пользователя приложение постоянно передаёт его GPS-координаты - на основе этой информации строятся Яндекс.Пробки. Мы подумали, что вместе с этим приложение может отмечать, какой базовой станцией обслуживается телефон в этих координатах, какие видны сети Wi-Fi (при этом, конечно, к самим сетям не подключаясь - чтобы не создавать privacy-рисков).

Человеку для участия в таком краудсорсинге ничего специально делать не нужно - просто пользоваться приложением. Как и о координатах, данные об окружающих Wi-Fi сетях и станциях GSM обезличены. Они практически ничего не «весят», и батарейка от их передачи, соответственно, быстрее не садится.

Таким образом, пользователи стали помогать друг другу:


Одни, с GPS-приёмником в телефоне, узнают точное расположение сетей и передают информацию в Яндекс. Другие, у которых GPS-модулей нет, присылают список сетей, которые видят в данный момент, и получают в ответ своё примерное местоположение на карте.

База собрана и регулярно обновляется. И тут мы сталкиваемся со следующей проблемой.

«Переезд» сетей

Опыт показывает, что идентификаторы сотовых вышек постоянно меняются - номер, который вчера был в центре города, завтра может оказаться на окраине. Переезжать могут и Wi-Fi-роутеры - вместе со своими владельцами. И получается, что с каждым переездом нужно инвалидировать заметную часть данных.

Вот как нам удалось решить одновременно проблемы с переездом и вышек, и роутеров. От пользователя поступает запрос на определение местоположения вместе с данными о том, какие сети он видит. Если в списке сетей есть та, что была замечена в разных частях города, алгоритм учитывает, сколько сигналов от неё накоплено в каждом районе и возраст последнего. Каждое плотное скопление сигналов от Wi-Fi сети или сотовой вышки мы называем «облаком». Чем больше сигналов в облаке и чем они свежее, тем больше оно заслуживает доверия. Ответом будет, соответственно, самое большое и свежее. А облако, в котором нет сигналов больше месяца, мы считаем устаревшим - даже если для этой сети не появилось более свежего облака в другом районе.

Радиус облака

Поскольку положение определяется примерно, нельзя показать точку - нужно нарисовать круг (ведь радиосигнал в отсутствие помех распределяется во все стороны равномерно). Хотя, если посмотреть на фактическую картину сигналов, чаще всего это эллипс. Ведь больше всего пользуются мобильными Картами автомобилисты. Их GPS-следы остаются на дорогах, а из дворов и, тем более, из зданий сигналов практически не поступает.

Чтобы ответ был предельно точным, радиус круга должен быть минимальным. Если просто обвести окружность вокруг всех точек сигналов конкретной сети, радиус получится слишком большим. Уменьшить его помогла мат. статистика. Плотность сигналов подвержена нормальному распределению, то есть применимо правило трёх сигм . В окрестность такого радиуса попадает 99,7% точек.

Мы решили пойти дальше и экспериментально подобрали сигме такой коэффициент, который максимально уменьшил радиус, но сохранил приемлемую точность. Удалось это, потому что в большинстве случаев пользователь видит несколько сетей. То есть «открытые» уменьшением коэффициента области, скорее всего, перекрываются другими облаками.

Необлачные сигналы

К сожалению, не все GPS-сигналы от пользователей просто скомпоновать в облака. Оказалось, что, если наложить на карту все сигналы отдельно взятой сети, помимо «эллипсов» на ней окажутся точки и линии. Это, соответственно, одиночные сигналы, сильно удалённые от скопления сигналов той же сети, и очень длинные GPS-треки (т.е. цепочки GPS-сигналов).

«Одиночки» появляются, например, когда человек передвигается на метро. Телефон теряет связь с сотой на одной станции, а при выходе на другой всё ещё считает, что обслуживается той сотой. Такие сигналы Локатор отфильтровывает. Кроме того, мы установили минимальный порог для облаков, чтобы не полагаться на слишком малочисленные скопления сигналов.

Длинные GPS-треки появляются, например, когда человек едет на машине через весь город. Телефон «тащит» за собой идентификатор вышки с начала маршрута и передаёт, что якобы видит её на всём пути. Известно, что у базовых станций ограниченный радиус действия, так что такие GPS-треки Локатор тоже отфильтровывает. Треки, длина которых укладывается в радиус действия вышки, остаются. Как правило, они заметны в районах, где мало данных. Там они становятся цепочкой небольших облаков.

Сигналы-одиночки, маленькие облака и длинные треки мы считаем «шумом». Когда пользователь видит одну единственную сеть, для которой нам известны только такие сигналы, он получает ответ, что местоположение определить не удалось. Мы считаем это более правильным, чем давать заведомо неверный, по нашим оценкам, результат.

Когда данных было накоплено мало, была ещё одна трудность с объединением всех сигналов в одно облако. Случалось что сигналы от вышки из одного города приходили также из другого. Помогло нам наличие в идентификаторах GSM-сетей кода зоны местоположения - LAC (Location Area Code). Поскольку вышки с одинаковым кодом должны по стандарту находиться рядом, облакам, которые оказались «не в своём городе» (т.е. среди облаков с другим LAC), Локатор стал придавать заниженный вес.

Улучшение точности определения…

…по GSM-сетям
Когда-то приложениям была доступна информация лишь об одной базовой станции, хоть телефон видит чаще всего несколько. После появления платформы Android приложения смогли научиться видеть их все (кроме подключения в стандарте 3G, который позволяет узнать только одну сотовую вышку). Местоположение стало определяться точнее - уже не по одному облаку, а по совокупности нескольких. Оказалось, что для множества облаков можно использовать тот же подход, что и для одного. Радиус считается по среднеквадратичному отклонению сигналов, входящих в совокупность облаков, а центр вычисляется по среднему их координат.
…по Wi-Fi-сетям
Когда смартфон находится в радиусе действия нескольких Wi-Fi-сетей, он может сообщить не только их список, но и мощность сигнала каждой. Знание об этой мощности мы и использовали для уточнения центра окружности, в которой находится пользователь. К центрам наблюдаемых облаков мы начали подвешивать воображаемые пружинки - тем туже, чем сильнее сигнал. А их свободные концы - соединять. Точка, в которой эти пружинки уравновешиваются, и есть уточнённый центр.

Получившееся качество

Сначала несколько слов о том, как мы оцениваем качество нашего решения. Как уже говорилось, от пользователей, у которых есть в устройствах GPS-модуль, Локатор получает и координаты, и список сетей, которые видят устройства. Для оценки качества он сначала определяет примерное местоположение, ориентируясь только на эти сети. А затем проверяет, попали ли истинные координаты от пользователя в предположенную Локатором окружность.

Используя эту методику, мы получили следующие цифры:

  • для 83% запросов в сутки местоположение определено правильно - GPS-координаты устройства попали в область, названную Локатором
  • 14% сигналов - с ошибкой:
    • 7% - ошибка меньше 100 метров
    • 5,6% - от 100 метров до нескольких километров
    • 1,4% - Локатор ошибается городом
  • оставшиеся 3% запросов получают ответ «Местоположение не найдено»


Можно ли добиться лучшего качества? Да. Преимущество метода в том, что при определённой зрелости алгоритмов достаточно лишь собирать больше данных, чтобы определять местоположение точнее. А это достаточно легко, потому что растёт и количество Wi-Fi сетей, и количество пользователей наших приложений.

Но есть технологические пределы:

  • если телефон сообщает только об одной GSM-вышке - минимальный радиус составит несколько сотен метров в городе, и несколько километров за городом
  • если телефон видит несколько вышек - центр можно определить точнее, но радиус уменьшить вряд ли получится
  • если видна Wi-Fi сеть - минимальный радиус будет 10 метров

Объёмы вычислений

Чтобы быстро отвечать пользователю, нужно заранее подготовить весь ответ или, хотя бы, существенную часть. Каждую ночь кластер на базе нашей системы распределённых вычислений YAMR агрегирует сигналы, полученные вплоть до вчерашнего дня, получая готовые для ответа «облака». В момент запроса Локатору остаётся только правильным образом их скомбинировать. Так терабайты «сырых сигналов» сжались до 1.5-2 ГБ готовых ответов, которые запросто помещаются в память. И подготовка ответа почти всегда укладывается в 1 мс, а каждый сервер в кластере выдерживает 10 тыс. RPS.

А чтобы продолжительность ежесуточного расчёта не росла линейно с ростом истории GPS-сигналов, мы добились «аддитивности» облаков. Теперь достаточно хранить лишь несколько показателей на каждое облако, и не нужно каждые сутки заново обрабатывать всю старую историю.

Готовить более полный ответ оказывается неэффективно. Если кластеризовать каждую комбинацию сетей в отдельное облако, получается комбинаторный взрыв. Объём готовых ответов растёт на несколько порядков, а при частичном совпадении сетей на подготовку ответа нужно даже больше расчётов.

Аналоги

Сервисы определения местоположения без GPS, как мы уже говорили, есть не только у Яндекса. Разработчики могут обратиться к коммерческому поставщику (как, например, Altergeo в России и Skyhook Wireless в мире), либо использовать API мобильной платформы или браузера.

Вообще собрать такую базу можно тремя способами:

  • объехать интересующие города на автомобилях, сканируя сети, а потом периодически объезжать заново, чтобы обновлять базу
  • создать массовое мобильное приложение (например, Яндекс.Карты)
  • создать мобильную платформу (например, iOS или Android)
Но выбирать между разными решениями приходится только разработчику геозависимого приложения, а пользователь «живёт» с этим выбором. В отсутствие единой методики сравнения нужно обращать внимания на точность определения (радиус «допуска» и процент ошибок) в интересующих регионах. Добавить метки


Top