すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:ST_AsGrid

最終更新日:Mar 29, 2026

指定されたジオメトリと交差する地理グリッドコードの配列を返します。

構文

geomgrid[] ST_AsGrid(geometry geom, integer precision, bool degenerated default false);

パラメーター

パラメーター説明
geomgeometry入力ジオメトリです。
precisioninteger精度レベルです。有効な値は 1 ~ 32 です。値が大きいほど、クエリ結果の精度が高くなります。
degeneratedboolean縮退グリッドを使用するかどうかを指定します。デフォルト値は false です。「注意事項」で動作の違いをご確認ください。

注意事項

座標系の要件: 入力ジオメトリは CGC2000 空間参照システム(SRID 4490)を使用している必要があります。異なる空間参照システムが使用されている場合、ST_Transform が自動的に呼び出され、座標が CGC2000 に変換されます。

標準グリッドと縮退グリッドの違い: degenerated パラメーターにより、縮退グリッドを使用するかどうかが制御されます。

  • false(デフォルト):標準グリッドを使用します。

  • true:縮退グリッドを使用します。

以下に、縮退グリッドと標準グリッドの違いを示す図を示します。

退化网格

以下に、地理グリッドがポイント、ライン、ポリゴンとそれぞれどのように交差するかを示す図を示します。

网格编码图

すべての例では、ST_AsGrid の結果である geomgrid[] をテキスト形式で表示するために、ST_AsText でラップしています。

精度レベル 15 のポイント

以下の例では、精度レベル 15 のポイントに対応するグリッドコードを返します。

SELECT ST_AsText(ST_AsGrid(
    ST_GeomFromText('POINT(116.31522216796875 39.910277777777778)', 4490), 15));
     st_astext
--------------------
 {G001310322230230}

精度レベル 18 のライン

以下の例では、精度レベル 18 のラインセグメントに対応するグリッドコードを返します。このラインは複数のグリッドセルと交差します。

SELECT ST_AsText(ST_AsGrid(
    ST_GeomFromText('LINESTRING(122.48077 51.72814,122.47416 51.73714)', 4490), 18));
                  st_astext
--------------------------------------------------------------------------------
 {G001331032213300011,G001331032213300013,G001331032213122320,G001331032213122322,
G001331032213300100,G001331032213122303,G001331032213122321,G001331032213122312}

このラインは、精度レベル 18 において 8 個のグリッドセルと交差します。

ポリゴン — 標準グリッド(degenerated = false)

以下の例では、標準グリッド(degenerated = false)を使用してポリゴンに対応するグリッドコードを返します。これは、ポリゴンの境界または内部と交差するすべてのセルを含みます。

SELECT ST_AsText(ST_AsGrid(
    ST_GeomFromText('POLYGON((-0.08077 -0.02814, 0.0482 -0.03, 0.07426 0.03724, -0.08077 -0.02814))', 4490), 15));
                          st_astext
--------------------------------------------------------------------------------
 {G000000000000000,G000000000000001,G000000000000003,G000000000000010,G000000000
000011,G000000000000012,G000000000000013,G000000000000031,G000000000000102,G0000
00000000120,G100000000000000,G200000000000000,G200000000000001,G200000000000002,
G200000000000003,G200000000000010,G200000000000011,G200000000000012,G20000000000
0013,G300000000000000,G300000000000001,G300000000000002,G300000000000003,G300000
000000010,G300000000000011,G300000000000012,G300000000000013,G300000000000102}

標準グリッドでは、28 個のグリッドコードが返されます。

ポリゴン — 縮退グリッド(degenerated = true)

以下の例では、同じポリゴンに対して縮退グリッド(degenerated = true)を使用した場合のグリッドコードを返します。この場合、結果数が少なくなります。

SELECT ST_AsText(ST_AsGrid(
    ST_GeomFromText('POLYGON((-0.08077 -0.02814, 0.0482 -0.03, 0.07426 0.03724, -0.08077 -0.02814))', 4490), 15, true));
                         st_astext
--------------------------------------------------------------------------------
 {G000000000000000,G000000000000001,G000000000000003,G00000000000001,G0000000000
00031,G000000000000102,G000000000000120,G100000000000000,G20000000000000,G200000
00000001,G30000000000000,G30000000000001,G300000000000102}

縮退グリッドでは、13 個のグリッドコードが返されます。同一のポリゴンおよび精度レベルにおいて、標準グリッドよりも少ない結果となります。