Dragomir Stanchev Blog


Google: GSM позициониране без GPS

Наскоро четох една много интересна статия относно подобрението на GoogleMaps за мобилни телефони. Досега беше нужно телефонът ви да има GPS и да сте абонирани за тази услуга за да можете да определите къде точно се намирате в момента.

Пичовете от Google обаче са измислили много хитър и по-евтин начин да определите местонахождението си където и да сте. Просто използват познатата ни от военните, часовете по геометрия и от филмите триангулация като я комбинират с технологията на Cell Identification. Принципът е много елементарен. Преди да почнете се уверете, че телефонът ви е един от следните:

  • Поддържа Java(J2ME)
  • Palm със Palm OS 5 или нагоре
  • BlackBerry
  • Windows Mobile устройство с Windows Mobile 2003, 5.0 или нагоре
  • Symbian Series 60 3rd устройство

Първо трябва да активирате услугата и да си свалите софтуера на телефона като отидете тук. След това просто трябва да отворите програмата GoogleMaps, която току що инсталирахте. Единственото, което сега тряба да направите сега е да натиснете ‘0′ и програмата ще ви посочи къде сте на картата приблизително.

Естествено, като всичко от Google и тази опция е във вечна бета версия, така че може да получите съобщение за грешка: “Your current location is temporarily unavailable”. Това обаче не значи задължително че телефонът ви не поддържа опцията, а най-вероятно Google не може моментно да определи къде сте. Просто мръднете няколко крачки и пробвайте пак.

Предимствата спрямо GPS според мен:

  • по-евтино е
  • не харчи батерията толкова много

Недостатъците са:

  • не е толкова точно и дава приблизително положение. В града отклонението може да е малко но извън града стига до 32 километра!
  • няма равномерно покритие навсякъде
  • понякога не работи

Официалното видео можете да видите тук.
И малко обяснение на принципа зад тази яка функция от мен. Сигналите от мобилните ни устройства се улавят от кули и предавателни клетки (cells). В зависимост от това къде сте имате покритие от една или няколко клетки. Всяка клетка има уникален идентификационен номер. Гоогъл предварително са направили база данни с всички клетки и тяхното географско положение. Когато изпратите заявка да разберете къде сте,инфорамцията минава през тези клетки,а Гоогъл комуникира със тях и на тази база определя приблизително къде сте.

За да се подобри точността от предлагам от Гоогъл да направят следните подобрения:

  • да ви пита за височината ви и да запише началната точка
  • да ви накара да вървите в посока към най-близката кула за 10-20 секунди (местоположението ви се определя главно от най-близка кула) и да запише крайната точка

В резултат ще се получи права линия с известна посока и големина. След това Гоогъл просто трябва да триангулира позицията ви спрямо другите две кули. Така ще се получи много по-добра точност.

Драгомир Станчев