OpenAQ: リアルタイム大気質データ

BigQuery を使用して一般公開データセットをクエリする方法

BigQuery は、フルマネージドのデータ ウェアハウスおよび分析プラットフォームです。SQL クエリを使用して分析できる一般公開データセットが用意されています。BigQuery の一般公開データセットにアクセスするには、ウェブ UIコマンドライン ツールを使用します。また、Java.NETPython など、さまざまなクライアント ライブラリを使用して BigQuery REST API を呼び出してアクセスすることもできます。

現在、BigQuery の一般公開データセットは US マルチリージョン ロケーションに格納されています。一般公開データセットをクエリする場合は、コマンドラインで --location=US フラグを指定するか、BigQuery ウェブ UI で処理ロケーションとして US を選択するか、または API でジョブリソースjobReference セクションの location プロパティを指定します。一般公開データセットは米国内に格納されているため、一般公開データのクエリ結果を別のリージョンにあるテーブルに書き込むことはできず、一般公開データセットのテーブルを別のリージョンにあるテーブルと結合することもできません。

BigQuery の一般公開データセットの使用を開始するには、プロジェクトを作成または選択します。毎月、最初の 1 テラバイトのデータの処理については課金されないため、課金を有効にせずに一般公開データセットのクエリを開始できます。無料枠を超える可能性がある場合は、課金を有効にする必要があります。

  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. GCP プロジェクトを選択または作成します。

    [リソースの管理] ページに移動

  3. プロジェクトに対して課金が有効になっていることを確認します。

    課金を有効にする方法について

  4. 新しいプロジェクトでは、BigQuery が自動的に有効になります。既存のプロジェクトで BigQuery を有効にする手順は以下のとおりです。 BigQuery API を有効にする。

    Enable the API

データセットの概要

OpenAQ は、世界各地のリアルタイムの大気質データを公開するオープンソース プロジェクトです。OpenAQ の使命は、これまで不可能だった技術を実現し、政策に影響を与え、大気汚染と戦う市民を支援することです。データには、47 か国 5,490 か所の大気質測定値が含まれます。

科学者、研究者、デベロッパー、市民は、このデータを使用して、周辺の現在の大気質を把握できます。このデータセットには、その場所で使用可能な最新の測定値のみが含まれます(履歴データはありません)。

OpenAQ の詳細を確認してください。

BigQuery コンソールで、このデータを探索してみましょう。

OpenAQ データに移動

サンプルクエリ

BigQuery を使用してこのデータで実行できる SQL クエリの例をいくつか示します。

このサンプルでは、BigQuery の標準 SQL サポートを使用します。#standardSQL タグを使用して、標準 SQL を使用することを BigQuery に認識させる必要があります。#standardSQL 接頭辞の詳細については、クエリ接頭辞の設定をご覧ください。

現在、世界全体の PM10 濃度はどうなっているか?

PM10(直径が 10 ミクロン以下の小粒子状物質)は、病気や癌を引き起こすことが知られており、2012 年には世界中で 300 万人の早期死亡に関与したと推定されています。このクエリは、場所別の PM10 濃度を取得します。

ウェブ UI

ウェブ UI で次のクエリを開きます。

#standardSQL
SELECT
  location,
  country,
  value,
  latitude,
  longitude
FROM
  `bigquery-public-data.openaq.global_air_quality`
WHERE
  pollutant = "pm10"

コマンドライン

bq query --use_legacy_sql=false '
SELECT
  location,
  country,
  value,
  latitude,
  longitude
FROM
  `bigquery-public-data.openaq.global_air_quality`
WHERE
  pollutant = "pm10"'

サンプル結果を以下に示します。

+-------------------------+---------+---------+---------------+---------------+
| location                | country | value   | latitude      | longitude     |
+-------------------------+---------+---------+---------------+---------------+
| Grünbach bei Freistadt  | AT      | 17.8966 | 48.5311111095 | 14.5747222222 |
| Traismauer              | AT      | 9.0     | 48.3533333295 | 15.74694444   |
| Salzburg Mirabellplatz  | AT      | 11.0    | 47.8055555995 | 13.043333     |
| Wien Stadlau            | AT      | 9.0     | 48.2280593769 | 16.4605496031 |
| Enzenkirchen im Sauwald | AT      | 11.0    | 48.3916468078 | 13.6711009829 |
| ...                                                                         |
+-------------------------+---------+---------+---------------+---------------+

