All Products
Search
Document Center

ApsaraDB RDS:ST_AsGrid

Last Updated:Mar 29, 2026

Mengembalikan array kode grid geografis yang berpotongan dengan geometri tertentu.

Sintaksis

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

Parameter

ParameterTipeDeskripsi
geomgeometryGeometri input.
precisionintegerTingkat presisi. Nilai yang valid: 1 hingga 32. Nilai yang lebih besar menunjukkan hasil kueri yang lebih akurat.
degeneratedbooleanMenentukan apakah akan menggunakan grid degenerated. Default: false. Lihat Catatan penggunaan untuk perbedaan perilaku.

Catatan penggunaan

Persyaratan sistem koordinat: Geometri input harus menggunakan sistem referensi spasial CGC2000 (SRID 4490). Jika geometri menggunakan sistem referensi spasial yang berbeda, ST_Transform dipanggil secara otomatis untuk mengonversi koordinatnya ke CGC2000.

Grid standar vs. grid degenerated: Parameter degenerated mengontrol apakah grid degenerated digunakan:

  • false (default): Menggunakan grid standar.

  • true: Menggunakan grid degenerated.

Gambar berikut mengilustrasikan perbedaan antara grid degenerated dan grid standar.

退化网格

Gambar berikut menunjukkan bagaimana grid geografis berpotongan dengan titik, garis, dan poligon.

网格编码图

Contoh

Semua contoh membungkus ST_AsGrid dalam ST_AsText untuk menampilkan hasil geomgrid[] sebagai teks.

Titik pada tingkat presisi 15

Contoh berikut mengembalikan kode grid untuk sebuah titik pada tingkat presisi 15.

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

Garis pada tingkat presisi 18

Contoh berikut mengembalikan kode grid untuk segmen garis pada tingkat presisi 18. Garis tersebut berpotongan dengan beberapa sel grid.

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}

Garis tersebut berpotongan dengan 8 sel grid pada tingkat presisi 18.

Poligon — grid standar (degenerated = false)

Contoh berikut mengembalikan kode grid untuk sebuah poligon menggunakan grid standar (degenerated = false), yang mencakup semua sel yang berpotongan dengan batas atau interior poligon.

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}

Grid standar mengembalikan 28 kode grid.

Poligon — grid degenerated (degenerated = true)

Contoh berikut mengembalikan kode grid untuk poligon yang sama menggunakan grid degenerated (degenerated = true), yang menghasilkan jumlah hasil lebih sedikit.

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}

Grid degenerated mengembalikan 13 kode grid — lebih sedikit dibandingkan grid standar untuk poligon dan presisi yang sama.