2017-03-01 4 views
-2

J'ai quatre valeurs de latitude et de longitude qui créent un rectangle (zone). Maintenant, je veux diviser le rectangle en grilles.comment diviser un rectangle

Je définir la latlong (11.20804, 122.22839),(11.20804, 122.52914),(11.06926, 122.52914),(11.06926, 122.22839) Après avoir divisé les grilles que je veux donner à chaque grille un identifiant et souhaite les valeurs de latitude et de longitude de chaque grid_id.I me bats comment diviser le rectangle en grilles et les assigner grid_id. Toute aide est appréciée

+1

Je ne comprends pas ce qui est difficile à ce sujet. Divisant un rectangle (btw, ce n'est pas un rectangle) en une grille? Qu'avez-vous essayé et qu'est-ce qui vous cause des problèmes? –

Répondre

1

Quelque chose comme ça. Aurez besoin de jouer avec et décider si votre ok si le fond n'aura pas un carré parfait. Ceci est considéré comme un point de départ, pas une solution complète. Je viens de lire que vous voulez des identifiants de grille, donc deviner comme 1,1, donc vous devrez ajuster cela pour répondre à vos besoins.

double width = 122.52914 - 122.22839; 
double height = 11.20804 - 11.06926; 
int numbSquares = 10; 
int lengthOfOneSquare = width/numbSquares; 

HashMap<Double[], String> hmap = new HashMap<Double[], String>(); 

for (double x = 11.20804; x <= 11.06926 - lengthOfOneSquare; x += lengthOfOneSquare) { 
    for (double y = 122.22839; y <= 122.52914 - lengthOfOneSquare; y+= lengthOfOneSquare) { 
     Double[] location = new Double[]{x, y}; 
     String id = x+""+y; <--- converts x and y to a string 
     hmap.put(location, id); 
    } 
}