2016-12-10 2 views
0

Je veux faire une application qui trouve la force du signal reçu et la tour de la cellule voisine.Je réussis à obtenir cellid, mnc, mcc, lac et la force du signal de chaque tour de la cellule voisine.Mais, je veux calculer la distance de chaque tour de direction du mobile actuel en utilisant cellid, lac, mnc, mcc.Je ne veux pas utiliser la connexion internet pour le faire. Est-il possible de calculer ?? S'il vous plaît me suggérer comment si possible.Est-il possible d'obtenir la distance de la tour de la cellule voisine et la direction de la station mobile actuelle par cellId, LAC, MCC et MNC Android?

Répondre

0

Sans connexion Internet, ce serait difficile (impossible?). Toutefois, si vous êtes en mesure d'utiliser une connexion Internet, vous pouvez rechercher l'ID de cellule voisine (que vous avez déjà mentionné) avec le Mozilla Location Service et obtenir une latitude/longitude.

Il existe de nombreuses réponses sur SO en ce qui concerne l'obtention de l'emplacement actuel d'un mobile. Voici un bon exemple: Get current latitude and longitude android

Maintenant, une fois que vous avez le lat/long mobile et la cellule voisine lat/long, utilisez la loi de Cosinus pour trouver la distance entre la cellule voisine et mobile:

d = acos(sin φ1 ⋅ sin φ2 + cos φ1 ⋅ cos φ2 ⋅ cos Δλ) ⋅ R 

qui peut être mis en œuvre comme celui-ci, par exemple:

var φ1 = lat1.toRadians(), φ2 = lat2.toRadians(), Δλ = (lon2-lon1).toRadians(), R = 6371e3; // gives d in metres 
var d = Math.acos(Math.sin(φ1)*Math.sin(φ2) + Math.cos(φ1)*Math.cos(φ2) * Math.cos(Δλ)) * R; 

En ce qui concerne la rubrique, utilisez cette formule:

θ = atan2(sin Δλ ⋅ cos φ2 , cos φ1 ⋅ sin φ2 − sin φ1 ⋅ cos φ2 ⋅ cos Δλ) 
where φ1,λ1 is the start point, φ2,λ2 the end point (Δλ is the difference in longitude) 

qui peut être mis en œuvre comme celui-ci, par exemple:

var y = Math.sin(λ2-λ1) * Math.cos(φ2); 
var x = Math.cos(φ1)*Math.sin(φ2) - 
     Math.sin(φ1)*Math.cos(φ2)*Math.cos(λ2-λ1); 
var brng = Math.atan2(y, x).toDegrees(); 

(formules Distance/rubrique avec la permission de cette website)

Recherche de la puissance du signal à partir d'une cellule voisine est une autre affaire. Selon la technologie (LTE/WCDMA/GSM), cela peut être possible ou non. Here est un exemple de la façon de procéder, mais cela peut ne pas fonctionner de la sorte pour tous les types de technologies.

+0

Merci pour votre réponse. –