地理グリッドのグリッディングレベルを返します。地理グリッドの配列を入力すると、その全グリッドにわたるレベル範囲を整数配列として返します。
構文
integer ST_Level(geomgrid gridcode);
integer[] ST_Level(geomgrid[] gridcode);
integer ST_Level(h3grid gridcode);パラメーター
| パラメーター | 説明 |
|---|---|
gridcode | 地理グリッドオブジェクトです。geomgrid の単一値、geomgrid の配列、または h3grid オブジェクトのいずれかを指定できます。 |
戻り値
| 入力型 | 戻り値型 | 説明 |
|---|---|---|
geomgrid | integer | 地理グリッドのレベルです。 |
geomgrid[] | integer[] | 配列内のすべてのグリッドにわたるレベル範囲です。 |
h3grid | integer | H3 グリッドのレベルです。 |
例
単一の地理グリッドのレベルを取得する
SELECT st_level(ST_GridFromText('GZ0026206440'));実行結果:
st_level
----------
103D グリッド配列のレベル範囲を取得する
以下の例では、SRID 4490 を持つジオメトリコレクションから st_as3dgrid を使用してグリッド配列を生成し、そのレベル範囲を返します。
SELECT st_level(st_as3dgrid('srid=4490;GEOMETRYCOLLECTION Z (MULTIPOLYGON Z (((116 39 5000,116.12 39 5000,116.12 39.09 5000,116 39.09 5000,116 39 5000),
(116.024 39.018 5000,116.024 39.045 5000,116.06 39.045 5000,116.06 39.018 5000,116.024 39.018 5000))),
POINT Z (116 39 5000),MULTILINESTRING Z ((116 39 5000,116.024 39 5000),(116.012 39.009 5000,116.024 39.018 5000)),
POLYHEDRALSURFACE Z (((116 39 0,116 39 1000,116 39.009 0,116 39 0)),((116 39 0,116 39.009 0,116.012 39 0,116 39 0)),
((116 39 0,116.012 39 0,116 39 1000,116 39 0)),((116.012 39 0,116 39.009 0,116 39 1000,116.012 39 0))))'::geometry,
20, true));実行結果:
st_level
----------
{19,20}H3 グリッドのレベルを取得する
SELECT st_level(st_h3frombinary('\x010100ffff9f6826a18408'));実行結果:
st_level
----------
8