LoginSignup
60
65

More than 5 years have passed since last update.

統計データを元に地図上で自治体を色分けする

Last updated at Posted at 2015-07-02

各種統計情報を可視化するために、行政区分ごとに整理し、地図上で色分けすることがある。その際に用いることのできるAPIはさまざまなものがあるが、ここではGoogle Charts APIのGeochartYahoo!スタティックマップAPIを紹介する。

なお、どちらも静的な地図イメージを生成するものであり、スクロールでの移動やズームなどの動的な地図を提供するものではない。そのような動的なサービスには、Google Maps APIYahoo!JavaScriptマップAPIが提供されている。

Google Charts API Geochart

Google Charts APIのGeochartで都道府県別に色分けをするのには次のように行う。

<html>
  <head>
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">
      google.load("visualization", "1", {packages:["geochart"]});
      google.setOnLoadCallback(drawRegionsMap);

      function drawRegionsMap() {

        var data = google.visualization.arrayToDataTable([
          ['Region', 'Data'],
          ['北海道', 5],
          ['青森', 12],
          ['岩手', 15],
          ['宮城', 8],
          ['秋田', 3],
          ['山形', 18],
          ['福島', 22],
          ['茨城', 67],
          ['栃木', 32],
          ['群馬', 17],
          ['埼玉', 67],
          ['千葉', 56],
          ['東京', 50],
          ['神奈川', 49],
          ['新潟', 89],
          ['富山', 92],
          ['石川', 93],
          ['福井', 90],
          ['山梨', 95],
          ['長野', 70],
          ['岐阜', 73],
          ['静岡', 75],
          ['愛知', 78],
          ['三重', 74],
          ['滋賀', 76],
          ['京都', 59],
          ['大阪', 60],
          ['兵庫', 49],
          ['奈良', 99],
          ['和歌山', 90],
          ['鳥取', 63],
          ['島根', 62],
          ['岡山', 61],
          ['広島', 79],
          ['山口', 60],
          ['徳島', 64],
          ['香川', 64],
          ['愛媛', 64],
          ['高知', 62],
          ['福岡', 71],
          ['佐賀', 63],
          ['長崎', 63],
          ['熊本', 53],
          ['大分', 53],
          ['宮崎', 53],
          ['鹿児島', 54],
          ['沖縄', 53]
        ]);

        var options = {
        region: 'JP',
        resolution: 'provinces',
        legend: 'none'
      };

        var chart = new google.visualization.GeoChart(document.getElementById('regions_div'));

        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div id="regions_div" style="width: 900px; height: 500px;"></div>
  </body>
</html>

以上の指定で次のような地図が作成できる。

スクリーンショット 2015-07-02 14.38.28.png

都道府県名の部分はJP-01の形式でも指定できる。"JP-"の後に都道府県コードを付加することで都道府県を指定できる。

また、色分け以外にも、マーカーを載せることもできる。
https://developers.google.com/chart/interactive/docs/gallery/geochart#marker-geocharts

Yahoo!スタティックマップAPI

Google Charts API Geochartでは都道府県単位でまでしか区分けが出来ないが、Yahoo!スタティックマップAPIを用いることで、市町村単位での区分けも簡単に行える。

例えば、次のようなコード(実際には1行)を実行すると、指定された神奈川県の一部の市町村を色分けすることができる。

http://map.olp.yahooapis.jp/OpenLocalPlatform/V1/static?
width=600&height=600&lat=35.4&lon=139.4&z=11&appid=アプリID
&mode=blankmap
&style=bm.p.14401:B0C4DE|
bm.p.14212:DCDCDC|
bm.p.14205:ADD8E6|
bm.p.14207:DCDCDC|
bm.p.14213:B0C4DE|
bm.p.14211:DCDCDC|
bm.p.14301:DCDCDC|
bm.p.14203:B0C4DE|
bm.p.14214:DCDCDC|
bm.p.14116:B0C4DE|
bm.p.14204:ADD8E6|
bm.p.14130:B0C4DE|
bm.p.14113:DCDCDC|
bm.p.14210:DCDCDC|
bm.p.14342:DCDCDC|
bm.p.14103:DCDCDC|
bm.p.14206:ADD8E6|
bm.p.14115:DCDCDC|
bm.p.14321:7FFFD4|
bm.p.14118:DCDCDC|
bm.p.14105:DCDCDC|
bm.p.14104:87CEFA|
bm.p.14101:DCDCDC|
bm.p.14117:DCDCDC|
bm.p.14102:B0C4DE|
bm.p.14108:ADD8E6|
bm.p.14100:DCDCDC|
bm.p.14110:DCDCDC|
bm.p.14201:B0C4DE

以上の指定で次のような地図が作成できる。

static.png

指定できるパラメーターについてはYahoo!スタティックマップAPIのリクエストパラメーター一覧を見て欲しい。

mode=blankmap で白地図となり、例のような色分けができるようになる。style=でポリゴンや境界線、背景、注記の色を指定できる。bm.p.{code}の形式でポリゴンの色を指定するが、ここでcode行政コードを使うことで、自治体を指定できる。

なお、Yahoo!スタティックマップAPIの利用にはアプリケーションIDの登録が必要である。登録はこちらから行う。

60
65
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
60
65