Distanz zwischen Long Lat Coord mit SQLITE

Ich habe eine SQLite-Datenbank mit vielen Läden und möchte die nächsten 5 Läden herausfinden.

So funktioniert der folgende Code einwandfrei.

    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];
    }       
}

Ich weiß, wie weit ich von jedem Geschäft entfernt bin. Meine Frage ist

Ist es besser, den Abstand zurück in die SQLite-Zeile zu setzen, habe ich die Zeile, wenn ich durch die Datenbank gehe. Wie mache ich das? Benutze ich die UPDATE-Anweisung? Hat jemand einen Code, der mir hilft?

Ich kann das SQLite in ein Array einlesen und dann das Array sortieren. Empfehlen Sie dies über den oben genannten Ansatz? Ist das effizienter?

Finally, wenn jemand eine bessere Möglichkeit hat, die nächsten 5 Läden zu finden, höre sie gerne.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage