реклама на сайте
подробности

 
 
> определение местоположения по сотам, можно ли узнать координаты по сотам
M_Z
сообщение Oct 1 2008, 07:39
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 483
Регистрация: 1-09-06
Из: Гродно РБ
Пользователь №: 20 011



Доброго времени суток!
подскажите каким образом можно определить координаты (долгота, широта) используя GSM модуль по сотам. Или только возможно получить номер соты, а координаты сот надо знать заранее.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rst7
сообщение Apr 30 2009, 09:37
Сообщение #2


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
А можно немного поподробнее о том, как можно это сделать?


Ну, все данные Вы получаете, судя по тексту ниже.

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


TA - это и есть задержка. В у.е. Актуальна только при наличии соединения.

Цитата
Подскажите, пожалуйста, как можно переколбасить эти данные в координаты.
ЗЫ О каком, кстати, сервисе Гугла речь идет? Вроде информации по вышкам там взяться неоткуда...


Google Maps для мобильных устройств ходит на свой серверок, который по CID/LAC возвращает широту/долготу. Яндекс тоже имеет такой сервис. Недолгое гугление привело к коду

Код
function GetCoordFromGoogle(CountryCode, NetworkCode, LAC, CellID: Integer): string;
var
  strA, strB, strC, strAll: string;
  sResult: string;
  ms: TMemoryStream;
  dLat, dLon: Double;
  iLat, iLon: Integer;
  i: Integer;
  b: byte;
  sTmp, sTmp2: string;
  iCntr: Integer;
  HTTP: TIdHTTP;
