35.13 SDO_UTIL.ENABLE_VECTORTILE_CACHE
書式
SDO_UTIL.ENABLE_VECTORTILE_CACHE( table_name IN VARCHAR2, geom_col_name IN VARCHAR2, ts_name IN VARCHAR2 default NULL, min_zoom IN NUMBER DEFAULT 0, max_zoom IN NUMBER DEFAULT 23 );
説明
ジオメトリ列を使用して表から作成されたベクター・タイルのキャッシュを有効にします。
パラメータ
- table_name
-
ベクター・タイルの作成に使用される情報(ジオメトリ列および0個以上の属性列)を含む表の名前。
- geom_col_name
-
ベクター・タイルの作成に使用される
table_name
のSDO_GEOMETRY型の列の名前。 - ts_name
-
表領域の名前。
これはオプションのパラメータです。指定すると、タイルのキャッシュ用に作成された表(
SDO_VECTOR_TILE_CACHE$INFO
およびSDO_VECTOR_TILE_CACHE$TABLE
)が、指定された表領域に作成されます。それ以外の場合、キャッシュ表はスキーマのデフォルトの表領域に作成されます。 - min_zoom
-
キャッシュに格納される最小ズーム・レベル。
これはオプションのパラメータであり、デフォルト値は0です。
min_zoom
に8が指定されている場合は、ズームが8以上のタイルのみがキャッシュされます。min_zoom
が6でタイルがリクエストされた場合、タイルは、計算されてコール元に返されますが、キャッシュされません。 - max_zoom
-
キャッシュに格納される最大ズーム・レベル。
これはオプションのパラメータであり、デフォルト値は23です。
max_zoom
に16が指定されている場合、ズームが16以下のタイルのみがキャッシュされます。ズーム20でタイルがリクエストされた場合、タイルは、計算されてコール元に返されますが、キャッシュされません。
使用上のノート
ベクター・タイルのキャッシュは、デフォルトでは有効化されていません。ベクター・タイル・キャッシュを有効にするには、このSDO_UTIL.ENABLE_VECTORTILE_CACHE
プロシージャをコールします。
SDO_VECTOR_TILE_CACHE$INFO
: この表にはメタデータが含まれています。この表のすべてのタイル・キャッシュには、キャッシュのtable_name
、geom_col_name
、min_zoom
およびmax_zoom
を記述する1行があります。この表は小さく、
SDO_VECTOR_TILE_CACHE$TABLE
と同じ表領域に格納されます。SDO_VECTOR_TILE_CACHE$TABLE
: この表には、スキーマで有効になっているすべてのベクター・タイル・キャッシュのベクター・タイルが含まれています。この表は非常に大きくなり、キャッシュを有効にしたスキーマによって所有されます。SDO_VECTOR_TILE_CACHE$INFO
と同じ表領域に格納されます。ts_name
パラメータが必要な理由は、SDO_VECTOR_TILE_CACHE$TABLE
の潜在的なサイズのためです。これにより、ユーザーは、ロードを処理するのに十分な大きさの表領域に、この表およびSDO_VECTOR_TILE_CACHE$INFO
表を配置できます。
SDO_VECTOR_TILE_CACHE$INFO
とSDO_VECTOR_TILE_CACHE$TABLE
は両方とも、キャッシュを有効にしたスキーマによって所有されます。したがって、スキーマはこれらの表内のデータを問い合せて操作できます。ただし、これらの表はベクター・キャッシュAPIを介してのみ操作される点に注意することが重要です。
SDO_UTIL.ENABLE_VECTORTILE_CACHE
をコールすると、SDO_VECTOR_TILE_CACHE$INFO
にエントリが作成されます。有効にすると、SDO_UTIL.GET_VECTORTILE
APIを使用したときにキャッシュが移入されます。時間の経過とともに、キャッシュ内で使用可能なタイルが多くなり、計算する必要性が少なくなるため、パフォーマンスが向上します。
キャッシュする表SDO_VECTOR_TILE_CACHE$INFO
およびSDO_VECTOR_TILE_CACHE$TABLE
がまだ存在しない場合は、SDO_UTIL.ENABLE_VECTORTILE_CACHE
が初めてコールされたときに作成されます。
すでに有効になっているキャッシュに対して、異なるmin_zoom
またはmax_zoom
(あるいは異なる両方)を使用してSDO_UTIL.ENABLE_VECTORTILE_CACHE
をコールすると、キャッシュのそれらの値が調整されます。キャッシュ内にすでに存在し、新しいmin_zoom
またはmax_zoom
に違反するタイルはキャッシュにそのまま残りますが、新しく計算されたタイルは新しい構成に従います。
タイル・キャッシュの表領域を変更するには、すべてのキャッシュを無効にする必要があります。SDO_VECTOR_TILE_CACHE$INFO
およびSDO_VECTOR_TILE_CACHE$TABLE
キャッシュ表を削除する必要があります。その後、目的の表領域をパラメータとして指定してSDO_UTIL.ENABLE_VECTORTILE_CACHE
を再度コールします。これは、現在キャッシュされているすべてのタイルを排除する破壊的なプロセスであることに注意してください。
例
SDO_UTIL.ENABLE_VECTORTILE_CACHE
をコールして、counties
表のキャッシュを有効にします。-- Enable a cache on the Counties table using the Geometry column EXEC SDO_UTIL.ENABLE_VECTORTILE_CACHE('counties', 'geom'); -- Compute a vector tile SELECT SDO_UTIL.GET_VECTORTILE(TABLE_NAME=>'COUNTIES', GEOM_COL_NAME=>'GEOM', TILE_ZOOM=>8, TILE_X=>73, TILE_Y=>97, ATT_COL_NAMES=>sdo_string_array('COUNTY','LANDSQMI')) FROM dual; -- Confirm that the cache now contains a copy of the computed tile. -- If the same tile is requested again, then this cached version is returned. SELECT COUNT(*) FROM SDO_VECTOR_TILE_CACHE$TABLE WHERE table_name='counties';
親トピック: SDO_UTILパッケージ(ユーティリティ)