| 

.NET C# Java Javascript Exception

Antwort #A1528 zur Frage #F405: Effizient mit einer großen Menge von GPS-Koordinaten umgehen

Diese Antwort hat bisher 2 Versionen. Frage #F405: Effizient mit einer großen Menge von GPS-Koordinaten umgehen - Antwort #A1528


Version 2
04.11.2009 16:52:23
Dies ist die aktuelle Version
Idealer Weise ordnet man jedem Punkt ein "Planquadrat" zu (Zum Beispiel 1° * 1°). Jedes Quadrat bekommt eine eindeudige Nummer. Sucht man nun nach POIs in der Nähe, muß man nur das eigene Quadrat und wenige benachbarten Quadrate absuchen. Das läßt sich mit "between", "in", "or" oder "union" noch halbwegs schnell erledigen.
Wahrscheinlich ist aber ein Planquardrat von 1°*1° nicht optimal für alle Suchradien. Deshalb sollten man mehrere, verschieden große Raster verwenden, z.B. 250km, 50km, 10km, 2km, 400m. Bei einem Suchradius von z.B. 3km kann man sich dann entscheiden, ob man eine größere Anzahl von Planquaraten der Größe 2km durchsucht oder nur das eine mit 10km Kantenlänge. Das hängt zum Beispiel davon ab, oder der Ausgangspunkt nahe am Rand des 10km Quadrats liegt.
Sollte kein Radius vorgegeben sein, sucht man eben erst die kleinen Quadrate ab und wenn dort nichts zu finden ist, immer größere.
P.S. Die "Planquadrate" sind natürlich nicht quadratisch, aber der besseren Anschauung wegen, benutze ich den Begriff trotzdem.
BeachBlocker 502 3
Version 1
04.11.2009 16:52:23
Idealer Weise ordnet man jedem Punkt ein "Planquadrat" zu (Zum Beispiel 1° * 1°). Jedes Quadrat bekommt eine eindeudige Nummer. Sucht man nun nach POIs in der Nähe, muß man nur das eigene Quadrat und wenige benachbarten Quadrate absuchen. Das läßt sich mit "between", "in", "or" oder "union" noch halbwegs schnell erledigen.
Wahrscheinlich ist aber ein Planquardrat von 1°*1° nicht optimal für alle Suchradien. Deshalb sollten man mehrere, verschieden große Raster verwenden, z.B. 250km, 50km, 10km, 2km, 400m. Bei einem Suchradius von z.B. 3km kann man sich dann entscheiden, ob man eine größere Anzahl von Planquaraten der Größe 2km durchsucht oder nur das eine mit 10km Kantenlänge. Das hängt zum Beispiel davon ab, oder der Ausgangspunkt nahe am Rand des 10km Quadrats liegt.
Sollte kein Radius vorgegeben sein, sucht man eben erst die kleinen Quadrate ab und wenn dort sicht zu finden ist, immer größere.
P.S. Die "Planquadrate" sind natürlich nicht quadratisch, aber der besseren Anschauung wegen, benutze ich den Begriff trotzdem.
BeachBlocker 502 3