This PR adds the ability to specify slope calculation as part of a MAML program. Other focal operations have already been added, but this operation requires deeper changes than those did: in addition to the implicit information encoded by the grid structure of tiles which is sufficient for the bulk of map algebra operations and the explicit extent mapping required by masking, slope requires a mapping from the approximate latitude at some location to some "z-factor" which is a coefficient necessary to determine with precision the 'rise' in a slope calculation's "rise over run".
This means that LazyRaster instances now expect a full ProjectedMultibandRaster instead of a simple MultibandRaster or - before that - MultibandTile.
This PR adds the ability to specify slope calculation as part of a MAML program. Other focal operations have already been added, but this operation requires deeper changes than those did: in addition to the implicit information encoded by the grid structure of tiles which is sufficient for the bulk of map algebra operations and the explicit extent mapping required by masking, slope requires a mapping from the approximate latitude at some location to some "z-factor" which is a coefficient necessary to determine with precision the 'rise' in a slope calculation's "rise over run".
This means that
LazyRaster
instances now expect a fullProjectedMultibandRaster
instead of a simpleMultibandRaster
or - before that -MultibandTile
.