UNPKG

bmkg-wrapper

Version:

Sebuah API wrapper untuk mempermudah akses API data terbuka Badan Meteorologi, Klimatologi, dan Geofisika.

197 lines (162 loc) 5.29 kB
# bmkg-wrapper [![CodeFactor](https://www.codefactor.io/repository/github/slavyandesu/bmkg-wrapper/badge)](https://www.codefactor.io/repository/github/slavyandesu/bmkg-wrapper) [![Install size](https://packagephobia.com/badge?p=bmkg-wrapper)](https://www.npmjs.com/package/bmkg-wrapper) [![GitHub License](https://img.shields.io/github/license/SlavyanDesu/bmkg-wrapper)](LICENSE) [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FSlavyanDesu%2Fbmkg-wrapper.svg?type=shield&issueType=license)](https://app.fossa.com/projects/git%2Bgithub.com%2FSlavyanDesu%2Fbmkg-wrapper?ref=badge_shield&issueType=license) **bmkg-wrapper** adalah sebuah API wrapper untuk mempermudah akses API data terbuka Badan Meteorologi, Klimatologi, dan Geofisika. ## Instalasi ```bash npm install bmkg-wrapper ``` ## Penggunaan ### ESM ```js import BMKG from 'bmkg-wrapper'; const bmkg = new BMKG(); ``` ### CommonJS ```js const BMKG = require('bmkg-wrapper').default; const bmkg = new BMKG(); ``` ## Contoh ```js import BMKG from 'bmkg-wrapper'; const bmkg = new BMKG(); // Menampilkan data gempa yang baru-baru ini terjadi async function autoGempa() { const res = await bmkg.autoGempa(); console.log(res); } autoGempa(); // Menampilkan data prakiraan cuaca untuk kelurahan Lebak Bulus async function prakiraanCuaca(kelurahan) { const res = await bmkg.prakiraanCuaca(kelurahan); console.log(res); } prakiraanCuaca('Lebak Bulus'); ``` ## Wilayah Tersedia Untuk melihat wilayah yang tersedia silakan untuk mengunjungi pranala berikut. - [Kode Wilayah Administrasi Tingkat IV](https://kodewilayah.id/) ## Hasil ### AutoGempa ```js { tanggal: '30 Mar 2025', jam: '09:58:35 WIB', dateTime: '2025-03-30T02:58:35+00:00', coordinates: '5.63,95.47', lintang: '5.63 LU', bujur: '95.47 BT', magnitude: 5.4, kedalaman: '10 km', wilayah: 'Pusat gempa berada di darat 18 Km TimurLaut Banda Aceh', potensi: 'Gempa ini dirasakan untuk diteruskan pada masyarakat', dirasakan: 'IV Banda Aceh , IV Aceh Besar, III Takengon, II-III Pidie Jaya, II-III Sabang, II Lhokseumawe, II Aceh Tengah, II Bireun', shakemap: 'https://data.bmkg.go.id/DataMKG/TEWS//20250330095835.mmi.jpg' } ``` ### GempaTerkini ```js [ { tanggal: '30 Mar 2025', jam: '09:58:35 WIB', dateTime: '2025-03-30T02:58:35+00:00', coordinates: '5.63,95.47', lintang: '5.63 LU', bujur: '95.47 BT', magnitude: 5.4, kedalaman: '10 km', wilayah: 'Pusat gempa berada di darat 18 Km TimurLaut Banda Aceh', dirasakan: 'IV Banda Aceh , IV Aceh Besar, III Takengon, II-III Pidie Jaya, II-III Sabang, II Lhokseumawe, II Aceh Tengah, II Bireun' }, ... ] ``` ### GempaDirasakan ```js [ { tanggal: '30 Mar 2025', jam: '09:58:35 WIB', dateTime: '2025-03-30T02:58:35+00:00', coordinates: '5.63,95.47', lintang: '5.63 LU', bujur: '95.47 BT', magnitude: 5.4, kedalaman: '10 km', wilayah: '18 km TimurLaut BANDAACEH-ACEH', potensi: 'Tidak berpotensi tsunami' }, ... ] ``` ### DataCuaca ```js { lokasi: { adm1: '31', adm2: '31.74', adm3: '31.74.06', adm4: '31.74.06.1002', provinsi: 'DKI Jakarta', kotkab: 'Kota Adm. Jakarta Selatan', kecamatan: 'Cilandak', desa: 'Lebak Bulus', lon: 106.7789416104, lat: -6.3011231926, timezone: '+0700', type: 'adm4' }, cuaca: [ [ { datetime: '2025-03-30T00:00:00Z', t: 27, tcc: 100, tp: 0, weather: 3, weather_desc: 'Berawan', weather_desc_en: 'Mostly Cloudy', wd_deg: 266, wd: 'SW', wd_to: 'NE', ws: 7.3, hu: 83, vs: 32349, vs_text: '> 10 km', time_index: '-1-0', analysis_date: '2025-03-30T00:00:00', image: 'https://api-apps.bmkg.go.id/storage/icon/cuaca/berawan-am.svg', utc_datetime: '2025-03-30 00:00:00', local_datetime: '2025-03-30 07:00:00' }, ... ], ... ] } ``` ## Method ### `bmkg.autoGempa()` - Mengambil data gempa yang baru-baru ini terjadi. - Hasil berupa [`AutoGempa`](#autogempa). ### `bmkg.gempaDirasakan()` - Mengambil list data gempa yang dirasakan. - Hasil berupa [`GempaDirasakan[]`](#gempadirasakan). ### `bmkg.gempaTerkini()` - Mengambil list data gempa terkini. - Hasil berupa [`GempaTerkini[]`](#gempaterkini). ### `bmkg.prakiraanCuaca(kelurahan)` - `kelurahan` (string, opsional) - Nama kelurahan/desa. Default `Lebak Bulus`. - Mengambil data prakiraan cuaca dalam waktu 3 hari ke depan. - Hasil berupa [`DataCuaca`](#datacuaca). ## Sumber Daya - [Data Terbuka BMKG](https://data.bmkg.go.id/) ## Lisensi Projek ini dirilis dibawah lisensi MIT. Kunjungi file [LICENSE](LICENSE) untuk detail lebih lanjut. <div align="center"> <a href="https://app.fossa.com/projects/git%2Bgithub.com%2FSlavyanDesu%2Fbmkg-wrapper?ref=badge_large&issueType=license" alt="FOSSA Status"><img src="https://app.fossa.com/api/projects/git%2Bgithub.com%2FSlavyanDesu%2Fbmkg-wrapper.svg?type=large&issueType=license"/></a> </div>