.NET Web ADF でのマップ キャッシュのオーバーレイ
.NET Web ADF で別のキャッシュとオーバーレイされるキャッシュを作成するときは、以下の事項に注意する必要があります。
マップの座標系
キャッシュされるマップが同じ座標系であると、最速のパフォーマンスが実現されます。異なる座標系を使用する場合、プライマリ マップ リソース(下記を参照)のキャッシュのみが使用され、サーバはマップのその他すべてのサービスの動的なイメージを生成するため、これらのキャッシュによるパフォーマンス上の効果が損なわれます。
縮尺レベル
2 つのキャッシュの縮尺レベルが一致する場合にのみ、両方のキャッシュによるパフォーマンス上の効果が達成されます。縮尺レベルが異なると(一方のキャッシュには縮尺レベルが存在するが、他方のキャッシュには存在しない場合)は、オーバーレイするイメージをキャッシュから取得することができず、動的に生成する必要があるため、パフォーマンスが低下します。この場合、イメージ品質も低下します。これは、動的イメージを既存の縮尺レベルの 1 つからリサンプリングする必要があるためです。
以下の図では、キャッシュ A が縮尺レベル 3 に存在しません。したがって、.NET Web ADF により、イメージをオーバーレイするための動的イメージが、この縮尺のキャッシュ B から生成されます。
動的イメージがキャッシュの最大または最小の縮尺レベルを超える縮尺に合わせて作成されることはありません。したがって、キャッシュ A に対して、動的イメージは縮尺レベル 5 では生成されません。キャッシュ A は縮尺レベル 5 では表示されず、キャッシュ B からキャッシュされたイメージのみが表示されます。同様に、縮尺レベル 1 ではキャッシュ A のみが表示されます。
イメージ形式
.NET Web ADF で表示されるキャッシュのイメージ形式を選択するとき、次の点に注意してください。
- JPEG イメージ形式は最速で表示されますが、透過表示をサポートしていません。したがって、JPEG イメージが常にマップの一番下のレイヤになることが確実である場合にのみ、JPEG イメージ形式をキャッシュに使用します。
- PNG 24 ベースのキャッシュは、Internet Explorer 6 では透過表示されません(http://support.microsoft.com/kb/294714 に掲載されている Microsoft の関連サポート技術情報をご参照ください)。PNG 24 ベースのキャッシュを別のキャッシュの上で使用する場合、.NET Web ADF は上の PNG 24 イメージを自動的に PNG 32 に変換するため、パフォーマンスが低下する可能性があります。高速にするための解決策は、オーバーレイするキャッシュを PNG 32 形式で作成することです。
Web アプリケーションでのプライマリ マップ リソースの設定
.NET Web アプリケーションが複数のマップ サービスで構成されている場合、プライマリ マップ リソースはマップの座標系とズーム レベルを提供するサービスを決定します。Manager で Web アプリケーションを構築するとき、[使用する座標系と範囲] ドロップダウン リストが表示されます。このドロップダウン リストで選択したサービスがプライマリ マップ リソースになります。Visual Studio を使って Web アプリケーションを構築する場合、プライマリ マップ リソースはマップ コントロールのプロパティです。以下のプライマリ マップ リソースを設定するためのガイドラインに従います。
- 複数のキャッシュ サービスを同じ座標系と縮尺でオーバーレイする場合は(上記の説明のとおり)、いずれかのキャッシュ サービスをプライマリ マップ リソースとして選択します。この場合、ZoomLevel コントロールにはすべてのキャッシュ サービスの縮尺レベルが含まれます。
- 複数のキャッシュ サービスを異なる座標系または縮尺でオーバーレイする場合は、マップで使用したい座標系を持つサービスをプライマリ マップ リソースとして選択します。ZoomLevel コントロールにはこのサービスの縮尺レベルのみが含まれます。もう 1 つのサービスのイメージは、プライマリ マップ リソースの座標系および縮尺と一致するように動的に描画されます。つまり、非プライマリ マップ リソースのキャッシュは使用されません。
- キャッシュ サービスを非キャッシュ サービスとオーバーレイする場合、通常はキャッシュ サービスをプライマリ マップ リソースとして選択します。唯一の例外は、キャッシュによるパフォーマンス上の効果を犠牲にしても、非キャッシュ サービスの座標系をマップで使用したい場合です。