From ed8afd19177524fc8621c94b8e354bcb0b8e1620 Mon Sep 17 00:00:00 2001
From: Luc Maisonobe <luc@orekit.org>
Date: Mon, 17 Mar 2014 18:36:10 +0100
Subject: [PATCH] Added methods getLatitudeAtIndex and getLongitudeAtIndex in
 Tile.

---
 .../orekit/rugged/core/raster/SimpleTile.java | 22 ++++++++++++++-----
 .../org/orekit/rugged/core/raster/Tile.java   | 12 ++++++++++
 2 files changed, 29 insertions(+), 5 deletions(-)

diff --git a/rugged-core/src/main/java/org/orekit/rugged/core/raster/SimpleTile.java b/rugged-core/src/main/java/org/orekit/rugged/core/raster/SimpleTile.java
index 066b3fb8..2e619057 100644
--- a/rugged-core/src/main/java/org/orekit/rugged/core/raster/SimpleTile.java
+++ b/rugged-core/src/main/java/org/orekit/rugged/core/raster/SimpleTile.java
@@ -108,25 +108,37 @@ public class SimpleTile implements Tile {
     /** {@inheritDoc} */
     @Override
     public double getMinimumLatitude() {
-        return minLatitude;
+        return getLatitudeAtIndex(0);
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    public double getLatitudeAtIndex(final int latitudeIndex) {
+        return minLatitude + latitudeStep * latitudeIndex;
     }
 
     /** {@inheritDoc} */
     @Override
     public double getMaximumLatitude() {
-        return minLatitude + latitudeStep * (latitudeRows - 1);
+        return getLatitudeAtIndex(latitudeRows - 1);
     }
 
     /** {@inheritDoc} */
     @Override
     public double getMinimumLongitude() {
-        return minLongitude;
+        return getLongitudeAtIndex(0);
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    public double getLongitudeAtIndex(final int longitudeIndex) {
+        return minLongitude + longitudeStep * longitudeIndex;
     }
 
     /** {@inheritDoc} */
     @Override
     public double getMaximumLongitude() {
-        return minLongitude + longitudeStep * (longitudeColumns - 1);
+        return getLongitudeAtIndex(longitudeColumns - 1);
     }
 
     /** {@inheritDoc} */
@@ -242,7 +254,7 @@ public class SimpleTile implements Tile {
 
     /** Get the latitude index of a point.
      * @param latitude geodetic latitude
-     * @return latirute index (it may lie outside of the tile!)
+     * @return latitute index (it may lie outside of the tile!)
      */
     private double getDoubleLatitudeIndex(double latitude) {
         return (latitude  - minLatitude)  / latitudeStep;
diff --git a/rugged-core/src/main/java/org/orekit/rugged/core/raster/Tile.java b/rugged-core/src/main/java/org/orekit/rugged/core/raster/Tile.java
index a2c9d60d..199acf48 100644
--- a/rugged-core/src/main/java/org/orekit/rugged/core/raster/Tile.java
+++ b/rugged-core/src/main/java/org/orekit/rugged/core/raster/Tile.java
@@ -48,6 +48,12 @@ public interface Tile extends UpdatableTile {
      */
     double getMinimumLatitude();
 
+    /** Get the latitude at some index.
+     * @param latitudeIndex latitude index
+     * @return latitude at the specified index
+     */
+    double getLatitudeAtIndex(int latitudeIndex);
+
     /** Get maximum latitude.
      * @return maximum latitude
      */
@@ -58,6 +64,12 @@ public interface Tile extends UpdatableTile {
      */
     double getMinimumLongitude();
 
+    /** Get the longitude at some index.
+     * @param longitudeIndex longitude index
+     * @return longitude at the specified index
+     */
+    double getLongitudeAtIndex(int longitudeIndex);
+
     /** Get maximum longitude.
      * @return maximum longitude
      */
-- 
GitLab