ModisTiePointGeoCoding extends AbstractGeoCoding { static int calculateStopLine(int scanlineHeight, Rectangle region) { return (region.y + region.height) / scanlineHeight * 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 testCalculateStopLine() { Assert.assertEquals(120, ModisTiePointGeoCoding.calculateStopLine(20, new Rectangle(0, 106, 10, 10))); Assert.assertEquals(1230, ModisTiePointGeoCoding.calculateStopLine(10, new Rectangle(0, 1217, 10, 10))); }