4

この古い投稿、Androidでユーザーの位置を取得する良い方法 を読んだ後、位置の最適な推定値を見つけるためにこの問題を解決する方法について、誰かが理論を持っているかどうか疑問に思いました。明らかに GPS は理想的ですが、時々悪い測定値を与えると仮定してください。

GPS、、、の 3 つの測定値が得られたWIFICell Towerします。その精度から、「最適な」場所を見つけるためにどのような方法を提案できますか?

私の最初の反応は、3 つのポイントがあり、精度のために 3 つすべてに重みを割り当ててから、指定された精度で 3 つのポイントに最も近いポイントを見つける、ある種の重み付き重心関数を実行することです。私のもう1つの考えは、機械学習を使用することですが、この問題を解決するために特別に何かを作っていない限り、それは本当に過剰に思えます. 考え?これは主に、Skyhook がデータを使用して問題をどのように解決するのか疑問に思っていることに基づいています。

4

1 に答える 1

1
//declare constants

 // The minimum distance to change Updates in meters
private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 20; // 10 meters

 // The minimum time between updates in milliseconds
private static final long MIN_TIME_BW_UPDATES = 2000 * 60 * 1; // 1 minute

public void getlocation() 
{  
    locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

   // Define the criteria how to select the locatioin provider        
    Criteria criteria = new Criteria();
    provider = locationManager.getBestProvider(criteria, false);
    locationManager.requestLocationUpdates(provider, MIN_TIME_BW_UPDATES,
                  MIN_DISTANCE_CHANGE_FOR_UPDATES, this);

    if (locationManager != null) {
    Location location = locationManager.getLastKnownLocation(provider);

       if (location != null) {
          loclat = location.getLatitude();
          loclong = location.getLongitude();                                
       }
   }
}
于 2013-07-24T04:52:21.240 に答える