2017-03-01 38 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); 
    } 
}