https://github.com/slavyandesu/bmkg-wrapper
Sebuah API wrapper untuk mempermudah akses API data terbuka Badan Meteorologi, Klimatologi, dan Geofisika.
https://github.com/slavyandesu/bmkg-wrapper
api bmkg json simple weather wrapper
Last synced: about 1 year ago
JSON representation
Sebuah API wrapper untuk mempermudah akses API data terbuka Badan Meteorologi, Klimatologi, dan Geofisika.
- Host: GitHub
- URL: https://github.com/slavyandesu/bmkg-wrapper
- Owner: SlavyanDesu
- License: mit
- Created: 2023-01-19T12:20:47.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-03-23T18:56:53.000Z (over 3 years ago)
- Last Synced: 2025-03-25T19:37:49.172Z (over 1 year ago)
- Topics: api, bmkg, json, simple, weather, wrapper
- Language: TypeScript
- Homepage:
- Size: 69.3 KB
- Stars: 8
- Watchers: 1
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# bmkg-wrapper
[](https://www.codefactor.io/repository/github/slavyandesu/bmkg-wrapper)
[](https://www.npmjs.com/package/bmkg-wrapper)
[](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.