/** The Elevation Source Delegate provides elevation data on demand for
    a given tile.  It returns a MaplyElevationChunk or nil if no data
    is available.  Your delegate may be called on a random thread, act accordingly.
  */
@protocol MaplyElevationSourceDelegate

/// Coordinate system we're providing the data in (and extents)
- (MaplyCoordinateSystem *)getCoordSystem;

/// Minimum zoom level (e.g. 0)
- (int)minZoom;

/// Maximum zoom level (e.g. 17)
- (int)maxZoom;

/// Return an elevation chunk (or nil) for a given tile
- (MaplyElevationChunk *)elevForTile:(MaplyTileID)tileID;

@end