Google maps для Symbian, база данных Cell ID в Google — Netmonitor GSM/UMTS: от телефонов до измерительных комплексов
-
- Начинающий нетмониторщик
- Сообщения: 27
- Зарегистрирован: Сб, 18-10-2008, 19:14
- Нетмонитор: IPAQ 514, VirtualGPS, kamlex.com
-
- Netmonitor.ru team
- Сообщения: 156
- Зарегистрирован: Пн, 27-12-2004, 22:56
- Откуда: Вологда
- Нетмонитор: N6120c+S55+GPS+Logger
Если я правильно понял твою задачу, то просто поменяй входные данные:Yurik писал(а):Skvo, как сделать цикл для перебора лаков?
Задача стоит такая - знаем номер БС со старым лаком, нужно выцепить у Гула новый лак из диапазона, например 3600-3699.
в первой строчке вместо lac задай cid твоей знакомой БС:
net, cid, rnc = 25002, xxxx, 0
а в цикле вместо перебора по сid сделай наоборот, тоесть по диапазону лаков:
for lac in range(3600,3700):
-
- Начинающий нетмониторщик
- Сообщения: 27
- Зарегистрирован: Сб, 18-10-2008, 19:14
- Нетмонитор: IPAQ 514, VirtualGPS, kamlex.com
Skvo писал(а):Баг в скрипте из-за отрицательных координат. Чтобы получить правильную координату, нужно вычесть 2в16степени/1000000... И в итоге получишь в своем примере США...McMaster писал(а):Skvo, еще есть вопрос по скрипту пробовал тут МТС сканировать net, lac = 25001, 570
выдает странные координаты
40152 - 34.751501 4212.683241
40161 - 34.727215 4212.651272
Я вот не могу понять как используя конкретный MCC можно получить другую страну? Или в гугле мусор?
Навоял скрипт который проходит по всем лакам и сидам МТС в Украине
Получаю
25501 0 26 51.926206 4294.107676
25501 0 46 35.952451 4179.684205
25501 0 103 41.664605 4206.99756
-
- Начинающий нетмониторщик
- Сообщения: 5
- Зарегистрирован: Ср, 27-04-2005, 16:09
- Откуда: Литва
- Нетмонитор: SE K750i
Спасибо конечно Гуглю за такую идею. База очень впечетляет, почти все станции выдает, правда не ясно почему игнорирует код оператора и страны.
Заинтересовало то, что в ответе с сервера, кроме широты/долготы, содержатся еще каких-то два параметра. Первый - число в диапазоне от 50 до 5000, второй - число либо 30, либо 75. Может кто догадывается что это могут быть за данные? Вот как выглядит фрагмент скана:
Заинтересовало то, что в ответе с сервера, кроме широты/долготы, содержатся еще каких-то два параметра. Первый - число в диапазоне от 50 до 5000, второй - число либо 30, либо 75. Может кто догадывается что это могут быть за данные? Вот как выглядит фрагмент скана:
Код: Выделить всё
СIDhex;CIDdec; Широта ; Долгота ; ? ; ? ;
291a ; 10522 ; 55.672554 ; 25.356064 ; 5000.0 ; 30.0 ;
291b ; 10523 ; 55.523984 ; 25.104351 ; 5000.0 ; 30.0 ;
292a ; 10538 ; 55.601927 ; 25.45639 ; 3877.0 ; 75.0 ;
292b ; 10539 ; 55.689059 ; 25.336202 ; 4343.0 ; 75.0 ;
292c ; 10540 ; 55.76232 ; 25.462751 ; 500.0 ; 75.0 ;
293a ; 10554 ; 55.789549 ; 25.424213 ; 3875.0 ; 75.0 ;
295a ; 10586 ; 55.526353 ; 25.081059 ; 5000.0 ; 30.0 ;
295b ; 10587 ; 55.52324 ; 25.097516 ; 5000.0 ; 30.0 ;
295c ; 10588 ; 55.515145 ; 25.104195 ; 5000.0 ; 30.0 ;
297a ; 10618 ; 55.436813 ; 25.035814 ; 5000.0 ; 30.0 ;
297b ; 10619 ; 55.353567 ; 24.744053 ; 4368.0 ; 75.0 ;
297c ; 10620 ; 55.442967 ; 24.672058 ; 3875.0 ; 75.0 ;
299b ; 10651 ; 55.205681 ; 25.103207 ; 5000.0 ; 30.0 ;
299c ; 10652 ; 55.069091 ; 25.266929 ; 3875.0 ; 75.0 ;
299d ; 10653 ; 55.226027 ; 24.976439 ; 5000.0 ; 30.0 ;
304a ; 12362 ; 55.712006 ; 22.96973 ; 4196.0 ; 75.0 ;
304b ; 12363 ; 55.605783 ; 23.079097 ; 4376.0 ; 75.0 ;
304c ; 12364 ; 55.615907 ; 22.908455 ; 4368.0 ; 75.0 ;
304d ; 12365 ; 55.678136 ; 22.906575 ; 4060.0 ; 75.0 ;
305a ; 12378 ; 55.93451 ; 23.320816 ; 3875.0 ; 75.0 ;
305b ; 12379 ; 55.925248 ; 23.333523 ; 3013.0 ; 75.0 ;
305c ; 12380 ; 55.928981 ; 23.312937 ; 2750.0 ; 75.0 ;
306a ; 12394 ; 55.921469 ; 23.286339 ; 2798.0 ; 75.0 ;
306b ; 12395 ; 55.901203 ; 23.326719 ; 3875.0 ; 75.0 ;
306c ; 12396 ; 55.922487 ; 23.290841 ; 5000.0 ; 30.0 ;
307a ; 12410 ; 55.918179 ; 23.322898 ; 3894.0 ; 75.0 ;
307b ; 12411 ; 55.905791 ; 23.330799 ; 2785.0 ; 75.0 ;
308a ; 12426 ; 55.933637 ; 23.307608 ; 5000.0 ; 30.0 ;
308b ; 12427 ; 55.942156 ; 23.31825 ; 5000.0 ; 30.0 ;
308c ; 12428 ; 55.935784 ; 23.304351 ; 2750.0 ; 75.0 ;
-
- Начинающий нетмониторщик
- Сообщения: 6
- Зарегистрирован: Пт, 11-05-2007, 14:54
-
- Начинающий нетмониторщик
- Сообщения: 27
- Зарегистрирован: Сб, 18-10-2008, 19:14
- Нетмонитор: IPAQ 514, VirtualGPS, kamlex.com
-
- Известный нетмониторщик
- Сообщения: 637
- Зарегистрирован: Вс, 29-05-2005, 13:44
- Откуда: Московская область
- Нетмонитор: HTC Artemis, Nokia 6600 (CellTrack+FTD)
-
- Начинающий нетмониторщик
- Сообщения: 27
- Зарегистрирован: Сб, 18-10-2008, 19:14
- Нетмонитор: IPAQ 514, VirtualGPS, kamlex.com
-
- Начинающий нетмониторщик
- Сообщения: 5
- Зарегистрирован: Пн, 07-07-2008, 23:21
- Откуда: Норильск
- Нетмонитор: HTC 3300 CPS,NM32
-
- Начинающий нетмониторщик
- Сообщения: 27
- Зарегистрирован: Сб, 18-10-2008, 19:14
- Нетмонитор: IPAQ 514, VirtualGPS, kamlex.com
-
- Известный нетмониторщик
- Сообщения: 637
- Зарегистрирован: Вс, 29-05-2005, 13:44
- Откуда: Московская область
- Нетмонитор: HTC Artemis, Nokia 6600 (CellTrack+FTD)
установил Питон 3.0
ругается на строчку
ругается на строчку
Код: Выделить всё
print cid, '-', x, y
- Vl
- Netmonitor.ru team
- Сообщения: 121
- Зарегистрирован: Ср, 12-01-2005, 17:30
- Откуда: Калининград
- Нетмонитор: Siemens c35i, Nokia N73
Ставь 2.x (два шесть, кажется, там предлагают?)/ У меня заработалоMcMaster писал(а):установил Питон 3.0
ругается на строчкуКод: Выделить всё
print cid, '-', x, y
-
- Известный нетмониторщик
- Сообщения: 637
- Зарегистрирован: Вс, 29-05-2005, 13:44
- Откуда: Московская область
- Нетмонитор: HTC Artemis, Nokia 6600 (CellTrack+FTD)
так стояла, может кто напишет скрипт под версию 3.0?Vl писал(а):Ставь 2.x (два шесть, кажется, там предлагают?)/ У меня заработалоMcMaster писал(а):установил Питон 3.0
ругается на строчкуКод: Выделить всё
print cid, '-', x, y
-
- Гость
- Сообщения: 1
- Зарегистрирован: Чт, 07-06-2007, 03:09
-
- Гость
- Сообщения: 3
- Зарегистрирован: Пт, 06-02-2009, 16:39
- Откуда: Дзержинск
- Нетмонитор: Nokia 6680
Для всех, кому это может быть интересно, прилагаю 2 функции на Delphi, которые по заданным параметрам получают координаты с сервиса Google и Yandex соответственно.
PS: использовалась библиотека Indy 10 (Delphi 2007).
По всем вопросам пишите в личку.
PS: использовалась библиотека Indy 10 (Delphi 2007).
По всем вопросам пишите в личку.
Код: Выделить всё
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;