Hallo,
ich hab ein Problem und zwar soll ich eine Methode
int getGridBox(double latitude, double longitude) implementieren und als Rückgabewert soll die ID der Box zurückgegeben werden, in die der Punkt mit der Breitengradangabe latitude und Längengradangabe
longitude.So fällt etwa der Punkt (40, 100) im unteren Beispiel
in die Box mit ID 38.
Jede Box verwaltet den unteren und linken Rand. Dementsprechend wird der Punkt
(0,0) im unteren Beispiel Box 28 zugeordnet.
Da die Erde eine Kugel ist, ist der rechte Rand in der unteren Abbildung auf den linken Rand abgebildet.
90°
|
40 41 42 43| 44 45 46 47
32 33 34 35| 36 37 38 39
24 25 26 27| 28 29 30 31
-180°-------------------------------- 180°
16 17 18 19| 20 21 22 23
08 09 10 11| 12 13 14 15
00 01 02 03| 04 05 06 07
|
-90°
Also ich habs mir`s so gedacht, dass ich es mit einem zweidimensionalen Array das zeugs löse aber ich weis nicht wie ich die Intervalle einbaun soll oder könnte ich das auch irgendwie ohne einen zweidim. Array lösen, währe nett wenn mir einer mal weiter helfen könnte
ich hab ein Problem und zwar soll ich eine Methode
int getGridBox(double latitude, double longitude) implementieren und als Rückgabewert soll die ID der Box zurückgegeben werden, in die der Punkt mit der Breitengradangabe latitude und Längengradangabe
longitude.So fällt etwa der Punkt (40, 100) im unteren Beispiel
in die Box mit ID 38.
Jede Box verwaltet den unteren und linken Rand. Dementsprechend wird der Punkt
(0,0) im unteren Beispiel Box 28 zugeordnet.
Da die Erde eine Kugel ist, ist der rechte Rand in der unteren Abbildung auf den linken Rand abgebildet.
90°
|
40 41 42 43| 44 45 46 47
32 33 34 35| 36 37 38 39
24 25 26 27| 28 29 30 31
-180°-------------------------------- 180°
16 17 18 19| 20 21 22 23
08 09 10 11| 12 13 14 15
00 01 02 03| 04 05 06 07
|
-90°
Also ich habs mir`s so gedacht, dass ich es mit einem zweidimensionalen Array das zeugs löse aber ich weis nicht wie ich die Intervalle einbaun soll oder könnte ich das auch irgendwie ohne einen zweidim. Array lösen, währe nett wenn mir einer mal weiter helfen könnte
Code:
public int getGridBoxId(double latitude, double longitude) {
// TODO
int boxID;
//Initialisieren ein zweidimensionalen Arrays
//columns=Spalten, rows=Zeilen
int[][] tabellenArray=new int[columns][rows];
for (int i = 0; i < tabellenArray.length; i++) {
for (int j = 0; j < tabellenArray[i].length; j++) {
if(tabellenArray[i][j]==boxID){
}
}
}
return -1;
}