Documentation ¶
Index ¶
- Variables
- type Penerima
- func (p *Penerima) DownloadGempa(ctx context.Context) (*Raw_DataGempa, *http.Response, error)
- func (p *Penerima) DownloadNarasi(ctx context.Context, eventid int64) (narasi string, resp *http.Response, err error)
- func (p *Penerima) DownloadRealtime(ctx context.Context) (*Raw_QL, *http.Response, error)
- func (p *Penerima) DownloadRiwayatGempa(ctx context.Context) (*Raw_QL, *http.Response, error)
- func (p *Penerima) Get(ctx context.Context, path string) (*http.Response, error)
- func (p *Penerima) GetBody(ctx context.Context, path string) ([]byte, *http.Response, error)
- func (p *Penerima) MulaiPolling(ctx context.Context) error
- func (p *Penerima) PollingGempa(ctx context.Context)
- func (p *Penerima) PollingNarasi(ctx context.Context)
- func (p *Penerima) PollingRealtime(ctx context.Context)
- type Raw_DataGempa
- type Raw_InfoGempa
- type Raw_QL
- type Raw_QL_Feature
- type WZArea
Constants ¶
This section is empty.
Variables ¶
var DEFAULT_API_URL string = "https://bmkg-content-inatews.storage.googleapis.com"
Functions ¶
This section is empty.
Types ¶
type Penerima ¶
type Penerima struct { // Interval penerimaan informasi baru Interval time.Duration // Struct Raw_* dapat disimplikasi ke struct yang mudah dipakai // Dengan memakai modul codeberg.org/Yonle/go-wrsbmkg/helper GempaTerakhir *Raw_DataGempa RealtimeTerakhir *Raw_QL NarasiTerakhir string Gempa chan *Raw_DataGempa Realtime chan *Raw_QL Narasi chan string API_URL string // Timeout dan segala lainnya berkaitan request, Atur dengan http.Client HTTP_Client *http.Client }
Penerima data gempa yang akan diambil dari API BMKG.
Pastikan bahwa API_URL dan Interval sudah disertakan. Interval yang disarankan adalah `time.Second*15`
func BuatPenerima ¶ added in v1.2.0
func BuatPenerima() *Penerima
Ini akan memuat Penerima dengan parameter default.
func (*Penerima) DownloadGempa ¶
Ini akan mendownload informasi gempa. Lihat data JSON asli di https://bmkg-content-inatews.storage.googleapis.com/datagempa.json
func (*Penerima) DownloadNarasi ¶
func (p *Penerima) DownloadNarasi(ctx context.Context, eventid int64) (narasi string, resp *http.Response, err error)
Ini akan mendownload teks narasi. Setiap narasi tidak langsung tersedia setelah peringatan gempa diumumkan, Melainkan memerlukan beberapa waktu.
Teks narasi yang diterima berbentuk HTML. Elemen HTML dapat dihilangkan dengan memakai codeberg.org/Yonle/go-wrsbmkg/helper.
func (*Penerima) DownloadRealtime ¶
Ini akan mendownload data gempa realtime. Lihat data JSON asli di https://bmkg-content-inatews.storage.googleapis.com/lastQL.json
func (*Penerima) DownloadRiwayatGempa ¶
Ini akan mendownload riwayat data gempa. Lihat data JSON asli di https://bmkg-content-inatews.storage.googleapis.com/gempaQL.json
func (*Penerima) MulaiPolling ¶
Fungsi ini akan mulai menerima data baru setiap waktu. Sebelum memanggil, Pastikan bahwa Interval sudah ditentukan di Penerima{}.
Jangan panggil fungsi ini jika Penerima sudah dijalankan, Kecuali sudah dihentikan dengan context.Context. Disarankan untuk menggunakan context.WithCancel untuk menghentikan penerimaan data.
func (*Penerima) PollingGempa ¶
func (*Penerima) PollingNarasi ¶
func (*Penerima) PollingRealtime ¶
type Raw_DataGempa ¶ added in v1.2.0
type Raw_DataGempa struct { Code string `json:"code"` Identifier string `json:"identifier"` Info Raw_InfoGempa `json:"info"` MsgType string `json:"msgType"` Scope string `json:"scope"` Sender string `json:"sender"` Sent string `json:"sent"` Status string `json:"status"` }
Struct ini bisa disimplikasi dengan codeberg.org/Yonle/go-wrsbmkg/helper.
type Raw_InfoGempa ¶ added in v1.2.3
type Raw_InfoGempa struct { Area string `json:"area"` Date string `json:"date"` Depth string `json:"depth"` Description string `json:"description"` Event string `json:"event"` EventID string `json:"eventid"` Felt string `json:"felt"` Headline string `json:"headline"` Instruction string `json:"instruction"` Latitude string `json:"latitude"` Longitude string `json:"longitude"` Magnitude string `json:"magnitude"` Point struct { Coordinates string `json:"coordinates"` } `json:"point"` Potential string `json:"potential"` Shakemap string `json:"shakemap"` Subject string `json:"subject"` Time string `json:"time"` Timesent string `json:"timesent"` // Properti-properti dibawah ini hanya tersedia saat Tsunami WZMap string `json:"wzmap"` TTMap string `json:"ttmap"` SSHMap string `json:"sshmap"` Instruction1 string `json:"instruction1"` Instruction2 string `json:"instruction2"` Instruction3 string `json:"instruction3"` WZArea []WZArea `json:"wzarea"` }
type Raw_QL ¶ added in v1.2.0
type Raw_QL struct { Features []Raw_QL_Feature `json:"features"` Type string `json:"type"` }
Struct ini bisa disimplikasi dengan codeberg.org/Yonle/go-wrsbmkg/helper.
type Raw_QL_Feature ¶ added in v1.2.0
type Raw_QL_Feature struct { Geometry struct { Coordinates []any `json:"coordinates"` Type string `json:"type"` } `json:"geometry"` Properties struct { Depth string `json:"depth"` Fase string `json:"fase"` ID string `json:"id"` Mag string `json:"mag"` Place string `json:"place"` Status string `json:"status"` Time string `json:"time"` } `json:"properties"` Type string `json:"type"` }