35.29 SDO_UTIL.GET_TILE_ENVELOPE

書式

SDO_UTIL.GET_TILE_ENVELOPE(
    tile_x     IN NUMBER,
    tile_y     IN NUMBER,
    tile_zoom  IN NUMBER,
    google_ts  IN BOOLEAN DEFAULT TRUE
) RETURN MDSYS.SDO_GEOMETRY;

説明

タイル住所をタイル・エンベロープ(正方形を記述するSDOジオメトリ)に変換します。

パラメータ

tile_x

フェッチするタイルの原点のX座標。

このパラメータの有効最小値はゼロです。有効最大値は、指定されたズームに依存し、max(X) = (2^tile_zoom) - 1で計算できます。有効範囲外のX座標を指定すると、例外が発生します。

tile_y

フェッチするタイルの原点のY座標(NUMBER形式)。

このパラメータの有効最小値はゼロです。有効最大値は、指定されたズームに依存し、max(Y) = (2^tile_zoom) - 1で計算できます。有効範囲外のY座標を指定すると、例外が発生します。

tile_zoom

地図の分割に必要なタイルの数を決定します。これらのセグメントは、地図全体を読み取ることなく、より高い解像度で結合できます。

たとえば、ゼロのtile_zoomは、詳細がそれほど表示されずに、地図全体が単一のタイルとなります。ntile_zoomは、地図を2^n x 2^n個のタイル(つまり、X軸に沿ったタイルの数にY軸に沿ったタイルの数を乗算した数)に分割します。たとえば、8tile_zoomでは、65,536個のタイルになります。これは、nの値が大きいほど、タイル内の詳細度が高くなることを意味します。有効範囲外のパラメータ値では例外が発生することに注意してください。

google_ts

Googleタイル処理方法が使用されているかどうかを示すブール値。

タイル住所の読取り時には、次の2つのタイル処理方法がサポートされています。

  • GOOGLE: このタイル処理方法では、タイルの原点(X,Y)が北西の角になります。X座標はタイルが西から東に読み取られるにつれて増加します。Y座標はタイルが北から南に読み取られるにつれて増加します。
  • TMS: このタイル処理方法では、タイルの原点(X,Y)が南西の角になります。X座標はタイルが西から東に読み取られるにつれて増加しますが、Y座標はタイルが南から北に読み取られるにつれて増加します。

使用上のノート

なし。

次の例では、デフォルトのGoogleタイル処理方法を使用して、タイル座標をSDO_GEOMETRYに変換します。

SELECT SDO_UTIL.GET_TILE_ENVELOPE(131, 84, 8) FROM DUAL;

SDO_UTIL.GET_TILE_ENVELOPE(131,84,8)(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDINATES)
-----------------------------------------------------------------------------------------------------------
SDO_GEOMETRY(2003, 3857, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 3), SDO_ORDINATE_ARRAY(465715.526, 6727436.88, 630085.712, 6891807.07))

次の例では、TMSタイル処理方法を使用してタイル座標をSDO_GEOMETRYに変換します。

SELECT SDO_UTIL.GET_TILE_ENVELOPE(131, 171, 8) FROM DUAL;

SDO_UTIL.GET_TILE_ENVELOPE(131,171,8,FALSE)(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDINATES)
------------------------------------------------------------------------------------------------------------------
SDO_GEOMETRY(2003, 3857, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 3), SDO_ORDINATE_ARRAY(465715.526, -6891807.1, 630085.712, -6727436.9))