Ich verfolge den Standort des Benutzers in meiner App in einer Datenbank mit allen Koordinaten. Ich mache dann ein paar Sachen, um einen Bereich von Koordinaten in einem Zeitrahmen auszuwählen, aber wenn ich es auf dem Server speichere, dauert es aufgrund der großen Datenmenge sehr lange. (15 Minuten ist 900 CLCoordinate2D
's und das ist ziemlich viel).Koordinaten-Array verkleinern
Was ich tun möchte, ist die Koordinaten zu entfernen, die von der vorhergehenden und folgenden Koordinaten geschnitten werden. Verwenden Sie für Veranschaulichungszwecke übermäßig einfache Koordinaten, aber stellen Sie sich vor, dass dies an realen Koordinaten in einem Array von ein paar tausend Objekten geschieht.
Beispiel:
0,0 //Keep
1,1 //Drop
2,2 //Drop
3,3 //Keep
3,4 //Keep
4,4 //Keep
5,3 //Keep
Ich weiß, dass ich wahrscheinlich einige Vektor Material verwenden sollte, aber ich bin nicht in Mathe gut. Wie kann ich dieses Array reduzieren, um die veralteten Punkte zu entfernen?
Sind sie zeitlich gleichmäßig verteilt? – Grimxn
Location Manager mit BestForNavigation gibt ungefähr alle 1 Sekunden ein Update. –