Topik ini menjelaskan fungsi ST_BuildPyramid, yang membuat piramida vektor untuk tabel data geometri spasial guna mempercepat visualisasi data.
Sintaksis
boolean ST_BuildPyramid(cstring table, cstring geom, cstring fid, cstring config)Parameter
| Parameter | Deskripsi |
| table | Nama tabel data geometri spasial. |
| geom | Nama kolom geometri. |
| fid | Nama kolom ID elemen. |
| config | Kolom-kolom yang digunakan untuk membuat piramida. Kolom-kolom ini ditentukan sebagai string JSON. |
Tabel berikut menjelaskan kolom dalam parameter config.
| Kolom | Tipe | Nilai default | Deskripsi |
| name | string | Sama dengan nama tabel | Nama piramida. |
| parallel | int | 0 | Jumlah maksimum tugas yang dapat berjalan secara paralel untuk membuat piramida. Anda juga harus menentukan parameter max_prepared_transactions. Jika Anda mengatur parameter parallel ke 0, jumlah maksimum tugas paralel tidak dibatasi. |
| tileSize | int | 1024 | Ukuran tile piramida. Nilai valid harus lebih besar dari 0 dan kurang dari 4096. |
| tileExtend | int | 8 | Ukuran ekstensi tile piramida. Nilai valid harus lebih besar dari 0. |
| userExtent | array[double] | null | Batas geografis yang Anda tentukan. Nilai parameter ini adalah string JSON. String JSON ini terdiri dari empat kolom: minx, miny, maxx, dan maxy. Jika Anda mengatur parameter ini ke [], nilainya adalah null. |
| splitSize | int | 10000 | Jumlah maksimum elemen ke dalam mana node indeks dapat dibagi. Nilai parameter ini yang lebih besar menunjukkan piramida yang lebih jarang. |
| maxLevel | int | 16 | Jumlah maksimum lapisan dalam piramida. Nilai valid: 0 hingga 20. |
| sourceSRS | int | -1 | Sistem koordinat data sumber dalam tabel data geometri spasial. Jika Anda tidak menentukan parameter ini, sistem membaca pengenal referensi spasial (SRID) di metadata. |
| destSRS | int | 3857 | Kode EPSG sistem koordinat judul. Hanya mendukung EPSG 3857 dan EPSG 4326. |
| buildRules | array[object] | null | Aturan berdasarkan mana Anda ingin membuat piramida. Anda dapat menentukan beberapa aturan. Setiap aturan terdiri dari dua bagian: level dan value. |
| └level | array[int] | Tidak ada | Lapisan piramida tempat aturan yang ditentukan diterapkan. |
| └value | object | Tidak ada | Nilai aturan yang ditentukan. |
| └filter | string | Tidak ada | Ekspresi yang digunakan untuk menyaring data di PostgreSQL. |
| └attrFields | array[string] | Tidak ada | Nama kolom atribut saat format MVT digunakan. |
| └merge | array[string] | Tidak ada | Kondisi filter yang digunakan untuk menambahkan catatan data ke grup. |
Contoh berikut menunjukkan cara mengatur parameter config:
{
"name" : "hello",
"parallel": 4,
"tileSize": 512,
"tileExtend": 8,
"userExtent": [-180,-90,180,90],
"splitSize": 5000,
"maxLevel": 16,
"destSRS": 3857,
"buildRules": [
{
"level": [0,1,2],
"value": {
"filter": "code!=0",
"attrFields": ["name","color"],
"merge":["code=1"]
}
}
]
}Contoh
--Buat piramida untuk tabel data geometri spasial bernama roads.
select ST_BuildPyramid('roads', 'geom', 'id', '');
st_buildpyramid
----------
t