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

PolarDB:ST_AsGrid

最終更新日:Sep 26, 2024

このトピックでは、ST_AsGrid関数について説明します。 この関数は、ジオメトリと交差するグリッドオブジェクトを照会します。

構文

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

パラメーター

パラメーター

説明

geom

クエリするジオメトリ。The geometry that you want to query.

精度

精度レベル。 有効な値: 1 ~ 32。 値が大きいほど、より正確なクエリ結果を示す。

退化

縮退グリッドを使用するかどうかを指定します。

次の図は、縮退グリッドと標準グリッドを比較しています。退化网格

説明

ジオメトリはCGC2000空間参照システムを使用する必要があります。 さらに、ジオメトリの空間参照システム識別子 (SRID) を4490する必要があります。 ジオメトリがCGC2000空間参照系を使用しない場合、ST_Transform関数が呼び出されて、ジオメトリの座標がCGC2000座標に変換される。

この関数は、ジオメトリと交差する地理グリッドで構成される配列を返します。 次の図は、地理グリッドが点、線、およびポリゴンとどのように交差するかの例を示しています。

网格编码图

select st_astext(st_asgrid(
    ST_geomfromtext('POINT(116.31522216796875 39.910277777777778)',4490), 15));
    
     st_astext      
--------------------
 {G001310322230230}

select st_astext(st_asgrid(
    ST_geomfromtext('LINESTRING(122.48077 51.72814,122.47416 51.73714)',4490), 18));

                  st_astext                                                                          
--------------------------------------------------------------------------------
 {G001331032213300011,G001331032213300013,G001331032213122320,G00133103221312232
2,G001331032213300100,G001331032213122303,G001331032213122321,G00133103221312231
2}

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}

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}