Fungsi ini mengonversi objek grid geografis menjadi objek geometris dalam sistem koordinat tile.
Sintaksis
geometry ST_AsMVTGeom(geomgrid grid, geometry bounds, int4 extent, int4 buffer, boolean clip_geom);
geometry ST_AsMVTGeom(h3grid grid, geometry bounds, int4 extent, int4 buffer, boolean clip_geom);Nilai Pengembalian
Mengembalikan objek geometris dalam sistem koordinat tile.
Parameter
Parameter | Deskripsi |
grid | Objek grid geomgrid atau H3 geografis yang ingin Anda keluarkan ke MVT. |
bounds | Batas persegi panjang dari tile, tidak termasuk buffer. |
extent | Ukuran tile dalam sistem koordinat tile. Nilai default: 4096. |
buffer | Ukuran buffer dalam sistem koordinat tile. Nilai default: 256. |
clip_geom | Menentukan apakah geometri yang sesuai dengan grid dipotong oleh batas tile. Nilai default: true. |
Catatan Penggunaan
Mengonversi geometri yang sesuai dengan objek grid geografis menjadi geometri dalam sistem koordinat tile.
Berbeda dengan ST_AsMVTGeom, yang menerima parameter Geometry, batas persegi panjang dari tile bertipe Geometry, bukan Box2D.
Sistem koordinat keluaran ditentukan oleh nilai parameter bounds. Disarankan menggunakan fungsi ST_TileEnvelope untuk menghasilkan nilai parameter bounds.
Jika menggunakan metode lain selain ST_TileEnvelope untuk menghasilkan nilai parameter bounds, tentukan Spatial Reference Identifier (SRID).
Contoh
select st_asmvtgeom('010200040000'::geomgrid, st_tileenvelope(0, 0, 0));
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0103000020110F000001000000050000000000000000D8A2400000000000FC99400000000000D8A240000000000000A040000000000000A040000000000000A040000000000000A0400000000000FC99400000000000D8A2400000000000FC9940
select st_asmvtgeom('010200040000'::geomgrid, st_transform(st_tileenvelope(0, 0, 0), 4326));
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0103000020E610000001000000050000000000000000D8A2400000000000F493400000000000D8A240000000000000A040000000000000A040000000000000A040000000000000A0400000000000F493400000000000D8A2400000000000F49340
select st_asmvtgeom('010200040000'::geomgrid, st_transform(st_tileenvelope(0, 0, 0), 4326), 1024, 128, false);
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0103000020E610000001000000050000000000000000D882400000000000F073400000000000D8824000000000000080400000000000008040000000000000804000000000000080400000000000F073400000000000D882400000000000F07340
select st_asmvtgeom(st_h3fromlatlng(20.5, 128.2, 5), st_tileenvelope(0, 0, 0));
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0103000020110F00000100000006000000000000000064AB400000000000449C40000000000066AB400000000000489C40000000000066AB4000000000004C9C40000000000062AB4000000000004C9C40000000000062AB400000000000489C40000000000064AB400000000000449C40
select st_asmvtgeom(st_h3fromlatlng(20.5, 128.2, 5), 'SRID=4326;POLYGON((-180 -85,-180 85, 180 85, 180 -85, -180 -85))');
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0103000020E61000000100000007000000000000000064AB400000000000449840000000000066AB400000000000489840000000000066AB400000000000509840000000000064AB400000000000549840000000000062AB400000000000549840000000000062AB4000000000004C9840000000000064AB40000000000044984