C Webアプリケーション用のラスター・タイル・サービスの作成と使用
この付録では、Webアプリケーション用のラスター・タイル・サービスについて例を挙げて説明します。
最新のWebマッピングおよび地理空間アプリケーションでは、大規模なラスター・データセットは通常、ラスター・タイルと呼ばれる小さくて管理しやすい要素としてWeb URLを介して提供されます。このタイル処理方法により、様々な詳細レベルでのイメージおよびラスター・データの効率的なアクセスおよびWebベースの配信が可能になり、Webアプリケーション開発の複雑さも軽減されます。GeoRasterデータベースを使用すると、このタイル処理方法を使用して、任意のイメージおよびラスター・データをWebに提供できます。たとえば、このラスター・タイル・サービスを通じて、ユーザーはイメージおよびDEMラスターをWebにストリーミングして、さらに処理を進めたり、3Dビジュアライゼーションを実現できます。バックグラウンドでは、サービスの各ラスター・タイルが、基礎となるラスター記憶域形式に関係なく、1つ以上のGeoRasterオブジェクトからデータベース内でネイティブに構築および提供されます。
ラスター・データセットは、複数のズーム・レベルにわたって正方形タイル(通常は256x256ピクセル)のグリッドに分割され、各ズーム・レベル(z)では、2^z x 2^zパターンに従ってタイルの数が指数関数的に増加します。ズーム・レベル0 (ゼロ)では、1つのタイルが世界全体をカバーします。標準のタイルが256x256ピクセルである場合、赤道上のピクセルの解像度は、地球の赤道付近の外周をタイルのピクセル寸法サイズで除算して算出できます。ズーム・レベル0 (ゼロ)での解像度は約156,534 mです。ズーム・レベル22では、ピクセルの解像度はピクセル当たり約3.7 cmです。
Webメルカトル図法では、解像度は緯度で変化します。このグリッド内の各タイルの位置は、指定されたズーム・レベルでの水平(x)および垂直(y)の指数によって指定されます。このアドレス指定方式は、XYZ方式(17-083r4仕様ドキュメントのOGC WebMercatorQuadを参照)とも呼ばれ、ユーザーまたはアプリケーションが特定のマップ・ビューおよびズーム設定に必要な特定のタイルのみをリクエストできるようにします。
たとえば、ズーム・レベル2では、ラスターは16個のタイル(4列×4行)に分割されます。タイルx=1, y=2, z=2のリクエストは、ズーム・レベル2の解像度でラスターの特定のセクションを取得します。この方法では、イメージの取得および表示を最適化することで、Webマッピング・アプリケーションのパフォーマンスとスケーラビリティが大幅に向上します。
Oracle AI DatabaseのSDO_GEOR_UTL.get_rasterTileファンクションは、1つ以上のGeoRasterオブジェクトの仮想モザイクから特定のラスター・タイルを取得できます。また、ズーム・レベル(z)およびタイル座標(xとy)を指定して、そのラスター・タイルを取得するためのRESTエンドポイントを作成することもできます。これは、データベースに格納されているラスターを対話型マップ上に表示する場合に特に便利です。
前述の機能を実装するために、Oracle REST Data Services (ORDS)を使用してRESTエンドポイントを作成し、Oracle AI Databaseに格納されているGeoRasterオブジェクトからラスター・タイルをレンダリングできます。
たとえば、ORDSによって作成された次のRESTエンドポイントについて考えてみます:
GET /ords/scott/service1/vegetation/{z}/{x}/{y}
このエンドポイントは、SDO_GEOR_UTL.get_rasterTileファンクションを内部的にコールします。
次の2つの例では、ORDSを使用したタイル処理サービスについて説明します。各例では、タイルごとに複数のGeoRasterオブジェクトの仮想モザイクを取得するエンドポイントを作成します。これらのタイル処理サービス用に作成されたエンドポイントは、MapLibreまたはラスター・タイル・ソースをサポートするその他のGISシステムを使用して、Webアプリケーションでラスター・レイヤーを設定するためにさらに使用できます。
続行する前に、次の前提条件を満たしていることを確認してください:
- ORDSがインストールされ構成されている。詳細は、「Oracle REST Data Servicesのインストールおよび構成」を参照してください。
- ラスター・データが、SDO_GEORASTERオブジェクトとしてデータベース表に格納されている。
- ラスター・タイル・サービスは、Oracle Autonomous AI Databaseサーバーレス・デプロイメントでOracle Javaが有効になっている場合にのみサポートされます。Oracle Javaを有効にするには、詳細についてはOracle Javaの有効化を参照してください。