Views Comments Previous Next Search

Колонка Алексея Гусева: Я на локейшне. Но как?

3311948
НаписалАлексей Гусев23 августа 2010

Весной прошлого года я сидел на работе и работал. Вдруг в офис зашел молодой человек, набрал кого-то на сотовом и сказал:

Весной прошлого года я сидел на работе и работал. Вдруг в офис зашел молодой человек, набрал кого-то на сотовом и сказал:

Колонка Алексея Гусева: Я на локейшне. Но как?. Изображение № 1.

Помню, как тогда подумал: «Вау, этот парень крут по-настоящему. Его не пугает даже, что слово „локейшне“ на три буквы длиннее слова „месте“. Это заслуживает уважения». 

Прошел год. Сервисы местоположения, наконец, смогли занять значительную нишу. И если теперь кто-то сделает так, как тот парень, все подумают: «О, какой старомодный! Мог бы просто сделать check-in на Foursquare». It is so last season 2009.

Долго запрягали

Сервисы местоположения (location-based services) появились в интернете давно — такое ощущение, что с тех пор сменилось несколько поколений. Прорывом в этой отрасли стали карты Google, которые позволили разработчикам легко вставлять карты на веб-страницы и рисовать на них. Наши праотцы помнят 8 февраля 2005 года, когда начал свою работу сервис Google Maps.

Затем людям по всему миру стала приходить идея: «Вот было бы здорово отмечаться на карте, чтобы мои друзья видели, где я; а я — где они! Или можно узнавать, кто рядом с тобой! Такой сервис в интернете взорвет мир!». Мир не взорвался. Но дал этому явлению имя — геосоциальные сервисы.

Если смотреть на мир моими глазами, то в этом нет ничего удивительного — какая разница, где сейчас мои друзья? Мне важнее, будут ли они вечером в том же месте, что и я. 

А что до людей, которые рядом со мной — так я к этому даже эпитет подобрать не могу. Это как сидеть с компьютером около окна и идти на погодный сайт, чтобы посмотреть, идет ли за окном дождь. Да, я знаю, что некоторые так делают, но сами понимаете.

Колонка Алексея Гусева: Я на локейшне. Но как?. Изображение № 2.— В мире много разных, но одинаковых геосоциальных сервисов. Это — некоторые из импортных. 

Привет, давай сыграем в игру

Оживить идею геосоциального сервиса решили ребята из Foursquare. Про них уже писали на Look At Me. Вкратце — каждый раз, когда вы отмечаете свое местоположение, вам дают очки. Много отмечаетесь — вам дают награды. Много ходите в одно и то же место — получаете статус Mayor. 

Колонка Алексея Гусева: Я на локейшне. Но как?. Изображение № 3.

Только идея сделать из геосоциального сервиса игру смогла вдохнуть новую жизнь в эту отрасль.

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

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

Это очень краткая история, в которой я опустил разные моменты вроде поездок через всю страну, девушку Кудряшки Марка, наивные предположения о том, что наши дети через 20 лет смогут увидеть, куда мы ходили и что ели. Я сделал это потому, что всю эту историю можно охарактеризовать одним словом — скукота.

Но есть в ней кое-что по-настоящему увлекательное.

Откуда телефон знает, где я?

Скажу честно, мне все равно, где вы. Но как мой телефон узнает, где я? Вот это вопрос!

Для того, чтобы телефон смог определить ваше местоположение, есть минимум два способа:

  1. Поймать сигнал минимум двух базовых станций сотовой сети
  2. Если у вас есть GPS, поймать сигнал минимум трех GPS-спутников

Откуда эти числа — два и три? Сейчас расскажу.

А лишние килограммы — ни к чему

Представьте дивный новый мир, в котором нет ширины и высоты. Только длина. Никаких диет и средств для похудания! Только дорогие машины как способ измерения длины! Такой замечательный мир называется одномерным пространством, и все, что в нем есть, — числовая прямая.

