assertEquals(1, instance.getHeight(5, 5), 1e-3); assertEquals(70, instance.getHeight(2.5, 1.5), 1e-3); assertEquals(1, instance.getHeight(3, 2), 1e-3); assertEquals(70, instance.getHeight(2, 1), 1e-3); assertEquals(1, instance.getHeight(+1.0, 2), 1e-3); assertEquals(90, instance.getHeight(0.5, 2.5), 1e-3); assertEquals(90, instance.getHeight(0.0, 2.5), 1e-3); assertEquals(1, instance.getHeight(+0.0, 3), 1e-3); assertEquals(1, instance.getHeight(-0.5, 3.5), 1e-3); assertEquals(1, instance.getHeight(-0.5, 3.0), 1e-3); assertEquals(90, instance.getHeight(-0.5, 2.5), 1e-3); assertEquals(1, instance.getHeight(0, 0), 1e-3); assertEquals(1, instance.getHeight(9, 10), 1e-3); assertEquals(1, instance.getHeight(10, 9), 1e-3); assertEquals(1, instance.getHeight(10, 10), 1e-3); assertEquals(1, instance.getHeight(10.5, 5), 1e-3); assertEquals(1, instance.getHeight(-0.5, 5), 1e-3); assertEquals(1, instance.getHeight(1, -0.5), 1e-3); assertEquals(1, instance.getHeight(1, 10.5), 1e-3);
return 0; return demProvider.getHeight(lat, lon);
@Test public void testGetHeightForNegativeTile() { int width = 10; HeightTile instance = new HeightTile(-20, -20, width, width, 1e-6, 10, 10); DataAccess heights = new RAMDirectory().find("tmp"); heights.create(2 * 10 * 10); instance.setHeights(heights); init(heights, width, width, 1); // x,y=1,7 heights.setShort(2 * (7 * width + 1), (short) 70); // x,y=2,9 heights.setShort(2 * (9 * width + 2), (short) 90); assertEquals(1, instance.getHeight(-15, -15), 1e-3); assertEquals(70, instance.getHeight(-17.5, -18.5), 1e-3); // edge cases for one tile with the boundaries [min,min+degree/width) for lat and lon assertEquals(1, instance.getHeight(-17, -18), 1e-3); assertEquals(70, instance.getHeight(-18, -19), 1e-3); }
@Test public void testCalcMean() { int width = 10; HeightTile instance = new HeightTile(0, 0, width, width, 1e-6, 10, 10).setCalcMean(true); DataAccess heights = new RAMDirectory().find("tmp"); heights.create(2 * 10 * 10); instance.setHeights(heights); init(heights, width, width, 1); // x,y=0,9 heights.setShort(2 * (9 * width + 0), (short) 10); // x,y=1,7 heights.setShort(2 * (7 * width + 1), (short) 70); // x,y=2,8 heights.setShort(2 * (8 * width + 2), (short) 90); assertEquals((70 + 4) / 5d, instance.getHeight(2, 1), 1e-3); assertEquals((70 + 90 + 3) / 5d, instance.getHeight(2.5, 2.5), 1e-3); assertEquals((90 + 3) / 4d, instance.getHeight(-0.5, 2.5), 1e-3); assertEquals((10 + 2) / 3d, instance.getHeight(-0.5, -0.5), 1e-3); }
return 0; return demProvider.getHeight(lat, lon);
return 0; return demProvider.getHeight(lat, lon);
return 0; return demProvider.getHeight(lat, lon);
return 0; return demProvider.getHeight(lat, lon);
return 0; return demProvider.getHeight(lat, lon);