Mengembalikan array kode grid geografis yang berpotongan dengan geometri tertentu.
Sintaksis
geomgrid[] ST_AsGrid(geometry geom, integer precision, bool degenerated default false);Parameter
| Parameter | Tipe | Deskripsi |
|---|---|---|
geom | geometry | Geometri input. |
precision | integer | Tingkat presisi. Nilai yang valid: 1 hingga 32. Nilai yang lebih besar menunjukkan hasil kueri yang lebih akurat. |
degenerated | boolean | Menentukan 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.