我有四个纬度和经度值,可以创建一个矩形(区域)。现在我想将矩形划分为网格。
所以我定义了latlong
(11.20804, 122.22839),(11.20804, 122.52914),(11.06926, 122.52914),(11.06926, 122.22839)
划分网格后,我想给每个网格一个id,并想要每个grid_id的纬度和经度值。我正在努力如何将矩形划分为网格并为它们分配grid_id。
任何帮助表示赞赏
答案 0 :(得分: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);
}
}