緯度と経度を連結すると、クエリ結果を使用して世界中の PM10 ホットスポットを可視化できます。たとえば、Google データスタジオで次のような可視化を作成できます。Google データスタジオを BigQuery とともに使用するためのチュートリアルは、Google データスタジオを使用した BigQuery データの可視化をご覧ください。

郵便番号別の人口

可視化の興味深い結果の 1 つは、西アフリカに悪質な空気が集中していることが判明した点です。実際には、緯度 0 度と経度 0 度で記録されたデータセット内の悪いデータです。

今月、大気質が最も悪かった(高い PM10 が測定された)10 か所はどこか?

このクエリは、PM10 濃度が最も高い上位 10 か所を取得します。

ウェブ UI

ウェブ UI で次のクエリを開きます。

#standardSQL
SELECT
  location,
  city,
  country,
  value,
  timestamp
FROM
  `bigquery-public-data.openaq.global_air_quality`
WHERE
  pollutant = "pm10"
  AND timestamp > "2017-04-01"
ORDER BY
  value DESC
LIMIT
  10

コマンドライン

bq query --use_legacy_sql=false '
SELECT
  location,
  city,
  country,
  value,
  timestamp
FROM
  `bigquery-public-data.openaq.global_air_quality`
WHERE
  pollutant = "pm10"
  AND timestamp > "2017-04-01"
ORDER BY
  value DESC
LIMIT
  10'

サンプル結果を以下に示します。

+----------------+-----------------+-----------+----------+--------------------------+
| location       | city            | country   | value    | timestamp                |
+----------------+-----------------+-----------+----------+--------------------------+
| JUNJI          | Hualpén         | CL        | 2088.35  | 2017-04-07 15:00:00 UTC  |
| Yatağan        | Muğla           | TR        | 1000.0   | 2017-04-24 17:00:00 UTC  |
| MOGUER         | CCAA Andalucia  | ES        | 764.4    | 2017-04-21 07:00:00 UTC  |
| MARBELLA ARCO  | CCAA Andalucia  | ES        | 493.0    | 2017-04-21 07:00:00 UTC  |
| Anand Vihar    | Delhi           | IN        | 454.0    | 2017-04-20 06:50:00 UTC  |
| Mandir Marg    | Delhi           | IN        | 322.0    | 2017-04-20 06:55:00 UTC  |
| R K Puram      | Delhi           | IN        | 318.0    | 2017-04-20 03:50:00 UTC  |
| Punjabi Bagh   | Delhi           | IN        | 290.0    | 2017-04-20 06:05:00 UTC  |
| Chandrapur     | Chandrapur      | IN        | 278.0    | 2017-04-24 16:30:00 UTC  |
| Nisekh         | Ulaanbaatar     | MN        | 263.0    | 2017-04-24 16:00:00 UTC  |
+----------------+-----------------+-----------+----------+--------------------------+

サンプル結果では、2017 年 4 月にチリのワルペンで最悪の大気質が記録されています。データセットを照会するタイミングによっては、結果が異なる場合があります。情報は 1 時間ごとに更新されています。

1990 年以降で最も大気質(PM2.5)が改善された米国の都市はどこか?

このクエリは、EPA の過去のデータセットと OpenAQ を組み合わせて、1990 年以降で最も PM2.5 濃度が改善された米国の都市を取得します。

ウェブ UI

ウェブ UI で次のクエリを開きます。

#standardSQL
SELECT
  aq.location,
  aq.city,
  epa.arithmetic_mean,
  aq.value,
  (epa.arithmetic_mean - aq.value) AS air_quality_difference,
  aq.timestamp,
  epa.state_code,
  epa.latitude,
  epa.longitude
FROM
  `bigquery-public-data.openaq.global_air_quality` AS aq
JOIN
  `bigquery-public-data.epa_historical_air_quality.air_quality_annual_summary` AS epa
ON
  ROUND(aq.latitude, 1) = ROUND(epa.latitude, 1)
  AND ROUND(aq.longitude, 1) = ROUND(epa.longitude, 1)
