全部产品
Search
文档中心

PolarDB:ST_AsGrid

更新时间:Jul 02, 2025

Topik ini menjelaskan fungsi ST_AsGrid, yang digunakan untuk menanyakan objek grid yang berpotongan dengan geometri.

Sintaksis

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

Parameter

Parameter

Deskripsi

geom

Geometri yang ingin Anda tanyakan.

presisi

Tingkat presisi. Nilai valid: 1 hingga 32. Nilai yang lebih besar menunjukkan hasil kueri yang lebih akurat.

degenerated

Menentukan apakah akan menggunakan grid yang terdegenerasi.

Gambar berikut membandingkan grid yang terdegenerasi dan grid standar.退化网格

Deskripsi

Geometri harus menggunakan sistem referensi spasial CGC2000. Selain itu, pengenal sistem referensi spasial (SRID) dari geometri tersebut harus 4490. Jika geometri tidak menggunakan sistem referensi spasial CGC2000, fungsi ST_Transform akan dipanggil untuk mengonversi koordinat geometri ke koordinat CGC2000.

Fungsi ini mengembalikan array yang terdiri dari grid geografis yang berpotongan dengan geometri. Gambar berikut memberikan contoh bagaimana grid geografis berpotongan dengan titik, garis, dan poligon.

网格编码图

Contoh

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}