All Products
Search
Document Center

Lindorm:Indeks spasial-temporal

Last Updated:Jun 17, 2026

Layanan spasial-temporal Lindorm GanosBase memperluas kemampuan primary key index dan secondary index dari Lindorm untuk mempercepat kueri spasial-temporal. Kueri spasial-temporal adalah kueri yang mencakup kondisi berdasarkan kolom spasial, seperti kolom koordinat lintang dan bujur atau kolom bertipe Geometry, serta dapat melibatkan kombinasi kolom spasial dan temporal, misalnya kolom Geometry dan kolom waktu.

Z-ORDER index

Saat membuat primary key index atau secondary index, Anda dapat menggunakan fungsi Z-ORDER untuk mengindeks kolom spasial atau kombinasi kolom spasial dan temporal. Fungsi Z-ORDER menghasilkan nilai terenkripsi—dikenal sebagai enkode Z-ORDER atau enkode spasial-temporal—yang menjadi bagian dari primary key atau secondary index. Indeks spasial-temporal tidak berdiri sendiri, melainkan tertanam dalam primary key atau secondary index Lindorm guna mempercepat kueri spasial-temporal.

Klasifikasi indeks berbasis fungsi Z-ORDER

Z-ORDER primary key index

Jika enkode Z-ORDER merupakan bagian dari primary key index, indeks tersebut disebut Z-ORDER primary key index. Contohnya: PRIMARY KEY(Z-ORDER(g)).

Z-ORDER secondary index

Jika enkode Z-ORDER merupakan bagian dari secondary index, indeks tersebut disebut Z-ORDER secondary index. Contohnya: Z-ORDER(g).

Untuk informasi lebih lanjut tentang cara membuat indeks Z-ORDER, lihat Create a spatiotemporal index.

Deskripsi fungsi Z-ORDER

Lindorm GanosBase secara otomatis menghitung enkode spasial-temporal berdasarkan parameter input fungsi Z-ORDER. Tabel berikut mencantumkan jenis fungsi Z-ORDER, parameter, dan skenarionya.

Catatan

Jika dua objek spasial sangat berdekatan (pada tingkat sentimeter), fungsi Z-ORDER mungkin menghasilkan enkode spasial-temporal yang sama.

Type

Parameter description

Scenarios

Z-ORDER(Point) atau Z-ORDER(X, Y)

  • Kolom bertipe Point

  • Terdiri atas kolom bujur (x) dan kolom lintang (y)

Membuat indeks untuk data titik guna mempercepat kueri dengan kondisi rentang spasial.

Z-ORDER(Point, Time) atau Z-ORDER(X, Y, Time)

  • Terdiri atas kolom bertipe Point dan kolom waktu

  • Terdiri atas kolom bujur (x), kolom lintang (y), dan kolom waktu

Membuat indeks untuk data titik beserta waktu guna mempercepat kueri dengan kondisi rentang spasial dan waktu sekaligus.

Z-ORDER(LineString) atau Z-ORDER(Polygon)

  • Kolom bertipe LineString

  • Kolom bertipe Polygon

Membuat indeks untuk data LineString atau Polygon guna mempercepat kueri dengan kondisi rentang spasial.

Z-ORDER(LineString, Time) atau Z-ORDER(Polygon, Time)

  • Terdiri atas kolom bertipe LineString dan kolom waktu

  • Terdiri atas kolom bertipe Polygon dan kolom waktu

Membuat indeks untuk data LineString atau Polygon beserta waktu guna mempercepat kueri dengan kondisi rentang spasial dan waktu sekaligus.

Grid secondary index

Penting

Fitur grid secondary index hanya didukung oleh LindormTable versi 2.6.5 atau lebih baru.

Saat Anda menerapkan fungsi S2 pada kolom Geometry selama pembuatan indeks, LindormTable secara otomatis membangun grid secondary index. Fungsi S2 mendukung tipe POLYGON, MULTIPOLYGON, LINESTRING, dan MULTILINESTRING. Indeks ini melakukan penyaringan dan perhitungan data berdasarkan grid.

