全地連「技術フォーラム 2021」大阪

【999】
【028】

複数のプログラム言語を用いた地すべり監視システムの開発
株式会社藤井基礎設計事務所

1. はじめに
地すべり災害において、迅速な状況把握のための現地計測は、被害状況の把握、危機管理体制の構築、および新宮

直人

め、エラーが起きてもクラッシュしないプログラムの記述の為に Ruby を使用している。
② データ整形対策工の早期計画に重要な役割を果たす。そして近年、伸縮計の生値をグラフや警報メールに使用可能な形にIT 技術の発達により、地すべり観測においてもリアルタする。また AI による運動予測の為の整形作業は Python

イム観測技術の向上が可能となった。と C++を組み合わせて行っている。

当社では平成13年からインターネットによる観測を行③ 図化処理ってきた。そして、その観測機器と観測システムは自社図化処理にはライブラリの豊富な言語を使用していでの開発を継続している。自社開発では機器の開発と処る。Python はライブラリが豊富で最初は主に Python を理を行うプログラム開発が重要であった。私は入社して好んで使っていたが、Python はインタプリタ式の言語でまだ数年であるが、現在この地すべり観測システムの開あるため動作は遅く、システムにかかる負荷も大きい。

発に携わり、様々なプログラム開発を行っている。地すライブラリの自作やあるいはループの改善でかなり高速べり観測のそれぞれの場面でそれに適したプログラム開にもできるが、どうしても必要な場面では C++を使用し発を行っており、本稿ではそれを紹介する。ている。
④ 警報メールの発信

2. 地すべり観測の場面

伸縮計の現在の値が閾値を越えた場合に警報が流れる

図‐１は地すべり監視システムのフローである。地すようにしており、現場によって閾値の変更ができるようべり観測において、ここでは主に伸縮計観測を事例としにしている。警報はメール、Line、社内 SNS などで通知て観測システムの要素を以下に挙げる。

を行っている。

(1) 現場観測
センサーの値を観測し、それを蓄えたり、通信機器をつかって会社へ送信するシステムが必要であり、それは現場観測
センサー

通信機

省電力で長期観測に耐え、耐候性に優れている必要がある。
(2) サーバー側の処理
サーバーは Linux サーバーを使い、Http プロトコルやゲートウェイ装置ftp などでデータを受信し処理を行っている。サーバー側は、データの受信、データの保存、データによる図化、データ送信速度や変位の分析を行う。図化結果や分析結果は Web サーバーで公開する。また必要に応じて関係者に通知を行う。

社内処理(3) 関係者
平常時は専用サイトで地すべりを監視する。非常時に受信データは警報メールを受信し警戒体制をとる。

3. 必要な処理と開発言語(1) 現場観測
地すべりの変動を観測しており、ゲートウェイ装置と図化
警報システム・メール
整形 ・実測値グラフ・運動予測
・LINE(SNS)してアルマジロを使用している。
当社では数年前から mRubyC という組み込み用 Ruby 言語を使った観測機器を開発している。
(2) サーバー側の処理① データ受信

通知

公開

閲覧

関係者

HP(Web サーバー)

データ受信は Linux サーバーの機能を使って行っている。データを受信した際に破損している可能性があるた

図‐1 地すべり監視システム

全地連「技術フォーラム 2021」大阪【999】
4. 開発言語の特性および注意点ている。

地すべり監視システムにおいて、データ通信・図化や、Python の短所として、インタプリタ式である為、実行特に変位発生時の関係者への伝達といったものは高速で速度が遅いことが挙げられる。その為、C,C++で作成したある必要がある。その為、プログラムの実行・処理といライブラリを使うなどして速度面の改善を図る必要があった部分もそういった速さが重要視されており、様々なる。

言語の中から用途に適したものを選ばなければならない(4) Go(表‐1)。

Google が開発した比較的新しい言語である。

今回は実際の監視システムで使用しているプログラミ

長所として処理速度が速く、並列処理が容易であるこ

ング言語の長所と短所、具体的な使用例について述べてとが挙げられる。また、Windows と Linux などといったいく。

OS 間での移行も簡単なことから、社内ソフトなどの作成(1) mRubyCに活用しており、地すべり監視システムにおいて、LINEmRubyC とは、組み込みシステム向けの軽量な Ruby 言語であり、Ruby の様にコーディングをすることが可能となっている。などといった SNS の通知連動アプリを作成している。
短所としては、ライブラリが他の言語と比べて乏しく、計算処理部分などを自作する必要があることが挙げら

長所として、記述がしやすいこと、可読性が高いことれ、他の言語と比べるとまだまだ未熟な点も多い。

が挙げられる。その為、データ通信部分などといった今後も度々修正する可能性が高く複雑な処理を行う部分をライブラリで扱うことができる。

5. まとめ
今回の発表では地すべりの監視システムについて述べ短所としては、インタプリタ式である場合、実行速度てきた。自社開発のメリットとしては、警報にしても時が遅くなってしまうことが挙げられるが、数分ごとに実間何ミリか、月何ミリかといった様に発注者の注文に柔行する程度のものであれば遅さをそこまで感じることは軟に対応できることである。また、自社で作成したプロない。

グラム資産が蓄積されることで、今後の作業の効率化を(2) C・C++図ることができる。

C・C++言語の長所として処理速度が高速であることが

ただ、観測において、データの誤りは許されないこと挙げられる。その為、伸縮計・歪計などの観測を続けてや、サーバー内のデータを定期的にバックアップをとるいるうちに膨大になってくるデータの処理や整形に適しといった保守が必要になってくる。今後もインターネッている。また、OS の制御が簡単であることから、地すべ

ト観測を続けていくにあたって、こういった点に注意しりに動きがみられた際の関係者にメールを一斉送信させながら観測業務を行っていきたい。

る部分もこの言語で作成している。
短所としては、自由度が高いためにコーディングの際《引用・参考文献》に書き方を統一していないと可読性が低いものになって

1) 新宮直人 斉藤龍太 木村忍：「機械学習による地すべしまいがちで、第三者が修正を行う場合に時間がかかっりの崩壊予測プログラムの紹介」，全地連技術フォーてしまう可能性がある。

ラム論文集，論文 No.64，2019.9.

(3) Python

https://www.zenchiren.or.jp/e-Forum/2019/PDF/20

Python の長所として、豊富なライブラリがあることが19_064.pdf（最終閲覧日2021年6月4日）挙げられる。また、AI による予測などといったものを比2） プログラミング言語をいろんな視点で分類してみた

較的容易に行うことが可能であり、現在地すべりの崩壊

https://atmarksharp.v01.jp/posts/programming-

予測を行っている。また、地すべりデータの可視化としcompare.html（最終閲覧日2021年6月4日）て、図化を行う際、GNUPLOT と併用して Python を使用し表-1 プログラミング言語の使い分け
場所
現場

社内

項目
データ通信
データ送信
データ受信
データ整形
図化
速度の計算
警報メール配信
運動予測

目的
センサーデータの取得など
データを社内サーバーに転送する
現場から送信されたデータを受信する
CSV といった後処理しやすい形に整形する
伸縮計データと雨量データを読み込みグラフ化する
伸縮計の変位データから速度を計算する。
基準値を超えた場合、関係者へメールや LINE を行う
運動予測を行う

使用言語
mRubyCmRubyC
Shell,Ruby
C++
PythonC++
C++、GoPython