it-swarm.com.de

Suchen des Standorts mithilfe von MCC, MNC, LAC und Cell ID

Ich weiß, was die Werte für MCC, MNC, LAC und Cell ID sind. Ich möchte in C ein Programm schreiben, um die Position in Form von Breiten- und Längenwerten in Linux zu berechnen.

Zu Ihrer Information:

Frage:

  1. Wie kann ich MCC, MNC, LAC, Cell ID in Längen- und Längenwerte in Linux umwandeln?
  2. Warum variiert die Zell-ID bei jedem Versuch, zu lesen?
11

Um Ihre Fragen zu beantworten:

  1. Sie können auf öffentliche Datenbanken vom Terminal oder von einem Browser aus zugreifen, um die Zellen-ID in lat/lon zu konvertieren. Datenbanken umfassen:

  2. Zell-ID ist die ID des Mobiltelefons, mit dem Ihr Telefon/Gerät verbunden ist. In dem Moment, in dem Sie sich etwas bewegen oder das Signal eines anderen Turms in der Nähe besser ist als der aktuelle, wechselt Ihr Telefon zu diesem Tower, und Ihre Zell-ID gibt jetzt die ID dieses Turms wieder.

4
kouton

Sie benötigen entweder eine Datenbank OpenCellID (sie bieten APIs für die Messung neuer Zellen, ermitteln die Position einer bestimmten Zelle usw.)

oder

verwenden Sie die "geheime" API: " http://www.google.com/glm/mmap " ist eine nicht öffentliche API, um cellLocation in Breiten- und Längengrad umzuwandeln.

In der Antwort auf this SO question gibt es viele Möglichkeiten, dies zu tun.

2
Frozen Crayon

ich habe ein Python-Skript geschrieben, das dies für Sie tun kann. Sie können eine Binärdatei aus der Pyc-Datei erhalten.

#!/bin/python
"""
Written by Atissonoun - Credits to MFC & HAC
***You need to initialize the script in order to fix the import and the dependency.
This is only a Beta version of the project***
This python file works as the engine for the project.
imports, coordinates, run......
"""

#Importing modules
import requests
#defining a Api_Keys

Google_API_KEY="Your google API Key goes here"
OpenCell_Api_Key ="Your OpenCellID API Key goes here"

def Google(MMC,MNC,LAC,ID,API_KEY=Google_API_KEY):
    url = "https://www.googleapis.com/geolocation/v1/geolocate?key={}".format(API_KEY)
    data={
    "radioType": "gsm",
    "cellTowers":[
        {
        "cellId": ID,
        "locationAreaCode": LAC,
        "mobileCountryCode": MMC,
        "mobileNetworkCode": MNC
        }
    ]
    }
    response = requests.post(url, json=data)
    if response.status_code == 200 :
        lat=response.json()[u'location'][u'lat']
        long = response.json()[u'location'][u'lng']
        d={'LAT':lat,'LONG':long}
        print('Located Cell: {}'.format(ID))
        return d
    else:
        print('Error: {}'.format(response.status_code))
        return None

def Opencell(MMC,MNC,LAC,ID,API_KEY=OpenCell_Api_Key):
    url = "https://us1.unwiredlabs.com/v2/process.php"
    data = {
        "token": API_KEY,
        "radio": "gsm",
        "mcc": MMC,
        "mnc": MNC,
        "cells": [{
            "lac": LAC,
            "cid": ID
        }]
    }
    response = requests.post(url, json=data)
    if response.status_code == 200:
        if response.json()[u'status']== 'error':
            print('Error: {}'.format(response.json()[u'message']))
            return None
        else:
            lat = response.json()[u'lat']
            long = response.json()[u'lon']
            d = {'LAT': lat, 'LONG': long}
            print('Located Cell: {}'.format(ID))
            return d
    else:
        print('Error: {}'.format(response.status_code))
        return None
0
Ahmed chiboub

Sie können diese einfache, aber effiziente Website verwenden, die keine Anmeldung erfordert:

http://www.cell2gps.com/

während Sie auf Operator-Informationen wie MCC und MNC auf der Wiki-Seite zugreifen können:

http://en.wikipedia.org/wiki/Mobile_country_code#I

Das Ergebnis ist der Standort GPS über Google Maps, 

0
FBasso