2012-04-02 3 views
0

Ich habe eine Frage über Geopoints Jungs ..Standort bewusst Android, Vergleich Entfernung in Java oder Datenbank?

Ich bin eine Location-Aware-Client-Server-Anwendung in Android implementieren. Clients haben einige gespeicherte Speicherorte in der Server-Datenbank (mysql). Und sie werden einige Nachrichten erhalten, die an diese Orte gebunden sind.

Ich muss Abstand zwischen 2 Punkten vergleichen, was ist die beste Möglichkeit, um die Entfernung zu speichern und zu berechnen. Berechnen Sie die Instanz in der Datenbank mit Abfrage, oder alle Ergebnisse in Server-Java, und berechnen Sie dann 2 Punkte, die von Location.distanceBetween (..) geliefert wird.

Welcher Weg ist besser, ich bin ein Neuling in diesem. Danke.

Antwort

0

Wenn Sie die Entfernung in der Datenbank mit Abfrage berechnen, dann sollten Sie alle Zeilen in Datenbank durchsuchen ... und berechnen Sie den Abstand von jedem Punkt in dieser Zeile .. Oder wenn Sie alle Ergebnisse in erhalten Server, und dann berechnen Sie den Abstand zwischen 2 Punkten, dann sollten Sie auch durch alle Zeilen der Datenbank gehen und die Werte in Zeilen .. und dann die Entfernung berechnen .. aber im zweiten Fall sollten Sie alle Werte in der Datenbank erhalten (ich meine Standortwerte) ... aber im ersten Fall nur ein einziger Wert ... das ist die zusätzliche Arbeit, die Sie im zweiten Fall tun sollten .. so .. erster Weg ist besser ... ich denke ..

+0

Vielen Dank für Ihre Antwort, ich denke, es ist auch besser. Also, Speicherorte in ganzzahliger Form oder lat lon Form für effiziente Abfrage? –

+0

Wenn Sie Daten in int speichern, wird es sicher einen Unterschied machen .. –