Grid secondary index menggunakan algoritma Google S2 untuk membagi ruang menjadi grid berukuran seragam yang disebut S2Cells. Setiap grid memiliki ID unik bernama S2CellID, dan indeks tersebut mencatat poligon mana saja yang berpotongan dengan setiap grid.

Deskripsi fungsi indeks S2

Sintaks

Fungsi S2 menerima objek geometri dan tingkat presisi sebagai input, menghitung grid yang diliputi oleh geometri tersebut pada presisi yang ditentukan, lalu mengembalikan kumpulan ID grid (S2CellIDs). Untuk informasi lebih lanjut tentang cara membuat indeks grid, lihat Create a spatiotemporal index.

Set<Long> S2(String geomColumnName, int level)

Deskripsi parameter

Parameter

Description

geomColumnName

Nama kolom bertipe Polygon (POLYGON atau MULTIPOLYGON) atau LineString (LINESTRING atau MULTILINESTRING). Data spasial dalam kolom ini harus menggunakan koordinat WGS84.

Penting

Tipe LineString (LINESTRING atau MULTILINESTRING) hanya didukung oleh LindormTable versi 2.6.7.5 atau lebih baru. Jika Anda tidak dapat melakukan upgrade LindormTable di Konsol, hubungi dukungan teknis Lindorm (DingTalk ID: s0s3eg3).

level

Tingkat presisi grid S2. Nilai yang valid: [1, 30].

Pemilihan indeks

Skenario penggunaan indeks Z-ORDER

Indeks Z-ORDER memberikan penyaringan efektif untuk data titik spasial. Jika kueri Anda melibatkan posisi titik spasial, buatlah indeks Z-ORDER dengan fungsi yang sesuai. Untuk informasi lebih lanjut, lihat Z-ORDER function description.

Skenario umum penggunaan indeks Z-ORDER:

  • Kueri rentang spasial-temporal: Kueri lintasan kendaraan dalam area tertentu selama periode tertentu.

  • Kueri kedekatan: Temukan kendaraan dalam jarak tertentu dari suatu lokasi dan kembalikan posisi real-time-nya.

  • Statistik Masuk/Keluar Lintasan: Kumpulkan statistik titik lintasan yang masuk dan keluar dari area tertentu, termasuk waktu masuk, waktu keluar, durasi tinggal, dan jumlah lintasan.

Indeks Z-ORDER juga mendukung penyaringan dasar untuk data LineString atau Polygon, contohnya:

  • Untuk tipe LineString: Kueri jalan yang berada dalam jarak tertentu dari suatu lokasi, dengan setiap jalan direpresentasikan sebagai LINESTRING atau MULTILINESTRING.

  • Untuk tipe Polygon: Temukan distrik bisnis dalam area tertentu, dengan distrik bisnis direpresentasikan sebagai geometri POLYGON atau MULTIPOLYGON.

Skenario penggunaan grid secondary index

Dibandingkan dengan indeks Z-ORDER, grid secondary index memberikan penyaringan yang lebih baik untuk data LineString atau Polygon. Untuk kueri non-agregat, indeks ini menyaring grid yang tidak relevan guna mempercepat performa kueri, contohnya:

  • Pemantauan geofence: Lakukan kueri real-time untuk menemukan geofence mana saja yang dilewati oleh titik lintasan. Hasil dari jutaan data geofence dapat diperoleh dalam hitungan milidetik.

  • Kueri kedekatan: Lakukan kueri real-time untuk menemukan distrik bisnis dalam radius tertentu dari suatu lokasi.

Grid secondary index dapat diperbarui kapan saja untuk menyimpan data statistik, sehingga memungkinkan statistik agregat cepat berbasis grid, contohnya:

  • Statistik jumlah: Hitung jumlah distrik bisnis atau lintasan per grid.

  • Statistik atribut regional: Hitung metrik seperti cakupan vegetasi atau total volume transaksi per grid.