CodeZine(コードジン)

特集ページ一覧

Pythonを使って地理情報の分析・可視化をしてみよう~PyData.Tokyo Meetup #9イベントレポート

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2016/11/15 14:00

目次

Pythonライブラリを活用すれば地理情報データが簡単に扱える!?

 仙石さん曰く、地理情報データの解析では昔はベンダーが提供するツールが主に使われてきたのですが、ここ数年でその流れが急激に変わり、最近ではオープンソースのツールやライブラリが一気に整備され始めてきました。特に最近は地理情報データを利用するためのPython製のツールが数多く作られてきており、一通りの地理情報データ解析がPythonの環境で実行できるようになってきているとのことです。

 講演では、Python製のツールとしてGeoPandasやpyprojなどを紹介していただきました。

 GeoPandasとは、Pythonのデータ操作のライブラリであるPandasを拡張し、地理情報データを扱えるようにしたライブラリです。地理情報データ特有の処理をPandasの機能を利用して高速に操作できます。また、Jupyter Notebook上でGeoPandasを利用すれば、foliumなどの地図描画ライブラリと連携して地図上に地理情報データの可視化を簡単に実行できます。

 例えば、以下の図は品川区のAEDの設置場所をGeoPandasを利用して可視化したものです。

 まず、下記のコードでは上記のデモで利用するライブラリである、PandasとGeoPandasを呼び出した上で、Pandasを利用してCSVファイルを読み込んでいます。

 次にpandas.DataFrameのデータ形式をgeopandas.GeoDataFrame形式に変換します。具体的には緯度、経度カラムの値をGeoDataFrameのgeometoryに変換しています。

 最後にデータの可視化をします。今回可視化では、foliumライブラリを利用します。同ライブラリはLeaflet.jsのPythonラッパーであり、Leaflet.jsで作成される地図をPythonから制御できます。

 下記のコードは、先ほど変換したGeoDataFrameデータを用いてfoliumオブジェクトを生成し、地図データとして可視化する、という処理をしています。

 ここで注目すべき点としては、上記のことを実施するにあたって、必要なソースコードの量がわずか11行だけであるという点です。これだけの短いコードを実行するだけで地図データの読み込み、地図データの加工および地図データの描画までできてしまいます。

 この例からも分かる通り、Pythonは地理情報解析を扱う際に大変優れた環境であることが分かります。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:「PyData.Tokyo Meetup」イベントレポート

もっと読む

著者プロフィール

  • シバタアキラ(シバタ アキラ)

    データサイエンティスト@DataRobot, Inc. PyData.Tokyoオーガナイザー 人工知能を使ったデータ分析によるビジネス価値の創出が専門分野。物理学博士。NYU研究員時代にデータサイエンティストとして加速器データの統計モデル構築を行い「神の素粒子」ヒッグスボゾン発見に貢献...

  • 池内 孝啓(イケウチ タカヒロ)

    神奈川県横浜市出身。1984年生まれ。ソフトウェア開発会社、インフラサービス提供会社を経て2011年3月株式会社ALBERT入社。クラウドコンピューティングを活用したマーケティングプラットフォーム事業の立ち上げに携わる。2014年1月に同社執行役員に就任。2015年8月株式会社ユーリエを設立。同社代...

  • 山本 光穂(ヤマモト ミツオ)

    デンソーアイティーラボラトリ シニアエンジニア。 2006年デンソーアイティーラボラトリ入社以来、時空間情報閲覧サービス(製品名:今昔散歩)や情報検索等に関する研究に従事。特に最近はドライバーの意図推定技術や同推定結果に基づく最適な情報提示技術に興味を持つ。趣味はマウンテンバイクとイングレス(Re...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5