Расстояние между координатами Long Lat с использованием SQLITE

У меня есть sqlite db с длинными и широчайшими магазинами, и я хочу выяснить ближайшие 5 магазинов.

Так что следующий код работает нормально.

    if(sqlite3_prepare_v2(db, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK) {


    while (sqlite3_step(compiledStatement) == SQLITE_ROW) {

        NSString *branchStr = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 0)];
        NSNumber *fLat = [NSNumber numberWithFloat:(float)sqlite3_column_double(compiledStatement, 1)];
        NSNumber *fLong = [NSNumber numberWithFloat:(float)sqlite3_column_double(compiledStatement, 2)];

        NSLog(@"Address %@, Lat = %@, Long = %@", branchStr, fLat, fLong);
        CLLocation *location1 = [[CLLocation alloc] initWithLatitude:currentLocation.coordinate.latitude longitude:currentLocation.coordinate.longitude];
        CLLocation *location2 = [[CLLocation alloc] initWithLatitude:[fLat floatValue] longitude:[fLong floatValue]];

        NSLog(@"Distance i meters: %f", [location1 getDistanceFrom:location2]);
        [location1 release];
        [location2 release];
    }       
}

Я знаю расстояние от того места, где я нахожусь до каждого магазина. Мой вопрос

Это лучше, чтобы положить расстояние обратно в строку sqlite, у меня есть строка, когда я шаг через базу данных. Как я могу это сделать? Я использую инструкцию UPDATE? У кого-нибудь есть кусок кода, чтобы помочь мне.

Я могу прочитать sqlite в массив, а затем отсортировать массив. Вы рекомендуете это по вышеупомянутому подходу? Это более эффективно?

Наконец, если у кого-то есть лучший способ достать ближайшие 5 магазинов, обожайте это слышать.

Ответы на вопрос(2)

Ваш ответ на вопрос