Apa itu Kepler.gl? (OSS-01)
Setelah menggunakan sekitar 30an dari 80 versi kepler.gl akhirnya saya menulis juga tentang web app ini. Saya merasa begitu berhutang pada para maintainer dan kontributornya jadi saya merasa perlu menulis tentang kepler.gl dan menaikkan pamornya di lingkungan sekeliling saya. Saya awalnya hanya menggunakan kepler.gl untuk berbagi peta dengan kawan karena qgis2web hasilnya sering kurang bagus. Padahal saya sering perlu berbagi peta dengan mudah dan cepat. Kepler.gl sangat membantu karena saya tinggal ekspor data dari QGIS ke geojson, lalu membuat tampilannya di Kepler.gl, dengan data yang sangat besar sekalipun.
Jadi Apa Itu Kepler.gl?
Kepler.gl sederhananya adalah aplikasi web yang diperuntukkan untuk menampilkan data spasial yang besar. Jadi, ketika Anda ingin menampilkan peta dalam web dengan ukuran data yang cukup besar, kepler.gl mungkin adalah jawabannya. Dalam beberapa contohnya, kepler.gl dapat melakukan rendering jutaan titik yang kemudian dilakukan agregasi spasial di sistem secara on the go.
Performa Tinggi di Web?
Saya juga bertanya-tanya, bagaimana bisa sebuah aplikasi web dapat melakukan visualisasi data dengan begitu efisien? Selama ini kita tahu bahwa visualisasi data spasial, apalagi berjumlah jutaan adalah pekerjaan yang berat dilakukan oleh komputer.
Ternyata alasannya adalah karena kepler.gl, seperti namanya berdiri di atas WebGL (Web Graphics Library), API Javascript yang digunakan untuk rendering grafik 2D dan 3D secara interaktif di dalam web browser tanpa menggunakan plug-ins. Sederhananya, WebGL membuat browser dapat mengakses kekuatan GPU/VGA. Istilahnya GPU-accelerated. Nah si WebGL ini bisa dikawinkan dengan elemen HTML lain, jadi sangat berguna untuk penampilan grafis yang bisa ditingkatkan performanya memakai GPU.
Pendukung
Secara spesifik, kepler.gl dibangun di atas mapboxGL dan deck.gl. MapboxGL-nya adalah library Javascript yang digunakan untuk membuat peta vektor di web. DeckGL-nya adalah framework visualisasi WebGL yang dibuat untuk jumlah data yang besar. Jadi, dengan memanfaatkan keduanya kepler.gl dapat menampilkan peta vektor di web dengan jumlah besar dan performa tinggi.
Kepler.gl juga adalah sebuah komponen React yang menggunakan Redux untuk mengatur state dan data flow-nya. Jadi, jika pembaca pernah atau berpengalaman menggunakan React-Redux, Kepler.gl ini dapat ditanamkan ke dalam aplikasi dengan React-Redux lain. Berikut tutorial untuk meng-embed kepler.gl ke dalam aplikasi React Anda : http://vis.academy/#/kepler.gl/
Oya jangan salah, kepler.gl ini sudah sukses digunakan oleh Unfolded.ai sebagai produk utamanya. Di belahan bumi lain, Locale.ai menggunakan teknologi yang sangat mirip dengan kepler.gl, location intelligence berdasarkan deck.gl, mapbox.gl, dan nebula.gl. Keduanya adalah platform seperti kepler.gl dengan kemampuan yang lebih advanced. Jadi, jangan remehkan kemampuan open source.
Untuk tulisan kepler.gl kali ini saya akhiri disini terlebih dahulu, karena jika saya masuk ke pembahasan teknis, tulisannya akan semakin panjang dan semakin tidak relevan dengan judul artikel ini. Untuk ke depannya, kepler.gl ini memiliki dua potensi cabang pembahasan : penggunaannya dalam exploratory spatial data analysis dan penanamannya ke aplikasi web Anda. Keduanya akan sangat menarik. Saya sendiri sedang mencoba untuk mengkonsep kepler.gl dalam electron dikombinasikan dengan gdal, geos, & proj yang memungkinkan pembuatan aplikasi pengolah peta dengan indah dan mudah di berbagai environment desktop mulai dari Windows, MacOS, hingga Linux. Semoga bisa dengan waktu yang terbatas ini haha. Berikut sedikit sneak peek untuk bahasan teknis yang mungkin akan di bahas ke depan terkait schema manager kepler.gl untuk save dan load peta.
Tautan penting
Kepler.gl : Website | Github | Documentation
Deck.gl : Website | Github | Documentation
Malang, 26 Agustus 2021