農研機構 農業技術革新工学研究センター 高度作業支援システム研究領域 高度情報化システムユニット 〒 305-0856 茨城県つくば市観音台 1-31-1
メッシュ農業気象データに対応した農業用
Web アプリケーションとその Web API
田中 慶
(2018 年 12 月 6 日受付,2019 年 1 月 21 日再受付,2 月 12 日受理)
近年,Web サービスが提供する Web API を組み合わせたマッシュアップと呼ばれる手法による Web アプリケーショ ン開発が広く行われている.Web API を利用して新たな農業用アプリケーションを構築するときに,データと作物生育 予測モデルや病害虫発生予察モデル等の農業モデルを結びつけられるようにするためには,データ表現形式の標準化や, 理解しやすい Web API の設計が必要である.そのため,サービスを終了した気象データベース仲介サービス MetBroker の代わりとなる,メッシュ農業気象データやアメダスから気象データを取得する Web API 機能や,農業モデルを実行す るための Web API 機能を実装した. キーワード:Web API,マッシュアップ,メッシュ農業気象データ,アメダス 原著論文
緒言
作物の生育予測モデルや病害虫発生予察モデル等の農 業モデルや,気象データ,市況データや画像等のデータ ベースなどをコンポーネントとして扱い,それらをネッ トワーク経由で結び付けて新たなアプリケーションを構 築する試みは,国内にインターネットが登場した頃から 行われてきた.コンポーネント群を結び付けるために は,通信プロトコルや Application Programming Interface (API)の標準化が必要で,これに対応するための仕組 みが分散オブジェクト技術である. 農業モデル・データベース分散協調システム(以降, 協調システム)は,「増殖情報ベースによる生産支援シ ステム開発のための基盤研究」(1997 ∼ 2000 年度)や, 「データベース・モデル協調システムの開発」(2001 ∼ 2005年度,農林水産省 2007)において研究,開発された, 農業分野向けの分散オブジェクトシステムであった. 初期の協調システムでは,分散オブジェクト技術の標 準仕様として策定された Common Object Request Broker Architecture(CORBA)の利用が進められていた.しか し,CORBA はプログラミングモデルの複雑さのため, 筆者はプログラミング言語を Java に統一することによ り簡単化して,農業モデル開発用フレームワーク(JavaAgricultural Model Framework: JAMF, 田 中 2006) を 開 発し,それが提供する Java API を利用した協調システ ム(Agricultural Models and Databases with Distributed Cooperative System: AMADIS, 田 中 2013) を 構 築 し た. このシステムでは,気象データ取得機能はシステムを構 成する分散オブジェクトの 1 つである,気象データベー ス仲介ソフトウェア MetBroker(Laurenson et al. 2002,二 宮 2001)が担っていた.MetBroker はネットワーク上の 気象データベースとアプリケーションを仲介するソフト ウェアで,対応する気象データベースへのリクエストや, 取得した気象データを扱うための統一的な手法を API と して提供していた.2013 年にはアメダスや NOAA/WMO を含む国内外の 17 の気象データベースに対応し,世界 中の 8.6 万(うち国内 2.5 千)カ所の気象観測地点にア クセスできた.そして,SIMRIW や JAPONICA 等の水稲 生育予測モデルや,BLASTAM 等の病害虫発生予察モデ ルを含む 20 程度のモデルがクライアントサイドで実行 される Java アプレットとして開発された. その後,サーバサイドで処理を行う Web アプリケー ションや Web サービスが主流となり,それらを利用 するための Web API が公開されるようになった(水 野 2014).Web API(図 1)とは,Web サーバに送られ た HTTP リクエストに対して,処理結果を Extensible
Markup Language(XML) 形 式 や,JavaScript Object Notation(JSON)形式などのテキスト,または,画像デー タで返す機能を利用するための手順であり,処理結果は 別のプログラムの入力データとして利用できる.有用な データや視覚化ツールの Web API が公開されたことは, マッシュアップと呼ばれる複数の Web API を組み合わ せる手法で,多くの有用な Web アプリケーションが誕 生するきっかけとなった(Patel et al. 2010).近年では, Society 5.0の農業分野での実装として農業データ連携基 盤 WAGRI(2017)が設立され,民間企業や官公庁等か ら提供された気象や土地情報等に関する様々なデータ を,API を利用して参照できるようになっている. このような技術開発の流れを受けて,AMADIS の成 果も Java サーブレットによる Web アプリケーションと して再実装された.例えば,MetXML と名付けられた MetBroker経由で気象データを取得するための Web アプ リケーションや,作物生育予測モデル Web アプリケー ションである.再実装された Web アプリケーションで は Web API も公開した.この時点での目的はマッシュ アップによる新たなアプリケーション構築を想定したも のではなく,JAMF を利用したプログラム開発に不慣れ なユーザのために,図 2 に示される URL クエリパラメー タ値の文字列操作のみで,気象データを取得できるよう にすることであった.また,作物生育予測モデル Web アプリケーションでの目的は,一度行ったシミュレー ションの設定内容をクエリパラメータとして保存するた めのものであった. ところが,2017 年 3 月に気象データ取得元として長 年利用してきた MetBroker が,ソースコードのメンテナ ンスやサーバを維持することが人的・資金的に困難に なったため,サービスを終了した.JAMF の気象データ 取得機能のデータは,すべて MetBroker 経由で取得して いたため,AMADIS で開発した気象データが必須であ る農業用 Web アプリケーションを継続して利用可能と するためには,気象データ取得機能を JAMF に追加しな ければならなかった. 本研究では,MetBroker に代わる気象データ取得機能 として,アメダスやメッシュ農業気象データからの気象 データ取得機能と,その関連機能を実装したことを報告 し,Web API を利用した新たな農業用 Web アプリケー ションの開発手法を提案する.
気象データ取得機能
MetBrokerは様々な気象データベースへのアクセス方 法,リクエスト形式や出力形式の違いを吸収し,統一的 な手法で利用可能にしていた.JAMF の新たな気象デー タ取得機能においても,以下の項で示すように同様な特 徴を備えるようにした.気象データ取得機能が対象とす る気象データベースは,国内での農業モデル実行を主な 目的とするため,十分な数の地点と気象要素を扱ってい るアメダスとメッシュ農業気象データとした.表 1 はそ れぞれの観測地点数,データ取得方法等の特徴や違いを まとめたものである.取得した気象データの利用は,取 得元の気象データベースの利用条件に従うことになる.1.アメダス
アメダス(気象庁 2002)は国内での農業モデル実行 のための主要な気象データとして利用されていることか ら,必要な気象データベースである.また,病害虫予 察モデルで利用される時別値も提供している.しかし, Web APIが公開されておらず,図 3 の気象データ検索用 Web画面で条件を設定すると,気象データが HTML の 表で表示されるのみで,再利用可能なデータ形式となっ ていない. そのため,リクエストされた気象データを表示させる ための URL クエリパラメータ(図 4)を解析すること により,必要な気象データを取得するための URL 生成 機能を作成した.取得する期間や気象要素の組み合わせ プログラム Webサーバ HTTPリクエスト XML,JSON形式 データ,画像など Webアプリケーション Webサービス デー タベ ー ス ユーザ 図 1 Web API Webサーバに送られた HTTP リクエストに対して,処理結果が XML, JSON形式などのテキストや,画像データで返される.処理結果は別のプ ログラムで処理され,Web ブラウザに表示されたり,ダウンロードされ たりして,ユーザに出力される.図 2 MetXML の Web API(クエリパラメータ形式) アプリケーション名 met に続く URL クエリパラメータ値として指定され る出力データ形式,気象データベース,地点(領域),期間,観測間隔, 気象要素は文字列なので,文字列の変更のみで必要な気象データを取得 できる.
によって,生成される URL の数は異なる.SIMRIW を 実行する場合,終了条件までへの余裕を含めた移植日か ら 6 カ月分の日別気温と日射量を取得する.アメダスで 日射量を観測している地点では,観測している気象要素 数が多いため,気温と日射量が 2 ページに分かれて表示 される.そのため,12 ∼ 14 個(6 ∼ 7 カ月分× 2 ページ) の URL が生成される. 生成された URL へのアクセスによって返されるのは, 気象データが表として格納された HTML 文書であるた め,HTML タグを手掛かりに気象データを切り出す必要 がある.そのため,Web スクレイピングと呼ばれる手法で, HTML文書内の表から,HTML 解析ライブラリを利用し て気象データを抽出する機能を作成した.アメダスでの このようなコンテンツの利用は,出典を記載することに より認められている(気象庁 2018).しかし,URL の構 造や HTML 文書の構造は公開されたものではないため, 事前に通知されることなく変更されることがあり,その 場合は,機能が正常に働かなくなるという問題がある.
2.メッシュ農業気象データ
メッシュ農業気象データ(大野 2014,2017)は,アメ ダスデータを空間補間した 1km メッシュ値,26 日先ま での予報値と,それ以降の平年値までをシームレスに取 得できることから,アメダスよりモデル予測の精度を向 上できるデータである. メッシュ農業気象データは,年―気象要素の階層で デ ー タ が Open-Source Project for a Network Data Access Protocol(OpeNDAP)サーバに格納されている.必要な 気象データは,OpeNDAP Server Dataset Access Form(図 5) に各変数の範囲を指定し,希望するデータ形式のボタン をクリックすることで取得できる. メッシュ農業気象データから気象データを取得するた 表 1 アメダスとメッシュ農業気象データ アメダス メッシュ農業気象データ 地点数 約 840 地点(約 21km 間隔) 降水量のみの地点を含めると約 1300 地点(約 17km 間隔) 1kmメッシュ(国内を 6 データ領域に分割) 気象要素 気温(日平均,最高,最低),降水量,日照時間,全天日射量,相対湿度,風速 (地点によって観測項目は異なる) データ間隔 10分,1 時間,1 日,半旬,旬,1 カ月,3 カ月,1 年 1日 未来のデータ 平年値を別途取得して観測値とマージする 観測値に続いて,予報値 + 平年値をシームレスに取得可能 リクエスト回数 年,月,日ごと(データ間隔による)×地点数 年ごと×気象要素数×データ領域数 データ 取得方法 Web画面で設定し,HTML の表で表示(図 3)(Web スクレイピングでデータを取得) Web APIにより,netCDF 形式または,文字列で取得
その他 土地利用比率 図 3 アメダスの気象データ検索画面(上)と気象データ表示画面(下) 検索画面で観測地点,年月日,データの種類を選択すると,気象データ が HTML の表として表示される. 図 4 アメダスの気象データを取得するための URL クエリパラメータ 図 3(下)の Web ページを表示するための URL である.図 3(上)の設 定と対応させることで,URL の構造を解析した.
めの URL は,図 5 の DATA URL の欄に示される文字列で,
URLのディレクトリ構造としてデータ領域,年,気象
要素,データ形式が指定され,クエリパラメータとして 期間,緯度,経度の範囲が指定されている(図 6).
出 力 デ ー タ 形 式 は 3 つ あ り,ASCII 形 式( 図 7), Network Common Data Form(netCDF) 形 式 と Data Access Protocol(DAP)形式である.同日時に観測され たデータが面的に列挙されて,時系列に積み重ねられる データ構造となっている(図 8 右). メッシュ農業気象データを農業モデルで利用するため には,地点ごとの時系列データのセット(図 8 左)とし て扱えるようにデータ構造の変換が必要である.データ 処理時間はデータのダウンロード時間と比べて無視でき る程度なので,どの出力形式を利用するかは,文字列処 理のみで行うか,netCDF や DAP 用プログラムライブラ リを利用するかで選択することになる. メッシュ農業気象データを農業モデルで利用するため に,図 6 の URL 構造を基に必要な気象データを取得す るための URL 生成機能を作成した.アメダス同様に取 得する期間や気象要素の組み合わせによって,生成され る URL の数は異なる.SIMRIW を実行するために,移 植日から 6 カ月分の日別気温(平均・最高)と日射量を 取得する場合,3 個(3 気象要素)の URL が生成される. 冬小麦の生育予測のように,年をまたぐような場合には, 年ごとに別のアクセスが必要なため,気象要素数× 2 年 分の URL が生成される. メッシュ農業気象データは,農業分野や他の分野にお ける研究・開発・教育を目的とする場合に利用でき、利 用者登録が必要である(大野 2014).
3.時系列データ関連機能
MetBrokerを利用するための Java ライブラリには,時 図 5 メッシュ農業気象データのリクエスト設定画面 日付(time),緯度(lat),経度(lon)の範囲を指定し,必要な出力形式 のボタンをクリックすると,気象データを取得できる. 図 6 メッシュ農業気象データから気象データを取得するための URL URLのパスとしてデータ領域,年,気象要素,出力データ形式が指定され, クエリパラメータとして期間,緯度,経度の範囲が指定されている. �������� �������������������� ← デ ー タ 領 域 , デ ー タ 種 別 ������������ �������� �������� ������� ← 経 度 ��������������������������������������������������������� �������� �������� ������� ��������������������������������������������������������� �������� �������� ������� 2018-01-01 ��������������������������������������������������������� �������� �������� ������� ��������������������������������������������������������� �������� �������� ������� ��������������������������������������������������������� �������� �������� ������� 2018-01-02 ��������������������������������������������������������� �������� �������� ������� ��������������������������������������������������������� �������� �������� ������� ��������������������������������������������������������� �������� �������� ������� 2018-01-03 ��������������������������������������������������������� �������� �������� ������� 日 付 緯 度 デ ー タ ��������������� �������� �������� ������� ��������������� �������� �������� ������� ��������������� �������� �������� ������� 経 度 緯 度 日 付 図 7 メッシュ農業気象データから図 6 のリクエストで取得した ASCII 形式のデータ 1行目:データ種別 2 行目:3 つの経度値 3∼ 11 行目:日付,緯度,経度の順にデータを列挙 3 つの日付(43099-43101,1900-01-01 からの日数,図 6 の 0:2 に対応), 3 つの緯度(36.0042,36.0125,36.0208,図 6 の 160:162 に対応), 3 つの経度(140.006,140.019,140.031,値は 2 行目に列挙,図 6 の 240:242 に対応) ア メ ダ ス 地 点11 21 22 … 12 … … 日 付 t1 t2 緯 度 経 度 tn メ ッ シ ュ 農 業 気 象 デ ー タ 地 点11,12,… 21,22,… … 日 付t1 日 付t2 日 付tn 図 8 アメダスとメッシュ農業気象データのデータ構造 アメダス:地点ごとの時系列データの集まり メッシュ農業気象データ:複数地点のデータの集まりが日付ごとに列挙系列データである気象データを格納する機能や期間を表 現する機能など,農業モデル開発に必要な機能の多くが 含まれ(Laurenson 2001),その多くを JAMF で利用して いた.それらの機能のみ MetBroker のライブラリの利用 を継続することも可能であったが,改良すべき点が多く, 今後のメンテナンスもないことから,MetBroker に代わ る気象データ取得機能に加え,時系列データ関連機能も 実装することにした. 主な改良点の一つは,Java8 から導入された java.time パッケージの日時 API を利用するようにしたことであ る.MetBroker では日時の表現に java.util.Date クラスを 利用していたため,日別値を扱う場合でも時刻の値を 持っていたり,平年値を扱う場合でも年の値を持ってい たりした.日別値の場合には時刻の値をクリアしていた が,その処理を忘れた日付との比較を行ってしまうと, 予期せぬ不具合を引き起こすことがあった.平年値の場 合は意味のない適当な年の値を設定することになり,年 をまたいでの農業モデル実行時に面倒であった.JAMF では,日時 API の日付のみを表現する LocalDate や,月 日を表現する MonthDay を利用することにより,以上の 問題を解決した. 二つ目の改良点は,時系列データ関連の機能を拡張し たことである.MetBroker の時系列データ保持のための StoreImplクラスは,格納できるデータ期間を最初に設 定しておかなければならず,期間を広げるためには別の 処理が必要であった.また,観測値と平年値をつなげる ようなマージ処理や,出力するために一部の期間のデー タのみ取り出すような機能がなかった.さらに,ユーザ が利用できる形式での出力機能がなかった.そのため, データの追加,マージ,切り出し等の機能や,様々な形 式(XML,JSON,CSV,Excel ブック,HTML の表,グ ラフ画像,KML < Google アース上でのアニメーション 表示>など)で出力する機能を実装した.
Web API を利用した農業用アプリケーション構築
JAMFの Java API,すなわち農業モデルを開発する
ためのプログラミング言語 API の利用は,農業モデル Webアプリケーション構築を容易にしてきた.例えば, 農業モデルには多くの共通処理部分があり,JAMF を利 用することで新規に開発する必要のあるモデル固有のプ ログラムのコード行数は,JAMF を利用しなかった場合 に記述しなければいけないコード行数の 5.2%で済み(田 中 2013 の表 10),開発コストを低減できた. しかし,気象データ取得から結果の出力までのすべて の機能を必要とせず,気象データ取得機能のみ,あるい は,農業モデルの核であるモデルの計算部分のみを利用 したいユーザもいる.そこで,JAMF を利用して開発し た既存の農業モデルを気象データ取得,農業モデル実行, 結果の視覚化の 3 つの Web サービスのコンポーネント に分割し,図 9 のように Web API 経由でそれらを結び つけるマッシュアップによる手法で農業モデルを再構築 することを考える.気象データ取得や結果の視覚化のよ うな機能は,それらに特化したサービスを利用したほう が,必要とするデータを取得できたり,最新の機能や優 れたユーザインタフェースを利用できたりと,開発を効 率化できる.さらに,コンポーネントの入れ替えが容易 になれば,一部の機能を組み替えた特定ユーザ向けの農 業モデルの開発も容易になる.
1.各コンポーネントの Web API
気象データ取得 Web API として,JAMF を利用した 気 象 デ ー タ 取 得 サ ー ビ ス MetXML の Web API( 田 中 2007a,図 10)を利用できる.その他に,NASA POWER (1983),OpenWeatherMap(2012),World Weather Online (2015)などもあり,XML や JSON 形式などで気象デー
タを取得できる.
農業モデル実行 Web API として,JAMF を利用して開 発した作物生育予測モデル Web アプリケーション(田 気 象 デ ー タ Web API 農 業 モ デ ル Web API 視覚化・データ 変 換 ツ ー ル [2]必 要 な 気 象 デ ー タ の リ ク エ ス ト [3]JSON 形 式 気 象 デ ー タ 農 業 モ デ ル ア プ リ ケ ー シ ョ ン [4]モ デ ル の 実 行 条 件 JSON 形 式 気 象 デ ー タ [5]JSON 形 式 結 果 デ ー タ 利 用 者 Web ブ ラ ウ ザ [6]出 力 形 式 [7]グ ラ フ 画 像 ・ 表 ・ XML・JSON デ ー タ [1]条 件 を 設 定 し て 実 行 [8]結 果 式 を Web ペ ー ジ に 表 示 結 果 デ ー タ の ダ ウ ン ロ ー ド 図 9 3 つのコンポーネントの Web API やライブラリを組み合わせたマッ シュアップの例 農業モデルアプリケーションの利用者が,[1]条件を設定して実行すると, アプリケーションは[2]必要な気象データを取得するための条件を Web APIのリクエストに設定して,[3]JSON 形式の気象データを取得する.[4] モデルの実行条件をパラメータに設定した Web API と[3]の気象データ で農業モデルを実行し,[5]JSON 形式の結果データを取得する.[5]の 結果データを,[6]出力形式を指定して,[7]出力する.[8]結果データ が Web ページに表示されるか,ダウンロードされる. 農業モデルアプリケーションで実行される処理 [2]http://.../met/data/json/amgsd/36.1,140.1/20180501-20181001/daily/at/ [4]http://.../model/rice/koshihikari/ +[3]を POST 送信 [6]http://.../output/chart/ +[5]を POST 送信
中 2007b,図 11)を利用できる.その他に,中部大学 が 開 発 し た Decision Support System for Agrotechnology Transfer(DSSAT)を Web API 経由で実行するサービス 等がある. 結果の視覚化には JAMF の出力機能を利用できる が,Chart.js や C3.js 等 の グ ラ フ 描 画 ラ イ ブ ラ リ や, DataTablesや Handsontable 等の表生成ライブラリなど, データを出力するための様々なライブラリが公開されて いるので,それらを利用できる.
2.標準化
新たな農業用アプリケーションを構築するためには, データやモデルなどのコンポーネントを結びつけられる ようにするため,データ表現形式(XML や JSON のスキー マ)や Web API の標準化(URL 構造,クエリパラメー タ名,パラメータのデータ形式等)が必要である(水野 2014). JAMFでは XML 形式を標準データとして,気象デー タ表現形式用 XML スキーマ metxml.xsd 等を提供してき た.しかし,データ量が少なく,処理時間が短い JSON 形式データが利用されることが多くなったため,コン ポーネント間のデータ交換には JSON 形式を利用する. また,農業版クラウドオープンプラットフォーム (CLOP)では,様々な標準化作業が進められている.さ らに,農業関係の Web サービス国際標準化のための W3C Agriculture Community Group(W3C 2014)が活動し ている.3.各コンポーネントの接続
ここでは,JAMF を利用して開発した 3 つのコンポー ネントを結び付けて,農業モデルアプリケーションを構 築する例を示す.JAMF で開発されていないコンポーネ ントを利用することも可能であるが,コンポーネント間 のデータ表現形式の変換処理が必要になる場合もある. 各コンポーネントの接続は,図 9 の農業モデルアプリ ケーションが行う.データ表現形式の変換処理が不要な 場合の最も単純な実装方法は,図 9 の説明の最後にある [2][4][6]の 3 つの処理を curl コマンド等で実行するこ とである.考察
JAMFにメッシュ農業気象データやアメダスからの気 象データ取得機能を扱えるようにしたため,MetBroker のサービス終了後も,既存の農業モデルを継続して利用 できている.JAMF の気象データ取得機能は,ユーザの リクエストに応じて気象データを気象データベースから 取得するだけの単純なものであるため,サーバやデータ ベースを利用していた MetBroker より効率の点で劣るこ とはあるが,維持の点では容易である.さらに,気象デー タのユーザは,JAMF の時系列出力機能により,XML, JSON,CSV,HTML 表,グラフ画像,KML による出力 が行える. アメダスには気象データを取得するための URL 構造 やデータ構造が変更され,データ取得機能が正常に働か なくなるという問題がある.それに対し,Web API が公 開され,出力データ形式が定まっているメッシュ農業気 象データには,このような問題は生じにくい.変更され るとしても事前に通知されるか,旧バージョンとしてし ばらく利用可能となることが多い. 気象データを農業モデルで利用する場合,基本的に メッシュ農業気象データを選択すればよい.理由の 1 点 目は,メッシュ農業気象データでは 1km 間隔のデータ を利用できることである.特に作物収量予測モデルで利 用される日射量は,アメダスでは国内で約 50 地点でし か提供されていない.2 点目は,26 日先までの予報値を 利用できることから,平年値を利用するよりモデルの予 測精度を向上できることである.しかし,メッシュ農業 気象データは日別値のみ提供しているため,主に時別値 を利用する病害虫発生予察モデルでは,三角法(坂神, 是永 1981)のような推定手法を利用しないのであれば, アメダスを選択することになる.また,取得する気象要 素数や期間の長さによっては,メッシュ農業気象データ の応答時間が長くなることがあるため,気象データを利 用するアプリケーションの性質によっては,アメダスが図 10 MetXML の Web API(URL パス形式)
アプリケーション名metに続くURLパスとして,出力データ形式,気象デー タベース,地点(領域),期間,観測間隔,気象要素が指定される.
図 11 作物生育予測モデルの Web API
アプリケーション名 modelに続くURL パスとして,農業モデル名,出力デー タ形式,気象データベース,地点(領域),移植日,品種が指定される.
適している. 近年は,Web アプリケーションよりも,スマホアプ リの躍進が著しい.Android 用のスマホアプリの開発言 語は Java であるため,気象データを取得したり,農業 モデルを実行したりするスマホアプリの開発に JAMF を 利用することができる.ただし,Android OS のバージョ ンによって,利用可能な API レベルが決まっているた め,レベルによっては,Java の新しい機能の一部がサ ポートされていない.2 年以内に購入されたスマホまで を対象にしたスマホアプリを開発する場合,2017 年 8 月にリリースされた Android 8.0 以上のシェアが 21.5%, 2016年 8 月にリリースされた Android 7.0 以上のシェア が 49.7 %(2018 年 10 月 時 点,Android Developers 2018) であることを考慮すると,最低バージョンを Android 7.0 に設定することになる.しかし,Android 7.0 では Java8 から導入された java.time パッケージの日付 API を利用 できず,初期から存在する java.util パッケージの Date や Calendar を利用するように書き換えなければならな いという問題が生じる.Android 8.0 以上を対象とする なら問題ないが,対象スマホが少なくなってしまう.こ の場合,JAMF を利用して開発した気象データ取得や農 業モデル実行の機能を Web API を経由で利用し,結果 データとして JSON 形式のデータを取得し,スマホアプ リのプログラムで利用すれば,問題を回避できる.さら に,Web API 経由での利用は,プログラミング言語を選 ばなくなるため,Swift や Objective-C が開発言語である iPhoneアプリ開発でも利用可能となる. JAMFの気象データ取得機能については,気候変動研 究のために農業モデルを国外の地点で実行するような場 合(Tanaka and Kiura 2015)に対応するため,国外の気 象データを扱う気象データベースに対応すべきだと考え ている.例えば,MetBroker 経由で利用していた NASA POWERの全球 1 度グリッドのデータが候補である. Web APIによる気象データ取得機能や,農業モデル実 行機能を公開するためには,ネットワークに公開された サーバ上で Web サービスを稼働させておかなければな らないが,外部に公開されたサーバの維持コストは高い. データ連携基盤でサービスを動かすことが一つの解決法 である.また,気象データ取得機能や,農業モデル実行 機能は Java サーブレットとして開発されていて,WAR (Web Application Archive)ファイルとして配布可能と なっている.WAR ファイルは,Apache Tomcat などの
Javaサーブレットコンテナの所定ディレクトリに配置す るのみで利用可能となる.ユーザのローカルなサーバで ユーザ専用の Web サービスとして稼働させることによ り,気象データ取得機能や農業モデル実行機能を Web API経由で利用するのが,もう一つの解決法と考えてい る.
謝辞
本研究成果である JAMF の気象データ取得機能は「農 研機構メッシュ農業気象データ(The Agro-Meteorological Grid Square Data, NIAES)」を利用している.利益相反の有無
すべての著者は開示すべき利益相反はない .引用文献
Android Developers (2018) Distribution dashbord. https://developer. android.com/about/dashboards/,2018 年 11 月 16 日参照. 気象庁(2002)アメダス,https://www.jma.go.jp/jp/amedas/,2018
年 11 月 16 日参照 .
気象庁(2018)気象庁ホームページについて.http://www.jma. go.jp/jma/kishou/info/coment.html,2018 年 11 月 16 日参照. Laurenson MR (2001) MetBroker Programmers Guide, 1-53. Laurenson MR, Kiura T and Ninomiya S (2002) Providing
Agricultural Models with Mediated Access to Heterogeneous Weather Databases. Applied Engineering in Agriculture, 18(5): 617-625. 水野貴明(2014)「WebAPI:TheGoodParts」,オライリー・ジャパン, 東京,288. NASA(1983)NASAPredictionofWorldwideEnergyResource (POWER)Project.https://power.larc.nasa.gov/,2018 年 11 月 16日参照. 二宮正士(2001)インターネット上の気象データの効率利用を 可能にする支援ソフト MetBroker.農林水産技術研究ジャー ナル,24(3):9-12. 農林水産省農林水産技術会議事務局(2007)データベース・モ デル協調システムの開発.研究成果,448:139. 大野宏之(2014)メッシュ農業気象データシステム.https:// amu.rd.naro.go.jp/,2018 年 11 月 16 日参照. 大野宏之(2017)メッシュ農業気象データ利用マニュアル 2017 年版.農業環境変動研究センター,1-67.
OpenWeatherMap (2012) Weather API. http://openweathermap.org/ api/,2018 年 11 月 16 日参照.
Patel A, Na L, Latih R, Wills C, Shukur Z and Mulla R (2010) A Study of Mashup as a Software Application Development Technique with Examples from an End-User Programming Perspective. Journal of Computer Science, 6(12): 1406-1415.
坂神泰輔,是永龍二(1981)有効積算温度の簡易な新算出法 “ 三角法 ”について.日本応用動物昆虫学会誌,25(1):
52-54.
田中 慶(2006)Java による作物生育・病害虫発生予測モデル 開発のためのフレームワーク.農業情報研究,15:183-194.
田中 慶(2007a)MetXML.http://150.26.155.180/met/(機構内の みアクセス可),2018 年 11 月 16 日参照. 田中 慶(2007b)作物生育予測モデル Web アプリケーション. http://150.26.155.180/model/(機構内のみアクセス可),2018 年 11 月 16 日参照. 田中 慶(2013)農業シミュレーションモデルにおける分散協 調システムのフレームワークに関する研究.中央農業総合 研究センター研究報告,20:1-115.
Tanaka K and Kiura T (2015) A Web Application to Estimate the
Climate Change Effects on Agriculture in Thailand. Journal of Agricultural Informatics, 6(4): 22-29.
W3C (2014) Agriculture Community Group. https://www.w3.org/ community/agri/,2018 年 11 月 16 日参照.
WAGRI (2017)農 業 デ ー タ プ ラ ッ ト ホ ー ム.https://wagri.net/, 2018年 11 月 16 日参照.
Wo rld We ather Online (2015) We ather API. http://www. worldweatheronline.com/developer/,2018 年 11 月 16 日参照.
Department of Innovative Engineering Research, Institute of Agricultural Machinery 1-31-1 Kannondai, Tsukuba, Ibaraki 305-0856, Japan
An Agro-Meteorological Grid Square Data System Enabled
Web Application for Agriculture and Its Web API
Kei Tanaka
(Received: Dec6, 2018/ Accepted: Feb12, 2019)
Summary
Recently, a lot of Web applications were developed by the technique called as mashup that combined several opened Web APIs of Web services. It is necessary to standardize the data representation form and design easily understandable Web API to combine data and an agricultural model including crop growth prediction model and pest forecasting model, when an agricultural application is constructed by using Web API. Therefore, JAMF became taking the place of weather database mediation service MetBroker that ended service, and the function to acquire meteorological data from Agro-Meteorological Grid Square Data (AMGSD) and Automated Meteorological Data Acquisition System (AMeDAS) has been implemented on it with Web API. Moreover, Web API function to execute agricultural models has been implemented.