WHERE
  epa.units_of_measure = "Micrograms/cubic meter (LC)"
  AND epa.parameter_name = "Acceptable PM2.5 AQI & Speciation Mass"
  AND epa.year = 1990
  AND epa.sample_duration = "24 HOUR"
  AND epa.poc = 1
  AND aq.pollutant = "pm25"
ORDER BY
  air_quality_difference DESC
LIMIT
  10

コマンドライン

bq query --use_legacy_sql=false '
SELECT
  aq.location,
  aq.city,
  epa.arithmetic_mean,
  aq.value,
  (epa.arithmetic_mean - aq.value) AS air_quality_difference,
  aq.timestamp,
  epa.state_code,
  epa.latitude,
  epa.longitude
FROM
  `bigquery-public-data.openaq.global_air_quality` AS aq
JOIN
  `bigquery-public-data.epa_historical_air_quality.air_quality_annual_summary` AS epa
ON
  ROUND(aq.latitude, 1) = ROUND(epa.latitude, 1)
  AND ROUND(aq.longitude, 1) = ROUND(epa.longitude, 1)
WHERE
  epa.units_of_measure = "Micrograms/cubic meter (LC)"
  AND epa.parameter_name = "Acceptable PM2.5 AQI & Speciation Mass"
  AND epa.year = 1990
  AND epa.sample_duration = "24 HOUR"
  AND epa.poc = 1
  AND aq.pollutant = "pm25"
ORDER BY
  air_quality_difference DESC
LIMIT
  10'

サンプル結果を以下に示します。

+-----------------------+--------------+-----------------+--------+------------------------+-------------------------+------------+-----------+------------+
| location              | city         | arithmetic_mean | value  | air_quality_difference | timestamp               | state_code | latitude  | longitude  |
+-----------------------+--------------+-----------------+--------+------------------------+-------------------------+------------+-----------+------------+
| McMillan NCORE        | WASHINGTON   | 15.31707        | 0.002  | 15.315069999999999     | 2017-04-27 20:00:00 UTC | 11         | 38.876233 | -77.034076 |
| Acadia NP - McFarlan  | HANCOCK      | 8.179546        | -1.0   | 9.179546               | 2017-04-27 18:00:00 UTC | 47         | 44.37705  | -68.2609   |
| Big Bend NP           | BREWSTER     | 6.214457        | 1.4    | 4.814457000000001      | 2017-04-27 20:00:00 UTC | 46         | 29.30265  | -103.17781 |
| Badlands              | JACKSON      | 5.304384        | 1.2    | 4.104384               | 2017-04-27 20:00:00 UTC | 23         | 43.74561  | -101.941218|
| Look Rock - GSMNP     | Knoxville    | 14.81396        | 11.2   | 3.6139600000000005     | 2016-12-20 15:00:00 UTC | 48         | 35.63348  | -83.941606 |
| Shenandoah NP         | MADISON      | 11.873345       | 8.6    | 3.273345000000001      | 2017-04-27 20:00:00 UTC | 51         | 38.5231   | -78.43471  |
| ...                                                                                                                                                      |
+-----------------------+--------------+-----------------+--------+------------------------+-----------+-------------+------------+-----------+------------+

クエリ結果では、ワシントン DC の大都市圏が、測定された時間枠内で最も改善されています。結果はどんどん変化します。OpenAQ の実データは 1 時間おきに更新されています。

警告: データセットは、丸められた緯度/経度(小数点以下 1 桁)を使用して結合されました。そのため、完全な照合方法とは言えません。お互いの距離が 11km 以内の測定値を照合する必要があります。小数点以下 1 桁の丸めでは 6 個の比較対象しか得られません。これは、主に、1998 年までモニタリングが義務付けられていなかったことが原因です。丸めを 0 桁まで拡張すれば、重複を含む 36 個の比較対象が得られます。比較可能な測定単位が必要なため、照合可能なデータセットは限られます。

データについて

データセット ソース: openaq.org

カテゴリ: 科学

使用: このデータセットは、データセット ソース(https://openaq.org/#/about)によって規定されている条件の下ですべてのユーザーに公開されています。Google はこのデータセットを「現状のまま」提供し、明示または黙示を問わず、いかなる保証も行いません。Google は、このデータセットの使用で、直接または間接の損害が発生したとしても一切の責任を負いません。

更新頻度: 1 時間ごと

BigQuery で表示: OpenAQ データに移動

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。