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}