Abstract 要求 ID の型
この型パラメータは、requestTile の戻り値と cancelRequest の パラメータの型が一致した定義になるようにするための便宜的なものである。
ID がどのような型であっても DemProvider<ID> のインスタンスは、
DemProvider = DemProvider<unknown> 型の変数
(Viewer.Option.dem_provider) を通してフレームワークに渡される。
一般的にこのような場合、cancelRequest の id パラメータ は
unknown 型または unknown のスーパークラス (存在しない) でなけれ
ば置換可能性が満たさず危険性を伴うが、フレームワークは必ず this
の requestTile が返したオブジェクトを this の cancelRequest
に与えることを保証しているので問題は起きない。
なお、TypeScript では --strictFunctionTypes を指定していても、
DemProvider<unknown> 型の変数に DemProvider<ID> 型のインスタンスを
代入することが許されるのでコンパイルエラーは起きない。
詳細は TypeScript 2.6 の Strict function types を参照のこと。
Abstract cancelAbstract requestDEM タイルデータを要求
座標が (z, x, y) の DEM タイルデータを要求する。
指定したタイルデータの取得が成功または失敗したときに callback が非同期に呼び出されなければならない。
だたし cancelRequest により要求が取り消されたとき、callback は呼び出しても呼び出さなくてもよい。
また非同期呼び出しである必要もない。callback によって得たデータに値を上書きしてはならない。
要求 ID (DemProvider.cancelRequest cancelRequest() に与えるオブジェクト)
ズームレベル
X タイル座標
Y タイル座標
要求コールバック関数
DEM データプロバイダ
レンダラーに DEM データを与えるための抽象クラスである。
以下の抽象メソッドは既定の動作がないので、利用者はこれらのメソッド をオーバライドした具象クラスを使用しなければならない。
DemProvider.getResolutionPower getResolutionPower() の既定の実 装は 8 を返す。DEM タイルの解像度が 256 以外のときはこのメソッドを オーバーロードする必要がある。
See
StandardDemProvider, Viewer.constructor