begin
  Result := '';
  strA := '000E00000000000000000000000000001B0000000000000000000000030000';
  strB := '0000' + IntToHex(CellID, 2) + '0000' + IntToHex(LAC, 2);
  strC := '000000' + IntToHex(NetworkCode, 2) + '000000' + IntToHex(CountryCode, 2);
  strAll := strA + strB + strC + 'FFFFFFFF00000000';
  HTTP := TIdHTTP.Create(nil);
  HTTP.Request.ContentType := 'application/x-www-form-urlencoded';
  HTTP.Request.ContentLength := Length(strAll) div 2;
  ms := TMemoryStream.Create;
  try
    iCntr := 1;
    for i := 1 to (Length(strAll) div 2) do begin
      b := StrToInt('0x' + Copy(strAll, iCntr, 2));
      iCntr := iCntr + 2;
      ms.Write(b, 1);
    end;
    ms.Seek(0, soFromBeginning);
    try
      sResult := HTTP.Post('http://www.google.com/glm/mmap', ms);
      if Length(sResult) > 14 then begin
        sTmp := '0x';
        for i := 1 to 5 do begin
          sTmp2 := Copy(sResult, i + 6, 1);
          sTmp := sTmp + IntToHex(Ord(sTmp2[1]), 2);
        end;
        iLat := StrToInt(sTmp);
        sTmp := '0x';
        for i := 1 to 4 do begin
          sTmp2 := Copy(sResult, i + 11, 1);
          sTmp := sTmp + IntToHex(Ord(sTmp2[1]), 2);
        end;
        iLon := StrToInt(sTmp);
        dLat := iLat/1000000;
        dLon := iLon/1000000;
        Result := Format('%12.7f%s%12.7f', [dLat, #13#10, dLon]);
      end;
    except
      // stub
    end;
  finally
    HTTP.Free;
    ms.Free;
  end;
end;

function GetCoordFromYandex(CountryCode, NetworkCode, LAC, CellID: Integer): string;
const
cc_URL = 'http://mobile.maps.yandex.net/cellid_location/?&cellid=%d&operatorid=%d&countrycode=%d&lac=%d';
var
  sURL: string;
  rs: TStream;
  node: IXMLNode;
  HTTP: TIdHTTP;
  XML: TXMLDocument;
begin
  Result := '';
  sURL := Format(cc_URL, [CellID, NetworkCode, CountryCode, LAC]);
  rs := TMemoryStream.Create;
  HTTP := TIdHTTP.Create(nil);
  XML := TXMLDocument.Create(HTTP); // если указать nil то будет ошибка :-D
  try
    HTTP.Request.Accept := 'text/plain';
    HTTP.Request.AcceptEncoding := 'windows-1251';
    try
      HTTP.Get(sURL, rs);
      if rs.Size > 0 then begin
        rs.Seek(0, soFromBeginning);
        XML.LoadFromStream(rs);
        XML.NSPrefixBase := 'location';
        node := XML.Node.ChildNodes.FindNode('location');
        if (node <> nil) then begin
          node := node.ChildNodes.FindNode('coordinates');
          if (node <> nil) then begin
            Result :=
              StringReplace(node.Attributes['latitude'], '.', ',', []) + #13#10 +
              StringReplace(node.Attributes['longitude'], '.', ',' ,[]);
          end;
        end;
      end;
    except
      // stub
    end;
  finally
    XML.Free;
    HTTP.Free;
    rs.Free;
  end;
end;


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- M_Z   определение местоположения по сотам   Oct 1 2008, 07:39
- - Йокамон   в сетке куча проектов - видел постоянные базы моск...   Oct 1 2008, 11:27
- - Rst7   Не очень точные координаты и не для всех операторо...   Oct 1 2008, 11:46
|- - Harbinger   Цитата(Rst7 @ Oct 1 2008, 14:46) 1. Необх...   Oct 1 2008, 17:47
|- - antisingle   Цитата(Rst7 @ Oct 1 2008, 15:46) Не очень...   Apr 30 2009, 08:46
|- - alx125   Цитата(antisingle @ Apr 30 2009, 12:46) А...   May 18 2009, 02:19
|- - antisingle   Цитата(alx125 @ May 18 2009, 06:19) Подск...   May 22 2009, 10:54
|- - kslabs   Цитата(antisingle @ May 22 2009, 14:54) H...   May 27 2009, 13:25
|- - antisingle   ЦитатаПодскажите пожалуйста, как GSM-модуль Вы исп...   Jun 2 2009, 12:54
- - MrYuran   Если смотреть на глобус или политическую карту мир...   Oct 1 2008, 11:50
- - Rst7   Ну вот примерно вот так - Круги с цифрами - это...   Oct 1 2008, 12:10
|- - M_Z   Цитата(Rst7 @ Oct 1 2008, 15:10) Ну вот п...   Oct 1 2008, 13:01
- - Rst7   Цитатаот модуля я могу получить только какой-то но...   Oct 1 2008, 13:05
- - slog   Некоторые сотовые операторы предоставляют услугу -...   Oct 1 2008, 13:51
- - Йокамон   из источника, имеющего прямое отношение к СБ КС(ук...   Oct 1 2008, 22:27
- - uriy   Цитатаиз источника, имеющего прямое отношение к СБ...   Oct 2 2008, 03:53
- - san822   Цитата(M_Z @ Oct 1 2008, 11:39) Доброго в...   Oct 2 2008, 04:06
- - Rst7   Цитатаесть инфа - постоянная (по крайней мере раз ...   Oct 2 2008, 04:59
- - Harbinger   Да крутить могут (изредка) разве что в случае уста...   Oct 2 2008, 05:22
- - Alechek   Насколько я помню, помимо LAI/LAC/CID телефон для ...   Oct 3 2008, 05:33
|- - Baser   Цитата(Alechek @ Oct 3 2008, 08:33) телеф...   Oct 3 2008, 12:44
- - Rst7   Цитатателефон для каждой вышки отслеживает расстоя...   Oct 3 2008, 05:43
- - ovik89   На яндекс карты поддерживается для мобильников точ...   Oct 3 2008, 06:01
- - Rst7   Окститесь, какое эхоподавление??? Ему надо знать з...   Oct 3 2008, 12:58
|- - Baser   Цитата(Rst7 @ Oct 3 2008, 15:58) Окститес...   Oct 3 2008, 14:29
- - Йокамон   по поводу "кручения антен" - когда в гор...   Oct 3 2008, 19:38
|- - etoja   Цитата(Йокамон @ Oct 3 2008, 23:38) по по...   Apr 30 2009, 12:07
- - antisingle   Rst7, спасибо! Круто, я б не догадался, что у...   Apr 30 2009, 10:49
- - Rst7   ЦитатаОсталось найти способ, как можно измерить за...   Apr 30 2009, 10:58
|- - antisingle   Цитата(Rst7 @ Apr 30 2009, 14:58) Без ков...   May 6 2009, 06:55
- - Harbinger   Почему? Крутить можно в горизонтальной плоскости, ...   Apr 30 2009, 19:24
- - av-master   А где вообще найти спецификацию GSM-a, Например св...   May 18 2009, 07:33
- - Rst7   ЦитатаА где вообще найти спецификацию GSM-a Не во...   May 18 2009, 07:41
- - kan35   Попробовал отправить данные на www.google.com/glm/...   Mar 5 2013, 16:18
|- - AlexandrY   ЦитатаВопрос - этот сервис все еще работает, а то ...   Mar 5 2013, 19:32
|- - kan35   Цитата(AlexandrY @ Mar 5 2013, 23:32) Сер...   Mar 6 2013, 05:20
- - kan35   Вот непосредственно что отправлено на www.google.c...   Mar 6 2013, 08:01
|- - AlexandrY   Цитата(kan35 @ Mar 6 2013, 10:01) Вот неп...   Mar 6 2013, 10:33
- - kan35   Спасибо за ответ, часть проблем действительно проя...   Mar 6 2013, 11:06
- - kan35   Порблему нашел: на самом деле пример написан весьм...   Mar 6 2013, 12:29
- - kan35   А вообще, тут нафиг не нужно работать со строками,...   Mar 13 2013, 14:08
- - GeGeL   Цитата(kan35 @ Mar 13 2013, 18:08) Если б...   Mar 13 2013, 17:42
- - kan35   Цитата(GeGeL @ Mar 13 2013, 21:42) htonl(...   Mar 24 2013, 12:18


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 15:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01418 секунд с 7
ELECTRONIX ©2004-2016