Skip to content
Snippets Groups Projects
Commit c0a282db authored by Luc Maisonobe's avatar Luc Maisonobe
Browse files

Further clarifications.

parent a5509578
No related branches found
No related tags found
No related merge requests found
...@@ -53,23 +53,23 @@ public interface TileUpdater { ...@@ -53,23 +53,23 @@ public interface TileUpdater {
* </li> * </li>
* <li> * <li>
* As elevations are interpolated within Digital Elevation Model * As elevations are interpolated within Digital Elevation Model
* pixels using four pixels at indices (i, j), (i+1, j), (i, j+1) * pixels using four pixels at indices (kLat, kLon), (kLat+1, kLon),
* (i+1, j+1). A point in the northernmost row (resp. easternmost * (kLat, kLon+1), (kLat+1, kLon+1). A point in the northernmost row
* column) miss neighboring points at row j+1 (resp. neighboring * (resp. easternmost column) miss neighboring points at row kLat+1
* points at column i+1) and therefore cannot be interpolated. * (resp. neighboring points at column kLon+1) and therefore cannot
* The method should therefore select the northernmost tile if the * be interpolated. The method should therefore select the northernmost
* specified latitude is in the overlapping row between two tiles, * tile if the specified latitude is in the overlapping row between two
* and it should select the easternmost tile if the specified longitude * tiles, and it should select the easternmost tile if the specified
* is in the overlapping column between two tiles. Failing to do so will * longitude is in the overlapping column between two tiles. Failing
* trigger an error at caller level mentioning the missing required * to do so will trigger an error at caller level mentioning the missing
* neighbors. * required neighbors.
* </li> * </li>
* <li> * <li>
* The elevation at grid point as set when calling {@link * The elevation at grid point as set when calling {@link
* UpdatableTile#setElevation(int, int, double) tile.setElevation(i, j, * UpdatableTile#setElevation(int, int, double) tile.setElevation(kLat, kLon,
* elevation)} must be the elevation corresponding to the latitude * elevation)} must be the elevation corresponding to the latitude
* {@code minLatitude + i * latitudeStep} and longitude {@code * {@code minLatitude + kLat * latitudeStep} and longitude {@code
* minLongitude + j * longitudeStep}, where {@code minLatitude}, * minLongitude + kLon * longitudeStep}, where {@code minLatitude},
* {@code latitudeStep}, {@code minLongitude} and {@code longitudeStep} * {@code latitudeStep}, {@code minLongitude} and {@code longitudeStep}
* correspond to the parameter of the {@link UpdatableTile#setGeometry(double, * correspond to the parameter of the {@link UpdatableTile#setGeometry(double,
* double, double, double, int, int) tile.setGeometry(minLatitude, minLongitude, * double, double, double, int, int) tile.setGeometry(minLatitude, minLongitude,
......
...@@ -38,6 +38,16 @@ public interface UpdatableTile { ...@@ -38,6 +38,16 @@ public interface UpdatableTile {
throws RuggedException; throws RuggedException;
/** Set the elevation for one raster element. /** Set the elevation for one raster element.
* <p>
* BEWARE! The order of the indices follows geodetic conventions, i.e.
* the latitude is given first and longitude afterwards, so the first
* index specifies a <em>row</em> index with zero at South and max value
* at North, and the second index specifies a <em>column</em> index
* with zero at West and max value at East. This is <em>not</em> the
* same as some raster conventions (as our row index increases from South
* to North) and this is also not the same as Cartesian coordinates as
* our ordinate index appears before our abscissa index).
* </p>
* @param latitudeIndex index of latitude (row index) * @param latitudeIndex index of latitude (row index)
* @param longitudeIndex index of longitude (column index) * @param longitudeIndex index of longitude (column index)
* @param elevation elevation (m) * @param elevation elevation (m)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment