VISUALISASI DATA PASUT-JUPYTER NOTEBOOK #PDO1

  

Fig 1. Visualisasi elevasi pasang surut menggunakan Jupiter Notebook

Data pasang surut menjadi infomasi penting untuk menggambarkan kondisi wilayah pesisir. Visualisasi data pasut berupa naik dan turunnya muka laut digunakan sebagai dasar penentuan benchmark pembagunan pelabuhan, tata kelola pantai sampai  penentuan waktu penelitian turun lapang. Periode waktu komponen pasut yang bisa diketahui memudahkan kita untuk memprediksi elevasi waktu pasut di hari kedepan.

BIG (Badan Informasi Geospasial) mengeluar data pasut prediksi se Indonesia secara bebas dan dapat di unduh pada websitenya di http://tides.big.go.id/. Data real time pasut juga dapat diperoleh dari BIG, namun diperlukan surat pengajuan resmi kepada mereka.

Tampilan website BIG. Lokasi data bisa dipilih dengan menunjukan kursor atau dengan mnginput kordinat wilayah kajian

Pada langkah langkah visualisasi ini saya menggunakan phyton dengan IDE Jupyter Notebook. Python bisa di download di https://www.python.org/downloads/  dan Jupiter Notebook bisa di download langsung di dalam python dengan kode [pip install Jupiter Notebook].

Data yang digunakan yaitu data elevasi 1 bulan dengan interval waktu 1 jam di wilayah Belitung. Hasil dari script ini ada pada Fig1 

1.  Import tools visualisasi data (Pandas, Numpy, Matploplib dll)

    import numpy as np
       import pandas as pd
    from datetime import datetime
    import matplotlib.pyplot as plt

2.  Import data Belitung yang telah di download 

    X, A = np.loadtxt('Elevation46.txt',
                  skiprows=1,
                  unpack=True)
    C= A+0.003234722
   

3. Import data range menggunakan panda berdasarkan waktu mulai dan akhir

    per1 = pd.date_range(start ='4-1-2021 01:00:00',
                    end = '4-30-2021 23:00:00', freq = 'H')


4. Membuat plot (ax1 = 1 plot) (figsize=16 (x axis), 5 (y axis))


    from matplotlib.offsetbox import AnchoredText

    fig, (ax1) = plt.subplots(figsize=(16, 5))
    fig.subplots_adjust(hspace=0.1, wspace=0.4)


5. Visualisasi data
    
    ax1.plot(per1, A, color='grey', linewidth=2, alpha=1,label='Belitung')
    leg1 = ax1.legend(loc='lower center', ncol=1, fontsize=14);

    #label for axis x and y
    ax1.set_ylabel('Elevation (m)', fontsize=15)
    ax1.set_xlabel("Time (yyyy-mm)", fontsize=15)

    #Information label 
    a = AnchoredText("A", loc=2)
    ax1.add_artist(a)

    #grid data
    ax1.grid(axis='x', color = "black", linewidth = "1.4", linestyle = "-.")
    ax1.minorticks_on()
    ax1.axhline(y=0.003, linewidth=2, color='r')
        

Pada saat menampilkan data pasang surut tentunya ada data pada waktu tertentu yang ingin ditonjolkan. Pada script berikut saya coba menjabarkan langkah langkah membuat visualisasi pasut berdasarkan time interest.

6.  langkah pertama import visulisasi dimana saya membuat visulisasi garis x dan y yang berbeda dari         gambar di atas menggunakan seaborn 

      import seaborn as sns
    import matplotlib.dates as mdates

  
7. Buat plot dan import waktu

    plt.subplots(figsize=(104))
    plt.plot(per1, A, color='blue', linewidth=3, alpha=1,label='Belitung')

8. Input batas waktu yang ingin di tonjolkan

    plt.xlim(datetime(2021,4,4),datetime(2021,4,7))
    plt.ylim(-1.2,1.5,1)

9. Visualisasi data

    #label for axis x and y
    plt.xlabel("Time",fontsize=14)
    plt.ylabel("Elevation",fontsize=14)

    plt.axvspan(datetime(2021,4,5),datetime(2021,4,6), color='grey', alpha=0.3,)

    #making line for data interest
    plt.vlines(x=datetime(2021,4,5,5), ymin=-1.2, ymax=1.5, colors='red', ls=':', lw=3, label='Peak')
    plt.vlines(x=datetime(2021,4,5,17), ymin=-1.2, ymax=1.5, colors='red', ls=':', lw=3, label='Peak')

    #date format using seaborn
    dtFmt= mdates.DateFormatter("%H:%Mh\n%d-%b")
    plt.gca().xaxis.set_major_formatter(dtFmt)

    plt.style.use('seaborn-ticks')
    sns.despine(offset=10, trim=True);
    draWFrame=False

    Hasil
    
Visualisasi data pasang surut berdasarkan time interest, garis merah menunjukan waktu pasang dan waktu surut

10. Langkah menyimpan gambar pada directory yang di inginkan
    
    plt.savefig('Belitung.jpg', dpi=600,bbox_inches='tight')

11. Script lengkap langkah langkah yang telah di jelaskan beserta data yang digunakan
bisa di unduh pada laman Github saya https://github.com/Sheltria/Tidal-Visualization/
    

Sekian dari saya, ini merupakan media belajar saya dalam rangka pindah platform. Terimakasih
    




Komentar