ModisTiePointGeoCoding extends AbstractGeoCoding { static int calculateStartLine(int scanlineHeight, Rectangle region) { return region.y / scanlineHeight * scanlineHeight; } ModisTiePointGeoCoding(TiePointGrid latGrid, TiePointGrid lonGrid); boolean canGetPixelPos(); boolean canGetGeoPos(); PixelPos getPixelPos(GeoPos geoPos, PixelPos pixelPos); GeoPos getGeoPos(PixelPos pixelPos, GeoPos geoPos); Datum getDatum(); @Override boolean equals(Object o); @Override int hashCode(); @Override void dispose(); boolean isCrossingMeridianAt180(); @Override boolean transferGeoCoding(final Scene srcScene, final Scene destScene, final ProductSubsetDef subsetDef);  }
@Test public void testCalculateStartLine() { Assert.assertEquals(100, ModisTiePointGeoCoding.calculateStartLine(20, new Rectangle(0, 106, 10, 10))); Assert.assertEquals(1210, ModisTiePointGeoCoding.calculateStartLine(10, new Rectangle(0, 1217, 10, 10))); }