2017-03-01 41 views
-2

我有四個經緯度值創建一個矩形(區域)。現在我想將矩形劃分爲網格。如何劃分矩形

所以我定義了經緯度 (11.20804, 122.22839),(11.20804, 122.52914),(11.06926, 122.52914),(11.06926, 122.22839) 分我想給每個網格的ID和希望每個grid_id.I的緯度和經度值很努力如何將矩形分成網格,並將其分配grid_id網格後。 任何幫助表示讚賞

+1

不明白這有什麼困難。將矩形(順便說一句,它不是一個矩形)劃分成一個網格?你嘗試了什麼以及是什麼導致了你的問題? –

回答

1

就是這樣。將需要玩弄它,並決定如果你確定,如果底部不會有一個完美的廣場。這意味着作爲一個起點,而不是一個完整的解決方案。

我剛剛讀到,你想要網格ID,所以猜如1,1,所以你將不得不調整,以適應您的需求。

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); 
    } 
}