Po pierwsze, próbuję zrobić całą tę katastrofę w języku C# (.net 4), więc jeśli wymyślisz jakiś kod, który mi pomoże, to będzie to docenione, ale naprawdę wszystko mogłoby pomóc w tym momencie.Jak prawidłowo triangulować wieże komórek GSM, aby uzyskać lokalizację?
Mam sytuację, w której mam urządzenie, które może uzyskać informacje o komórce GSM (nawiasem mówiąc za pomocą polecenia AT+KCELL
), więc mam zbiór wartości o wieżach komórkowych (każdy ma LAC, MCC, MNC, identyfikator komórki, sygnał Siła i pierwsza zmiana czasu). Myślę więc, że jestem w dobrym miejscu, aby znaleźć współrzędne długości i szerokości geograficznej (aczkolwiek niedokładne, ale, no cóż). To tutaj docieram do pomocy, ponieważ teraz mój mały mózg jest zdezorientowany ...
Widzę różne usługi, które zapewniają rozdzielczość kodu komórki (Google, Open Cell ID, itp.) I biorą LAC, MCC itp. argumenty i zwróć współrzędne. Sądzę, że to, co powrócą, będzie więc współrzędną danej wieży, którą mijam. Tak więc w moim przypadku mógłbym wysłać wszystkie LAC itp., Które posiadam, i odzyskać zbiór długości i szerokości geograficznych. Świetnie, ale to nie jest miejsce, w którym znajduje się moje urządzenie. Teraz myślę, że muszę przeprowadzić pewną triangulację i to właśnie powoduje, że mój brak wiedzy rani mnie.
Więc mam rację do tej pory? Zakładając, że jestem, w jaki sposób wykonać te obliczenia (czy jest coś, co powie mi, co zrobić z tymi wszystkimi liczbami lub, jeszcze lepiej, jakąś biblioteką open source, do której mogę się odwołać i nakarmić wszystkie te rzeczy, aby uzyskać coś sensownego) ?
Zakładam, że będę musiał użyć wyprzedzenia taktowania, aby ustalić jakąś przybliżoną odległość od wieży komórki (może używając siły sygnału), ale co mam zrobić? Jak możesz stwierdzić - jestem daleko stąd!
Na przykład, to jest coś, że mogę wrócić z wyżej wymienionych komend AT:
5,74,33,32f210,157e,8101,50,0,79,3,32f210,157e,80f7,37,64,5,32f210,157e,810b,37,55,32,32f210,157e,9d3,27,41,33,32f210,157e,edf8,15
łamiąc go i analizowania go dostanę (mam nadzieję, analizowania tego prawa - jest szansa istnieje błąd w moim analizowania rutyny oczywiście, ale wygląda na rozsądne):
Number of cells: 5
komórkowych 1
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 33025
Signal: 80
ARFCN: 74
BSIC: 33
Timing advance: 0
Longitude: 14.2565389
Latitude: 48.2248439
Celi 2
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 33015
Signal: 55
ARFCN: 79
BSIC: 3
Longitude: 14.2637736
Latitude: 48.2331576
Celi 3
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 33035
Signal: 55
ARFCN: 64
BSIC: 5
Longitude: 14.2488966
Latitude: 48.232513
Celi 4
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 2515
Signal: 39
ARFCN: 55
BSIC: 32
Longitude: 14.2488163
Latitude: 48.2277972
Celi 5
LAC: 5502
MNC: 1
MCC: 232
Cell ID: 60920
Signal: 21
ARFCN: 41
BSIC: 33
Longitude: 14.2647612
Latitude: 48.2299558
Więc z tymi wszystkimi informacjami, jak znaleźć, w najbardziej dokładny sposób, gdzie faktycznie jestem?
jakąkolwiek szansę delegowania dane, które otrzymujesz ... co najmniej 50%, ponieważ jestem ciekawy ;-) – gordatron
Myślę, że mogą istnieć różne techniki robienia tego zależne od dokładnie jakie dane masz. Mogę podać odpowiedź, ale najlepiej byłoby zebrać wszystkie dane, które można uzyskać, i zamieścić pytanie na stronie: http: //math.stackexchange.com/, chyba że jest ktoś, kto zrobił to wcześniej i jest gotowy do udostępnienia. konkretna informacja – gordatron
@gordatron Dodałem przykład - dziękuję za spojrzenie na moje pytanie – kmp