dekiakbar/bmkg-api-php-client

php api 客户端,用于 https://data.bmkg.go.id/

1.0.1 2020-08-22 16:32 UTC

This package is auto-updated.

Last update: 2024-09-10 19:31:43 UTC


README

此项目用于从 https://data.bmkg.go.id/ 抓取数据

警告

必须将 BMKG(气象、气候和地球物理局)列为数据来源,并在您的应用程序或系统中显示它们。

入门

以下说明将帮助您在本地机器上创建并运行项目的副本,用于开发和测试。

先决条件

在安装此包之前,请确保满足以下要求

PHP >= 5.6
php-xml 

安装

要安装此包,请按照以下说明操作

使用以下命令通过 composer 安装

composer require dekiakbar/bmkg-api-php-client

完成,尽情享受吧 :)

示例用法

预报

  • 通过省份获取所有预报数据,此方法将返回包括温度、湿度、风速、风向和天气在内的所有城市数据,此方法将返回数据类型: stdclass 对象,如果您未向 execute() 方法传递任何参数,则将返回所有省份的数据。
require_once __DIR__ . '/vendor/autoload.php';
use Dekiakbar\BmkgApiPhpClient\Forecast;
$data = new Forecast();
//this will return data only from  West java province
print_r($data->execute('JawaBarat')->getData());
//this will return data from all provinces
print_r($data->execute()->getData());
  • 获取可用区域代码
//this will retun available area code, you can pass this area code to execute method
//this will return array
print_r($data->getAreaList());
  • 获取城市列表
//this will return available city list from West java province
print_r($data->execute('JawaBarat')->getCityList()->getData());
  • 获取特定城市的数据
//this will return data only for spesific city
print_r($data->execute('JawaBarat')->getDataByCityId('501212')->getData());
//this will return data for all city, coz there is no parameter passed to the function
print_r($data->execute('JawaBarat')->getDataByCityId()->getData());
  • 获取数据列表
//this will return available data id from specific city
print_r($data->execute('JawaBarat')->getDataByCityId('501212')->getDataList()->getData());
  • 通过 Id 获取特定数据,数据 Id 不能为空,使用 getDataList() 获取可用的数据 Id。
//this will return specific data from specific city
print_r($data->execute('JawaBarat')->getDataByCityId('501212')->getDataById('hu')->getData());

地震

  • 从 bmkg 开放数据获取地震数据,此方法将返回数据类型: stdclass 对象,如果您未向 execute() 方法传递任何参数,则将返回与 autogempa 代码相同的数据。
require_once __DIR__ . '/vendor/autoload.php';
use Dekiakbar\BmkgApiPhpClient\Earthquake;

// Earthquake class initialization
$data = new Earthquake();

// This will method will get data from bmkg, then will fetch the data and return as StdClass onject
// if there is no parameter passed to the excute method then it will return defsult data (autogempa)
print_r( $data->execute()->getData() );

// With parameter example
print_r( $data->execute('lasttsunami')->getData() );
  • 获取可用代码列表
// This will return available code list for execute method
print_r( $data->getCodeList() );

构建工具

  • PHP - 使用的网页脚本语言
  • Packagist - Composer 包仓库
  • BMKG - 用作数据源

贡献

请fork此存储库,如果您想为此项目做出贡献,请创建新的pull request。或者,如果您发现此项目有问题,请打开一个新的问题。

作者

查看参与此项目的 贡献者列表

许可证