limoneneis
Cadet 4th Year
- Registriert
- Okt. 2009
- Beiträge
- 72
Hallo,
ich versuche gerade Koordinaten zu trimmen, da ich die Genauigkeit eines Navigationssystems testen möchte.
Die Daten sehen in etwa so aus
Bei der x-Koordinate will ich die Koordinaten ab der 4. Nackommastelle betrachten. Danach soll der Wert drei Stellen haben und dann nur noch Nachkommastellen haben.
(9.63292858891819|52.415214426435284)
_____(928.58891819|____214.426435284)
Ich habe das mit folgenden Schnipsel versucht.
Das Problem was ich habe ist, dass je nachdem "betrachtungsstellen" oder "nachkommastellen" für einen Wert haben ganz schnell (NaN,NaN) herauskommt. Das ist echt ne Denksportaufgabe. Vlt hattet ihr ja mal ein ähnliches Problem.
Danke für jeden schonmal, der was postet!
ich versuche gerade Koordinaten zu trimmen, da ich die Genauigkeit eines Navigationssystems testen möchte.
Die Daten sehen in etwa so aus
Code:
(9.63292858891819|52.415214426435284)
(9.632917527876117|52.415233569630686)
(9.63295121531192|52.415218089863174)
(9.633005181162247|52.41522945449725)
(9.633010629369778|52.415220556048325)
Bei der x-Koordinate will ich die Koordinaten ab der 4. Nackommastelle betrachten. Danach soll der Wert drei Stellen haben und dann nur noch Nachkommastellen haben.
(9.63292858891819|52.415214426435284)
_____(928.58891819|____214.426435284)
Ich habe das mit folgenden Schnipsel versucht.
Code:
for (int i = 0; i <= this.knotenliste.size() - 1; i++) {
Position p = this.knotenliste.get(i).getP(); //holt Position aus der Knotenliste
//alle Nachkommastellen eliminieren
float akt1 = (float) (p.getLat() * Math.pow(10,nachkommastelle));
//betrachtungsstellen < nachkommastelle
//Ich bestimme hier wo das neue Komma sein soll
float akt2 = (float) (akt1 / Math.pow(10,betrachtungsstellen));
//Hier hacke ich die Nachkommastellen von akt3 ab
long akt3 = (int) akt2;
//Hier hacke ich Vorkommastellen ab
akt1 %= akt3;
//Rueckzuweisung zur Liste
p.setLat(akt1);
}
Das Problem was ich habe ist, dass je nachdem "betrachtungsstellen" oder "nachkommastellen" für einen Wert haben ganz schnell (NaN,NaN) herauskommt. Das ist echt ne Denksportaufgabe. Vlt hattet ihr ja mal ein ähnliches Problem.
Danke für jeden schonmal, der was postet!