Menggunakan analisis geospasial untuk merencanakan jalur badai


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.

  1. 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.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  4. BigQuery secara otomatis diaktifkan dalam project baru. Untuk mengaktifkan BigQuery di project yang sudah ada, buka

    Enable the BigQuery API.

    Enable the API

  5. 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:

Buka skema badai

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 fungsi ST_GeogPoint untuk mengonversi nilai dalam latitude dan kolom longitude menjadi jenis GEOGRAPHY (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:

  1. Buka halaman BigQuery di konsol Google Cloud.

    Buka halaman BigQuery

  2. 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
    
  3. Klik Run.

    Kueri membutuhkan waktu beberapa saat untuk diselesaikan. Setelah kueri berjalan, hasil Anda akan muncul di panel Hasil kueri.

    Hasil kueri Badai Maria di BigQuery

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:

  1. Buka alat web Geo Viz.

    Buka alat web Geo Viz

  2. Pada langkah pertama, Pilih data, klik Izinkan.

    Tombol otorisasi Geo Viz

  3. Dalam dialog Pilih akun, klik Akun Google Anda.

    Dialog untuk memilih akun

  4. Dalam dialog akses, klik Izinkan untuk memberi Geo Viz akses ke data BigQuery Anda.

    Izinkan akses ke dialog Geo Viz

Menjalankan kueri Anda di Geo Viz

Setelah Anda mengautentikasi dan memberikan akses, langkah berikutnya adalah menjalankan kueri di Geo Viz.

Untuk menjalankan kueri:

  1. Untuk langkah pertama, Pilih data, masukkan project ID Anda di kolom Project ID.

  2. 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
    
  3. Klik Run.

  4. Setelah kueri selesai, klik Tampilkan hasil. Anda juga dapat mengklik langkah kedua Data.

  5. 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.

    Hasil yang dipetakan di BigQuery Geo Viz

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 dan 1 = 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 dan 1 = 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:

  1. Klik Tambahkan gaya di langkah kedua atau klik langkah 3 Gaya.

  2. Ubah warna poin. Klik fillColor.

  3. Di panel fillColor:

    1. Klik Berdasarkan data.
    2. Untuk Fungsi, pilih linear.
    3. Untuk Kolom, pilih usa_wind.
    4. Untuk Domain, masukkan 0 di kotak pertama dan 150 di kotak kedua.
    5. 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.

      Menambahkan warna pengisi di BigQuery Geo Viz

  4. Periksa peta Anda. Jika Anda mengarahkan kursor ke salah satu titik, data cuaca titik tersebut akan ditampilkan.

    Detail titik peta

  5. Klik fillOpacity.

  6. Di kolom Nilai, masukkan .5.

    Memformat opasitas isian peta di BigQuery Geo Viz

  7. Periksa peta Anda. Warna pengisi titik sekarang menjadi semi-transparan.

  8. Ubah ukuran titik berdasarkan radius badai. Klik circleRadius.

  9. Di panel circleRadius:

    1. Klik Berdasarkan data.
    2. Untuk Fungsi, pilih linear.
    3. Untuk Kolom, pilih radius_50kt.
    4. Untuk Domain, masukkan 0 di kotak pertama dan 135 di kotak kedua.
    5. Untuk Rentang, masukkan 5 di kotak pertama dan 135000 di kotak kedua.

      Menambahkan radius lingkaran di BigQuery Geo Viz

  10. Periksa peta Anda. Radius setiap titik sekarang sesuai dengan radius sebuah badai.

    Peta akhir BigQuery Geo Viz

  11. 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:

  1. Di konsol Google Cloud, buka halaman Manage resource.

    Buka Manage resource

  2. Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
  3. Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.

Langkah selanjutnya