Допустим, вы в одномерном пространстве и знаете свое местоположение в нем. Допустим, ваша координата — 42 метра от начала координат. Допустим, у вас неплохой глазомер. Допустим, вы стоите спиной к началу координат и видите, что через 8 метров от вас стоит человечек А. 

Слишком много допущений, но это работает — информации достаточно, чтобы вычислить местоположение человечка А. Его координата — 50 метров от начала координат. Эту задачу сможет решить любой человек, умеющий считать до 50.

Колонка Алексея Гусева: Я на локейшне. Но как?. Изображение № 4. — Вы на этой схеме обозначены буквой U (Hey U, it's you!)

Тут только одна проблема — есть еще одна точка, удаленная от вас так же, как и человечек А. Это точка 34. Поэтому важно знать, куда вы стоите спиной, а куда — лицом.

Координаты каждой базовой станции сотовой сети, равно как и координаты спутников GPS в пространстве, заранее известны. Так что если бы мы жили в одномерном пространстве, телефону хватило бы одного спутника или одной станции, чтобы вычислить ваше местопопложение.

В одномерном пространстве все было бы проще, стольких проблем бы просто не существовало, но увы.

Либо синус, либо друг

В двухмерном пространстве равноудаленных от вас точек больше, чем две. Их бесконечное количество и они составляют окружность. Вы на глаз высчитываете расстояние до человечка А, но как вычислить его координаты? Тут вам может помочь либо синус, либо друг.

Постойте-постойте! Не закрывайте статью. Конечно, вам понадобится друг. Обойдемся без синуса.

Ваш друг F (Friend of U) стоит чуть поодаль и тоже знает свои координаты. Происходит такой диалог:

  • Привет. Слушай, ты тоже видишь человечка А?
  • Ага. Правда я от него не в восторге.
  • А на каком он от тебя расстоянии?
  • Ну, примерно километр.
  • Один километр… Теперь я могу вычислить его координаты! 
  • Слушай, было весело, я пожалуй пойду, окей? Надо еще навестить своего брата. Эх, он такой зануда…
  • Конечно! Приходи еще, оторвемся, как мы это всегда делаем.

Колонка Алексея Гусева: Я на локейшне. Но как?. Изображение № 5.

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

Формула, правда, чуть посложней и уже надо уметь извлекать квадратные корни. Оставим ее занудам. Говорил же я, от этих измерений одни проблемы. 

Так вот, если представить, что вы и ваш друг — базовые станции сотовой сети, то вас двоих достаточно, чтобы определить его местоположение хоть сколько-нибудь точно. Поэтому и телефону надо минимум две базовых станции.

Больше измерений — больше друзей

В трехмерном пространстве черт голову сломит. А мы в нем живем.

Множество равноудаленных от вас точек образуют сферу. Сфера это такой шарик, у которого внутри пусто. 

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

Колонка Алексея Гусева: Я на локейшне. Но как?. Изображение № 6. — Синим и желтым обозначены равноудаленные от вас с другом точки, образующие сферы. Синяя сфера ваша, а желтая — друга. Они пересекаются по окружности, которая обозначена красным. И тут в дело вступает новый, ярко-зеленый друг, и ставит все на свои места.

Всего для системы GPS работают 24 друга-спутника. И если ваш телефон может поймать сигнал любых трех — уже есть шанс составить приблизительное местоположение.

В терминах телефона

Телефон это и есть наш человечек А. И разработчики навигационных систем заставили считать местоположение именно его. Это отличная идея — друзьям не надо считать. Хочешь узнать свое местоположение? Посчитай сам.

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

И вот все ваши друзья уже знают, где вы сидите и что кушаете. Но какой от этого толк? Намного веселее, что вы только что заработали значок Newbie!

Колонка Алексея Гусева: Я на локейшне. Но как?. Изображение № 7.

See you!

Рассказать друзьям
33 комментарияпожаловаться

Комментарии

Подписаться
Комментарии загружаются