GISエンジニアに数学の知識は必要?

2,3日前から、TwitterのTLでちらほら見かけるプログラマー数学不要論に関する話題。この話題、定期的に論争が巻き起こりますね。今回はどこかの「プログラマーに数学を勉強しろと言ってくる奴は老害だ、縁を切れ」という趣旨の記事が炎上しているようです。

私は数学どころか国語も英語も必要だと思うし、プログラマー含め技術職は一生勉強し続ける必要があると考えていますが…そんなそもそも論はさておき、数学を理解していないと手を出せない領域、というのは存在します。
例えば、AI・機械学習やゲーム開発などがそうですね。そして、我々が得意とする地理情報システム(GIS)も数学知識が必要な分野の1つです。

ということで、今回はGIS開発で使われる数学を一部紹介してみたいと思います。

トポロジー

簡単に言えば、図形と図形の位置関係に関する演算です。地図には建物を表すポリゴン、道路を表すライン、位置情報を表すポイント、行政界を表すポリゴンなど様々図形データが含まれますが、GISを操作していると、これらの図形の位置関係を利用した演算が頻繁に発生します。例えば、建物間の距離を測ったり、あるエリア内に含まれるポイントの数を集計したりなどです。

様々な図形データトポロジーの知識を多用するのはGISならではかもしれません。

グラフ理論

カーナビやスマホの地図アプリによくある道案内機能は、グラフ理論における最短経路問題(ダイクストラ法など)がほぼそのまま活用されています。その他には物流の配送計画など、道路に関する問題の解決にはほぼ必ず必要になってきます。

統計/解析

データを地図にのせて何かを表現するときには、統計/解析の知識によってデータを加工したりします。

例えば、上のやるシカない!の画像はシカの出現確率を250mメッシュの色の濃淡で表現していますが、この出現確率の値はベイズ推定と呼ばれる方法論によって求めています。これは、シカの目撃情報、その土地の植生や地形、その他様々な要素をパラメータとした計算式を構築し、メッシュ単位で出現確率を算出しています。

所感

3つほど挙げてみましたが、数学知識という観点で改めて自社のプロダクトを見てみると、やはり至る所で数学が使われています。GISの裏側ではこれだけ数学が活用されているという事を知ってもらえると嬉しいです。

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA