Tutorial ini memperkenalkan tentang analisis geospasial. Analisis geospasial memungkinkan Anda menganalisis dan memvisualisasikan data geospasial di BigQuery dengan mudah.
Tujuan
Dalam tutorial ini, Anda telah:
- Menggunakan fungsi analisis geospasial untuk mengonversi kolom lintang dan bujur menjadi titik geografis
- Menjalankan kueri yang memetakan jalur badai
- Memvisualisasikan hasil Anda di BigQuery Geo Viz
Biaya
BigQuery adalah produk berbayar, dan Anda akan dikenai biaya penggunaan BigQuery dalam tutorial ini. BigQuery menawarkan beberapa resource tanpa biaya hingga batas tertentu. Untuk informasi lebih lanjut, lihat Operasi gratis dan paket gratis BigQuery.
Sebelum memulai
Sebelum memulai tutorial ini, gunakan konsol Google Cloud untuk membuat atau memilih project.
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
- BigQuery secara otomatis diaktifkan dalam project baru.
Untuk mengaktifkan BigQuery di project yang sudah ada, buka
Aktifkan API BigQuery.
- Opsional: Aktifkan penagihan untuk project. Jika Anda tidak ingin mengaktifkan penagihan atau memberikan kartu kredit, langkah-langkah dalam dokumen ini tetap berfungsi. BigQuery menyediakan sandbox untuk melakukan langkah-langkah tersebut. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan sandbox BigQuery.
Mempelajari data sampel
Tutorial ini menggunakan set data yang tersedia melalui Program Set Data Publik Google Cloud. Set data publik adalah set data yang disimpan di BigQuery dan tersedia untuk umum. Set data publik adalah set data yang dihosting BigQuery untuk Anda akses dan integrasikan ke dalam aplikasi Anda. Google membayar penyimpanan set data ini dan memberikan akses publik ke data tersebut melalui project. Anda hanya membayar untuk kueri yang Anda jalankan pada data tersebut (1 TB pertama per bulan gratis, sesuai dengan detail harga kueri.)
Set data Global HurricaneTrack (IBTrACS)
Set data Jalur Badai Global (IBTrACS)
Posisi dan intensitas historis di sepanjang jalur siklon tropis global (TC) disediakan oleh International Best Track Archive for Climate Stewardship (IBTrACS) dari NOAA. Siklon tropis dikenal sebagai badai di cekungan laut Atlantik utara dan Pasifik timur laut, topan di cekungan laut Pasifik, topan di cekungan Samudra Hindia utara dan selatan, serta siklon tropis di cekungan laut Pasifik barat daya.
IBTrACS mengumpulkan data tentang TC yang dilaporkan oleh pusat pemantauan internasional yang bertanggung jawab untuk memperkirakan dan melaporkan TC (dan juga menyertakan beberapa set data historis penting). Saat ini, IBTrACS mencakup data dari 9 negara berbeda. Secara historis, data yang menjelaskan sistem ini telah menyertakan perkiraan terbaik untuk trek dan intensitasnya (oleh karena itu istilahnya, trek terbaik).
Anda dapat mulai menjelajahi data ini di konsol Google Cloud dengan
melihat detail tabel hurricanes
:
Kueri jalur badai Maria pada 2017
Di bagian tutorial ini, Anda akan menjalankan kueri GoogleSQL yang menemukan jalur badai Maria pada musim 2017. Untuk memetakan jalur badai, Anda harus membuat kueri lokasi badai pada titik waktu yang berbeda.
Detail kueri
Kueri GoogleSQL berikut digunakan untuk menemukan jalur badai Maria.
SELECT ST_GeogPoint(longitude, latitude) AS point, name, iso_time, dist2land, usa_wind, usa_pressure, usa_sshs, (usa_r34_ne + usa_r34_nw + usa_r34_se + usa_r34_sw)/4 AS radius_34kt, (usa_r50_ne + usa_r50_nw + usa_r50_se + usa_r50_sw)/4 AS radius_50kt FROM `bigquery-public-data.noaa_hurricanes.hurricanes` WHERE name LIKE '%MARIA%' AND season = '2017' AND ST_DWithin(ST_GeogFromText('POLYGON((-179 26, -179 48, -10 48, -10 26, -100 -10.1, -179 26))'), ST_GeogPoint(longitude, latitude), 10) ORDER BY iso_time ASC
Klausa kueri akan melakukan hal berikut:
SELECT ST_GeogPoint(longitude, latitude) AS point, name, iso_time, dist2land, usa_wind, usa_pressure, usa_sshs, (usa_r34_ne + usa_r34_nw + usa_r34_se + usa_r34_sw)/4 AS radius_34kt, (usa_r50_ne + usa_r50_nw + usa_r50_se + usa_r50_sw)/4 AS radius_50kt
- Klausa
SELECT
memilih semua data cuaca badai dan menggunakan fungsiST_GeogPoint
untuk mengonversi nilai dalamlatitude
dan kolomlongitude
menjadi jenisGEOGRAPHY
(poin).
FROM
bigquery-public-data.noaa_hurricanes.hurricanes
- Klausa
FROM
akan menentukan tabel yang dikueri:hurricanes
.
WHERE name LIKE '%MARIA%' AND season = '2017' AND ST_DWithin(ST_GeogFromText('POLYGON((-179 26, -179 48, -10 48, -10 26, -100 -10.1, -179 26))'), ST_GeogPoint(longitude, latitude), 10)
- Klausa
WHERE
akan memfilter data hanya ke titik-titik di Atlantik yang sesuai dengan badai Maria pada musim badai 2017.
ORDER BY iso_time ASC
- Klausal
ORDER BY
mengurutkan poin-poin untuk membentuk jalur badai kronologis.
Menjalankan kueri
Untuk menjalankan kueri dengan menggunakan konsol Google Cloud:
Buka halaman BigQuery di konsol Google Cloud.
Masukkan kueri GoogleSQL berikut di area teks Editor kueri.
SELECT ST_GeogPoint(longitude, latitude) AS point, name, iso_time, dist2land, usa_wind, usa_pressure, usa_sshs, (usa_r34_ne + usa_r34_nw + usa_r34_se + usa_r34_sw)/4 AS radius_34kt, (usa_r50_ne + usa_r50_nw + usa_r50_se + usa_r50_sw)/4 AS radius_50kt FROM `bigquery-public-data.noaa_hurricanes.hurricanes` WHERE name LIKE '%MARIA%' AND season = '2017' AND ST_DWithin(ST_GeogFromText('POLYGON((-179 26, -179 48, -10 48, -10 26, -100 -10.1, -179 26))'), ST_GeogPoint(longitude, latitude), 10) ORDER BY iso_time ASC
Klik Run.
Kueri membutuhkan waktu beberapa saat untuk diselesaikan. Setelah kueri berjalan, hasil Anda akan muncul di panel Hasil kueri.
Memvisualisasikan hasil kueri di Geo Viz
Selanjutnya, visualisasikan hasil menggunakan BigQuery Geo Viz — Alat web untuk visualisasi data geospasial di BigQuery menggunakan Google Maps API.
Meluncurkan Geo Viz dan mengautentikasi
Sebelum menggunakan Geo Viz, Anda harus mengautentikasi dan memberikan akses ke data di BigQuery.
Untuk menyiapkan Geo Viz:
Buka alat web Geo Viz.
Pada langkah pertama, Pilih data, klik Izinkan.
Dalam dialog Pilih akun, klik Akun Google Anda.
Dalam dialog akses, klik Izinkan untuk memberi Geo Viz akses ke data BigQuery Anda.
Menjalankan kueri Anda di Geo Viz
Setelah Anda mengautentikasi dan memberikan akses, langkah berikutnya adalah menjalankan kueri di Geo Viz.
Untuk menjalankan kueri:
Untuk langkah pertama, Pilih data, masukkan project ID Anda di kolom Project ID.
Pada jendela kueri, masukkan kueri GoogleSQL berikut.
SELECT ST_GeogPoint(longitude, latitude) AS point, name, iso_time, dist2land, usa_wind, usa_pressure, usa_sshs, (usa_r34_ne + usa_r34_nw + usa_r34_se + usa_r34_sw)/4 AS radius_34kt, (usa_r50_ne + usa_r50_nw + usa_r50_se + usa_r50_sw)/4 AS radius_50kt FROM `bigquery-public-data.noaa_hurricanes.hurricanes` WHERE name LIKE '%MARIA%' AND season = '2017' AND ST_DWithin(ST_GeogFromText('POLYGON((-179 26, -179 48, -10 48, -10 26, -100 -10.1, -179 26))'), ST_GeogPoint(longitude, latitude), 10) ORDER BY iso_time ASC
Klik Run.
Setelah kueri selesai, klik Tampilkan hasil. Anda juga dapat mengklik langkah kedua Data.
Ini akan membawa Anda ke langkah kedua. Pada langkah kedua, untuk Kolom geometri, pilih titik. Diagram ini akan menggambarkan titik-titik yang sesuai dengan jalur badai Maria.
Memformat visualisasi Anda dalam Geo Viz
Bagian Gaya menyediakan daftar gaya visual untuk penyesuaian. Properti
tertentu hanya berlaku untuk jenis data tertentu. Misalnya, circleRadius
hanya memengaruhi poin.
Properti gaya yang didukung meliputi:
- fillColor — Warna pengisi poligon atau titik. Misalnya, fungsi "linear" atau "interval" dapat digunakan untuk memetakan nilai numerik pada gradien warna.
- fillOpacity — Opasitas isian poligon atau titik. Nilai harus
berada dalam rentang nol — satu dengan
0
= transparan dan1
= buram. - strokeColor — Warna goresan atau garis luar poligon atau garis.
- strokeOpacity — Goresan atau opasitas garis luar poligon atau garis.
Nilai harus berada dalam rentang nol — satu dengan
0
= transparan dan1
= buram. - strokeWeight — Lebar goresan atau garis luar dalam piksel poligon atau garis.
- circleRadius — Radius lingkaran yang merepresentasikan titik dalam meter. Misalnya, fungsi "linear" dapat digunakan untuk memetakan nilai numerik ke ukuran titik untuk membuat gaya diagram pencar.
Setiap gaya dapat diberi nilai global (diterapkan pada setiap hasil) atau nilai berbasis data (diterapkan dengan cara yang berbeda, bergantung pada data di setiap baris hasil). Untuk nilai berbasis data, hal berikut digunakan untuk menentukan hasil:
- function — Fungsi yang digunakan untuk menghitung nilai gaya dari nilai kolom.
- identity — Nilai data setiap kolom digunakan sebagai nilai gaya visual.
- categorical — Nilai data setiap kolom yang tercantum dalam domain dipetakan one-to-one dengan gaya yang sesuai dalam rentang tersebut.
- interval — Nilai data setiap kolom dibulatkan ke bawah ke nilai terdekat dalam domain, lalu diberi gaya dengan gaya yang sesuai dalam rentang tersebut.
- linear — Nilai data setiap kolom diinterpolasi secara linear pada nilai-nilai dalam domain, kemudian diberi gaya dengan gabungan gaya yang sesuai dalam rentang tersebut.
- kolom — Kolom yang ditentukan dalam data digunakan sebagai input untuk fungsi gaya visual.
- domain — Daftar urutan contoh nilai input dari kolom. Contoh input (domain) disambungkan dengan contoh output (rentang) berdasarkan fungsi yang diberikan, dan digunakan untuk menyimpulkan nilai gaya untuk semua input (bahkan yang tidak tercantum dalam domain). Nilai di domain harus memiliki jenis yang sama (teks, angka, dan sebagainya) dengan nilai kolom yang Anda visualisasikan.
- range — Daftar contoh nilai output untuk aturan gaya. Nilai dalam
rentang harus memiliki jenis (warna atau angka) yang sama dengan properti gaya yang Anda
kontrol. Misalnya, rentang properti
fillColor
hanya boleh berisi warna.
Untuk memformat peta Anda:
Klik Tambahkan gaya di langkah kedua atau klik langkah 3 Gaya.
Ubah warna poin. Klik fillColor.
Di panel fillColor:
- Klik Berdasarkan data.
- Untuk Fungsi, pilih linear.
- Untuk Kolom, pilih
usa_wind
. - Untuk Domain, masukkan
0
di kotak pertama dan150
di kotak kedua. Untuk Rentang, klik kotak pertama dan masukkan
#0006ff
di kotak Hex. Klik kotak kedua dan masukkan#ff0000
. Ini mengubah warna titik berdasarkan kecepatan angin. Biru untuk angin yang lebih ringan dan merah untuk angin yang lebih kencang.
Periksa peta Anda. Jika Anda mengarahkan kursor ke salah satu titik, data cuaca titik tersebut akan ditampilkan.
Klik fillOpacity.
Di kolom Nilai, masukkan .5.
Periksa peta Anda. Warna pengisi titik sekarang menjadi semi-transparan.
Ubah ukuran titik berdasarkan radius badai. Klik circleRadius.
Di panel circleRadius:
- Klik Berdasarkan data.
- Untuk Fungsi, pilih linear.
- Untuk Kolom, pilih
radius_50kt
. - Untuk Domain, masukkan
0
di kotak pertama dan135
di kotak kedua. Untuk Rentang, masukkan
5
di kotak pertama dan135000
di kotak kedua.
Periksa peta Anda. Radius setiap titik sekarang sesuai dengan radius sebuah badai.
Tutup Geo Viz.
Pembersihan
Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus resource satu per satu.
- Anda dapat menghapus project yang dibuat.
- Atau Anda dapat menyimpan proyek ini untuk digunakan di masa mendatang.
Untuk menghapus project:
- Di konsol Google Cloud, buka halaman Manage resource.
- Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.
Langkah selanjutnya
- Untuk mempelajari lebih lanjut cara memvisualisasikan opsi untuk analisis geospasial, lihat Memvisualisasikan data geospasial.
- Untuk menggunakan data geospasial, lihat Menangani data geospasial.
- Untuk mempelajari lebih lanjut fungsi geografi yang dapat Anda gunakan dalam analisis geospasial, lihat Fungsi geografis di GoogleSQL.